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