From 1205db4e3dc20905a7e52aa05c2670f98cb51a38 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 14 一月 2025 15:19:38 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 37 +++++++++++++++++++++++++++++++------ 1 files changed, 31 insertions(+), 6 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 3e68440..be86361 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 @@ -26,10 +26,12 @@ import com.ruoyi.other.util.payment.model.SinglePayCallbackResult; import com.ruoyi.other.util.payment.model.SinglePayResult; import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -65,6 +67,9 @@ @Resource private AppUserClient appUserClient; + + @Resource + private SysUserClient sysUserClient; @@ -77,8 +82,13 @@ public R<IPage<ShopWithdraw>> list(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("每一页数据大小") Integer pageSize, ShopWithdraw shopWithdraw) { - List<Shop> list = shopService.list(new LambdaUpdateWrapper<Shop>().like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), Shop::getName, shopWithdraw.getShopName()).eq(Shop::getDelFlag, 0)); + List<Shop> list = shopService.list(new LambdaUpdateWrapper<Shop>() + .like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), Shop::getName, shopWithdraw.getShopName()) + .eq(Shop::getDelFlag, 0)); List<Integer> collect1 = list.stream().map(Shop::getId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(collect1)){ + return R.ok(Page.of(pageNum, pageSize)); + } Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>() .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1)); List<ShopWithdraw> records = page.getRecords(); @@ -88,10 +98,11 @@ shops = shopService.listByIds(collect); } for(ShopWithdraw item : records){ - Optional<Shop> first = shops.stream().filter(s -> s.getId().equals(item.getId())).findFirst(); + Optional<Shop> first = shops.stream().filter(s -> s.getId().equals(item.getShopId())).findFirst(); if(first.isPresent()){ item.setShopName(first.get().getName()); } + item.setIdStr(item.getId().toString()); } return R.ok(page); } @@ -107,6 +118,7 @@ .eq(shopWithdraw.getAuditStatus()!=null,ShopWithdraw::getAuditStatus,shopWithdraw.getAuditStatus()) .orderByDesc(ShopWithdraw::getCreateTime) ); + page.getRecords().forEach(s->s.setIdStr(s.getId().toString())); return R.ok(page); } @@ -115,15 +127,27 @@ public R<Shop> shopCommissionStatisticsinfo(){ Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); Shop byId = shopService.getById(objectId); + List<ShopWithdraw> list = shopWithdrawService.lambdaQuery().eq(ShopWithdraw::getShopId, objectId) + .eq(ShopWithdraw::getAuditStatus, 0).list(); + if (!list.isEmpty()){ + BigDecimal bigDecimal = list.stream().map(ShopWithdraw::getMoney).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); + byId.setWithdrawAuditMoney(bigDecimal); + }else { + byId.setWithdrawAuditMoney(BigDecimal.ZERO); + } return R.ok(byId); } @GetMapping("/shop/with") @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) public R shopwith(@RequestParam BigDecimal money){ - SysUser sysUser = tokenService.getLoginUser().getSysUser(); + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserClient.getSysUser(userid).getData(); Integer objectId = sysUser.getObjectId(); Shop shop = shopService.getById(objectId); + if (money.compareTo(BigDecimal.ZERO)==0){ + return R.fail("提现金额必须大于零"); + } if (money.compareTo(shop.getCanWithdrawMoney())>0){ return R.fail("提现金额不能大于可提现金额"); } @@ -135,6 +159,7 @@ shopWithdraw.setMoney(money); shopWithdraw.setAuditStatus(0); shopWithdraw.setStatus(1); + shopWithdraw.setCreateTime(LocalDateTime.now()); shopWithdrawService.save(shopWithdraw); //扣除账户余额及添加变动明细 BigDecimal balance = shop.getBalance(); @@ -179,12 +204,12 @@ return R.fail("查询账户余额出错"); } Double useAbleSettAmount = accountBalanceQueryResult.getUseAbleSettAmount(); - if(useAbleSettAmount < shopWithdraw1.getMoney().doubleValue()){ + if(useAbleSettAmount < (shopWithdraw1.getMoney().doubleValue() + 1)){ return R.fail("账户可用余额不足,请先补充账户余额"); } //银行卡转账 SinglePay singlePay = new SinglePay(); - singlePay.setTradeMerchantNo(""); + singlePay.setTradeMerchantNo(TransferUtil.sysTradeMerchantNo); singlePay.setMerchantOrderNo(shopWithdraw1.getId().toString()); singlePay.setReceiverAccountNoEnc(shop.getReceiverAccountNoEnc()); singlePay.setReceiverNameEnc(shop.getReceiverNameEnc()); @@ -238,7 +263,7 @@ @PostMapping("/withdrawalCallback") public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ Integer status = singlePayCallbackResult.getStatus(); - if(203 == status){ + if(203 == status || 205 == status){ String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); if(1 == shopWithdraw.getStatus()){ -- Gitblit v1.7.1