From f615ec5c9239327740948501627545f8e78e2a9e Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 18 三月 2025 09:07:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 63 ++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 18 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 092ec05..b5ab210 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,16 +7,13 @@ 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.account.api.model.BalanceChangeRecord; -import com.ruoyi.account.api.model.WithdrawalRequests; 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.security.service.TokenService; import com.ruoyi.other.api.domain.Shop; import com.ruoyi.other.api.domain.ShopBalanceStatement; import com.ruoyi.other.api.domain.ShopWithdraw; -import com.ruoyi.other.dto.ShopBalanceDto; import com.ruoyi.other.service.ShopBalanceStatementService; import com.ruoyi.other.service.ShopService; import com.ruoyi.other.service.ShopWithdrawService; @@ -134,36 +131,66 @@ LoginUser loginUser = tokenService.getLoginUser(); SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData(); Shop byId = shopService.getById(sysUser.getObjectId()); - List<ShopWithdraw> list = shopWithdrawService.lambdaQuery().eq(ShopWithdraw::getShopId, sysUser.getObjectId()) - .eq(ShopWithdraw::getAuditStatus, 0).list(); + List<ShopWithdraw> list = shopWithdrawService.lambdaQuery() + .eq(ShopWithdraw::getShopId, sysUser.getObjectId()) + .list(); + + if (!list.isEmpty()){ - BigDecimal bigDecimal = list.stream().map(ShopWithdraw::getMoney).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); + // 待审核列表 + List<ShopWithdraw> toBeReviewList = list.stream() + .filter(s -> s.getAuditStatus() == 0) + .collect(Collectors.toList()); + // 审核通过列表 + List<ShopWithdraw> passedReviewList = list.stream() + .filter(s -> s.getAuditStatus() == 1) + .collect(Collectors.toList()); + + BigDecimal bigDecimal = toBeReviewList.stream().map(ShopWithdraw::getMoney).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); byId.setWithdrawAuditMoney(bigDecimal); + + BigDecimal bigDecimal1 = passedReviewList.stream().map(ShopWithdraw::getMoney).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); + byId.setWithdrawMoney(bigDecimal1); }else { byId.setWithdrawAuditMoney(BigDecimal.ZERO); } - byId.setWithdrawMoney(byId.getWithdrawMoney().subtract(byId.getWithdrawAuditMoney())); return R.ok(byId); } @GetMapping("/shop/with") @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) public R shopwith(@RequestParam BigDecimal money){ - Long userid = tokenService.getLoginUser().getUserid(); - SysUser sysUser = sysUserClient.getSysUser(userid).getData(); - Integer objectId = sysUser.getObjectId(); - Shop shop = shopService.getById(objectId); + LoginUser loginUser = tokenService.getLoginUser(); + SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData(); + baseWithdrawalApplication(money, sysUser.getUserId(), sysUser.getObjectId()); + return R.ok(); + } + + /** + * 小程序端提现申请 + */ + @ApiOperation(value = "提现申请", notes = "提现申请", tags = {"小程序-个人中心-门店管理-门店钱包"}) + @GetMapping("/withdrawalApplication") + @ResponseBody + public R withdrawalApplication(@RequestParam BigDecimal money, @RequestParam Integer shopId) { + LoginUser loginUser = tokenService.getLoginUserApplet(); + baseWithdrawalApplication(money, loginUser.getUserid(), shopId); + return R.ok(); + } + + private void baseWithdrawalApplication(BigDecimal money, Long userId, Integer shopId) { + Shop shop = shopService.getById(shopId); if (money.compareTo(BigDecimal.ZERO)==0){ - return R.fail("提现金额必须大于零"); + throw new ServiceException("提现金额必须大于零"); } if (money.compareTo(shop.getCanWithdrawMoney())>0){ - return R.fail("提现金额不能大于可提现金额"); + throw new ServiceException("提现金额不能大于可提现金额"); } if(StringUtils.isEmpty(shop.getReceiverAccountNoEnc())){ - return R.fail("请完善账户信息后再申请提现!"); + throw new ServiceException("请完善账户信息后再申请提现!"); } ShopWithdraw shopWithdraw = new ShopWithdraw(); - shopWithdraw.setShopId(objectId); + shopWithdraw.setShopId(shopId); shopWithdraw.setMoney(money); shopWithdraw.setAuditStatus(0); shopWithdraw.setStatus(1); @@ -184,14 +211,14 @@ shopBalanceStatement.setHistoricalBalance(balance); shopBalanceStatement.setVariableAmount(money); shopBalanceStatement.setBalance(shop.getBalance()); - shopBalanceStatement.setCreateUserId(sysUser.getUserId()); + shopBalanceStatement.setCreateUserId(userId); shopBalanceStatement.setCreateTime(LocalDateTime.now()); shopBalanceStatement.setObjectId(shopWithdraw.getId()); shopBalanceStatementService.save(shopBalanceStatement); - return R.ok(); } + /** * 审核 */ -- Gitblit v1.7.1