From 34f741f39e22bf48df33321230380b40c23110c3 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 18 四月 2025 21:34:13 +0800 Subject: [PATCH] 店铺、积分、订单 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 66 +++++++++++++++++++++++---------- 1 files changed, 46 insertions(+), 20 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java index ba52569..dd74416 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java @@ -7,9 +7,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.model.AppUser; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.other.api.domain.Shop; import com.ruoyi.other.api.domain.ShopBalanceStatement; @@ -110,21 +112,29 @@ } @GetMapping("/shop/list") - @ApiOperation(value = "提现申请列表", notes = "提现申请列表", tags = {"门店后台"}) + @ApiOperation(value = "提现申请列表", notes = "提现申请列表", tags = {"门店后台","后台"}) public R<IPage<ShopWithdraw>> shoplist(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("每一页数据大小") Integer pageSize, @ApiParam("门店id")Integer shopId, + @ApiParam("手机号") String phone, @ApiParam("审核状态(0=待审核,1=审核通过,2=审核失败)")Integer auditStatus) { - Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>() - .eq(ShopWithdraw::getShopId,shopId) - .eq(auditStatus!=null,ShopWithdraw::getAuditStatus,auditStatus) - .orderByDesc(ShopWithdraw::getCreateTime) - ); - //添加转账的银行卡号和账户姓名 - List<ShopWithdraw> records = page.getRecords(); - for (ShopWithdraw record : records) { - + //模糊查询手机号 + List<Long> collect=null; + if (StringUtils.isNotEmpty(phone)) { + List<AppUser> data = appUserClient.getAppUserByPhoneNoFilter(phone).getData(); + collect = data.stream().map(AppUser::getId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(collect)) { + return R.ok(new PageInfo<>()); + } } + + Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>() + .eq(shopId!=null,ShopWithdraw::getShopId,shopId) + .eq(auditStatus!=null,ShopWithdraw::getAuditStatus,auditStatus) + .in(collect!=null,ShopWithdraw::getCreateUserId,collect) + .orderByDesc(ShopWithdraw::getCreateTime) + + ); return R.ok(page); } @@ -163,7 +173,7 @@ */ @GetMapping("/shop/with") - @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) + @ApiOperation(value = "提现申请", notes = "提现申请", tags = {"门店后台"}) public R shopwith(@RequestParam BigDecimal money){ LoginUser loginUser = tokenService.getLoginUser(); SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData(); @@ -238,7 +248,7 @@ * 审核 */ @PostMapping("/audit") - @ApiOperation("审核") + @ApiOperation("提现审核") public R<Void> audit(@RequestBody ShopWithdraw shopWithdraw) { LoginUser loginUser = tokenService.getLoginUser(); @@ -249,6 +259,7 @@ Shop shop = shopService.getById(shopWithdraw1.getShopId()); BigDecimal money = shopWithdraw1.getMoney(); if(1 == shopWithdraw.getAuditStatus()){ + //通过 //先检查账户余额是否充足 AccountBalanceQueryResult accountBalanceQueryResult = TransferUtil.accountBalanceQuery(); if(null == accountBalanceQueryResult){ @@ -277,13 +288,15 @@ shopWithdraw1.setStatus(1); } if(2 == shopWithdraw.getAuditStatus()){ + //审核不通过 //回退金额和添加变动明细 BigDecimal balance = shop.getBalance(); BigDecimal canWithdrawMoney = shop.getCanWithdrawMoney(); - BigDecimal withdrawMoney = shop.getWithdrawMoney(); + BigDecimal withdrawAuditMoney = shop.getWithdrawAuditMoney(); shop.setBalance(balance.add(money).setScale(2, RoundingMode.HALF_EVEN)); shop.setCanWithdrawMoney(canWithdrawMoney.add(money).setScale(2, RoundingMode.HALF_EVEN)); - shop.setWithdrawMoney(withdrawMoney.subtract(money).setScale(2, RoundingMode.HALF_EVEN)); + //审核中的金额减少 + shop.setWithdrawAuditMoney(withdrawAuditMoney.subtract(money).setScale(2, RoundingMode.HALF_EVEN)); shopService.updateById(shop); //添加门店变动明细 ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); @@ -297,6 +310,8 @@ shopBalanceStatement.setObjectId(shopWithdraw.getId()); shopBalanceStatementService.save(shopBalanceStatement); } + + shopWithdraw1.setAuditStatus(shopWithdraw.getAuditStatus()); shopWithdraw1.setAuditUserId(loginUser.getUserid()); shopWithdraw1.setAuditTime(LocalDateTime.now()); @@ -304,7 +319,7 @@ shopWithdrawService.updateById(shopWithdraw1); return R.ok(); } - + /** @@ -318,35 +333,46 @@ String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); if(203 == status || 205 == status){ + //到账 if(1 == shopWithdraw.getStatus()){ shopWithdraw.setStatus(2); shopWithdraw.setArrivalTime(LocalDateTime.now()); shopWithdrawService.updateById(shopWithdraw); } + //更新店铺审核中的金额,和提现金额 + Shop shop = shopService.getById(shopWithdraw.getShopId()); + shop.setWithdrawAuditMoney(shop.getWithdrawAuditMoney().subtract(shopWithdraw.getMoney()));//审核中金额 + shop.setWithdrawMoney(shop.getWithdrawMoney().add(shopWithdraw.getMoney()));//提现金额 + shopService.updateById(shop); + JSONObject jsonObject = new JSONObject(); jsonObject.put("statusCode", 2001); return jsonObject; }else{ //回退金额和添加变动明细 + BigDecimal money = shopWithdraw.getMoney().setScale(2, RoundingMode.HALF_EVEN); Shop shop = shopService.getById(shopWithdraw.getShopId()); BigDecimal balance = shop.getBalance(); BigDecimal canWithdrawMoney = shop.getCanWithdrawMoney(); - BigDecimal withdrawMoney = shop.getWithdrawMoney(); - shop.setBalance(balance.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); - shop.setCanWithdrawMoney(canWithdrawMoney.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); - shop.setWithdrawMoney(withdrawMoney.subtract(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); + BigDecimal withdrawAuditMoney = shop.getWithdrawAuditMoney(); + shop.setBalance(balance.add(money).setScale(2, RoundingMode.HALF_EVEN)); + shop.setCanWithdrawMoney(canWithdrawMoney.add(money).setScale(2, RoundingMode.HALF_EVEN)); + //审核中的金额减少 + shop.setWithdrawAuditMoney(withdrawAuditMoney.subtract(money).setScale(2, RoundingMode.HALF_EVEN)); shopService.updateById(shop); //添加门店变动明细 ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); shopBalanceStatement.setShopId(shop.getId()); shopBalanceStatement.setType(4); shopBalanceStatement.setHistoricalBalance(balance); - shopBalanceStatement.setVariableAmount(shopWithdraw.getMoney()); + shopBalanceStatement.setVariableAmount(money); shopBalanceStatement.setBalance(shop.getBalance()); shopBalanceStatement.setCreateUserId(shopWithdraw.getAuditUserId()); shopBalanceStatement.setCreateTime(LocalDateTime.now()); shopBalanceStatement.setObjectId(shopWithdraw.getId()); shopBalanceStatementService.save(shopBalanceStatement); + + shopWithdraw.setStatus(3); shopWithdraw.setRemark(singlePayCallbackResult.getErrorCodeDesc()); shopWithdrawService.updateById(shopWithdraw); -- Gitblit v1.7.1