From d21b473a1a9ecae5c6e98e849eaa491ccb4c845b Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 08 十一月 2024 14:03:44 +0800
Subject: [PATCH] add:钱包功能调整1108

---
 src/main/java/com/mzl/flower/mapper/wallet/WalletBillRecordMapper.java                |    2 +-
 src/main/java/com/mzl/flower/dto/response/wallet/WalletWithdrawRecordVO.java          |    3 +++
 src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java |    4 ++++
 src/main/resources/mapper/wallet/WalletBillRecordMapper.xml                           |   12 ++++++++----
 src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java              |    3 +++
 src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java     |   18 +++++++++++++-----
 src/main/resources/mapper/wallet/WalletWithdrawRecordMapper.xml                       |    3 ++-
 src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java                    |    7 +++++++
 8 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java b/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java
index d3a7d17..3dca633 100644
--- a/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java
@@ -76,4 +76,7 @@
     @ApiModelProperty(value = "账单提现类型名称(发起提现、提现失败、提现成功)")
     private String withdrawTypeName;
 
+    @ApiModelProperty(value = "操作人")
+    private String approveName;
+
 }
diff --git a/src/main/java/com/mzl/flower/dto/response/wallet/WalletWithdrawRecordVO.java b/src/main/java/com/mzl/flower/dto/response/wallet/WalletWithdrawRecordVO.java
index bcdaf8c..64f50e1 100644
--- a/src/main/java/com/mzl/flower/dto/response/wallet/WalletWithdrawRecordVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/wallet/WalletWithdrawRecordVO.java
@@ -68,4 +68,7 @@
 
     @ApiModelProperty("更新人")
     private String updateBy;
+
+    @ApiModelProperty(value = "审核人")
+    private String approveName;
 }
diff --git a/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java b/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java
index 684439d..938737f 100644
--- a/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java
+++ b/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java
@@ -1,6 +1,7 @@
 package com.mzl.flower.entity.wallet;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.mzl.flower.base.BaseEntity;
@@ -79,4 +80,10 @@
     @ApiModelProperty(value = "实际转账金额")
     private BigDecimal actualTransferAmount;
 
+    @ApiModelProperty(value = "审核操作人")
+    private String approveBy;
+
+    @ApiModelProperty(value = "操作时间")
+    private LocalDateTime approveTime;
+
 }
diff --git a/src/main/java/com/mzl/flower/mapper/wallet/WalletBillRecordMapper.java b/src/main/java/com/mzl/flower/mapper/wallet/WalletBillRecordMapper.java
index 069bc6f..b599c4b 100644
--- a/src/main/java/com/mzl/flower/mapper/wallet/WalletBillRecordMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/wallet/WalletBillRecordMapper.java
@@ -31,7 +31,7 @@
     List<WalletBillRecordVO> getPageByDesc(Page page, @Param("dto") QueryWalletBillDTO dto);
 
 
-    @Select("select * from t_wallet_withdraw_record where withdraw_record_id  = #{withdrawRecordId}")
+    @Select("select * from t_wallet_bill_record where withdraw_record_id  = #{withdrawRecordId}")
     WalletBillRecordDO getBillRecordByWithdrawRecordId(Long withdrawRecordId);
 
 }
diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
index 948c25c..f878321 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
@@ -35,6 +35,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -166,10 +167,12 @@
                                 walletBillRecordDO2.setChangeAmount(walletBillRecordDO.getActualTransferAmount());
                                 walletBillRecordDO2.setBalance(walletDO.getWithdrawableAmount().add(walletBillRecordDO.getActualTransferAmount()));
                                 walletBillRecordDO2.create(SecurityUtils.getUserId());
-                                walletBillRecordDO.setId(UUIDGenerator.getUUID());
-                                walletBillRecordDO.setRemark("微信商户转账失败,余额返还钱包");
+                                walletBillRecordDO2.setId(UUIDGenerator.getUUID());
+                                walletBillRecordDO2.setRemark("微信商户转账失败,余额返还钱包");
+                                walletBillRecordDO2.setApproveBy("sys");
+                                walletBillRecordDO2.setApproveTime(LocalDateTime.now());
                                 // 保存账单明细
-                                walletBillRecordService.save(walletBillRecordDO);
+                                walletBillRecordService.save(walletBillRecordDO2);
                                 //提现中金额:减少提现中金额
                                 walletDO.setWithdrawingAmount(walletDO.getWithdrawingAmount().subtract(walletBillRecordDO.getActualTransferAmount()));
                                 //可提现金额:增加可提现金额
@@ -205,7 +208,7 @@
     public void exportSupplierFinanceList(HttpServletResponse response, QueryWalletBillRecordDTO queryWalletBillRecordDTO) {
 
         List<WalletBillRecordVO> list = walletBillRecordMapper.queryWalletBillRecordList(queryWalletBillRecordDTO);
-        String[] rowsName = new String[]{"序号","供应商信息", "变动类型", "原金额", "变动金额", "现余额", "提交时间", "审核时间", "备注"};
+        String[] rowsName = new String[]{"序号","供应商信息", "变动类型", "原金额", "变动金额", "现余额", "提交时间", "审核时间", "备注", "操作人"};
         List<Object[]> dataList = new ArrayList<>();
         int sn = 1;
         for (WalletBillRecordVO o : list) {
@@ -215,11 +218,16 @@
             objs[a++] = o.getSupplierName()+":"+o.getSupplierId(); // 供应商信息
             objs[a++] = o.getTypeName(); // 变动类型
             objs[a++] = o.getOriginalAmount(); // 原金额
-            objs[a++] = o.getChangeAmount(); // 变动金额
+            if (Constants.BILL_CHANGE_METHOD.reduce.name().equals(o.getMethod())) {
+                objs[a++] = "-" + o.getChangeAmount(); // 变动金额
+            } else {
+                objs[a++] = "+" + o.getChangeAmount(); // 变动金额
+            }
             objs[a++] = o.getBalance(); //现余额
             objs[a++] = o.getCreateTime();//提交时间
             objs[a++] = o.getApproveTime(); // 审核时间
             objs[a++] = o.getRemark(); //备注
+            objs[a++] = o.getApproveName(); //操作人
             dataList.add(objs);
             sn++;
         }
diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
index 2e6110f..d5b8fef 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
@@ -299,6 +299,8 @@
                                         walletBillRecordDO.setRemark("微信商户转账中");
                                         walletBillRecordDO.setActualTransferAmount(withdrawAmount);
                                         walletBillRecordDO.setId(UUIDGenerator.getUUID());
+                                        walletBillRecordDO.setApproveBy(SecurityUtils.getUserId());
+                                        walletBillRecordDO.setApproveTime(LocalDateTime.now());
                                         walletBillRecordService.updateById(walletBillRecordDO);
 //                                        walletBillRecordMapper.insert(walletBillRecordDO);
                                         //不需要更新结算单了,此时提现的金额和计算单上的金额不一致
@@ -344,6 +346,8 @@
                             walletBillRecordDO.create(SecurityUtils.getUserId());
                             walletBillRecordDO.setId(UUIDGenerator.getUUID());
                             walletBillRecordDO.setRemark("平台审核拒绝,余额返还钱包");
+                            walletBillRecordDO.setApproveBy("sys");
+                            walletBillRecordDO.setApproveTime(LocalDateTime.now());
                             // 保存账单明细
                             walletBillRecordService.save(walletBillRecordDO);
 
diff --git a/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml b/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml
index b19ed5b..5397612 100644
--- a/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml
+++ b/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml
@@ -26,8 +26,9 @@
         <result column="open_id" property="openId" />
     </resultMap>
     <select id="getPage" resultType="com.mzl.flower.dto.response.wallet.WalletBillRecordVO">
-        select *
+        select wbr.*, u.nick_name AS approveName
         from t_wallet_bill_record wbr
+        LEFT JOIN t_user u ON wbr.approve_by = u.id
         where wbr.DELETED=0
         <if test="dto.supplierId != null and dto.supplierId != ''">
             and wbr.supplier_id= #{dto.supplierId}
@@ -42,8 +43,9 @@
     </select>
 
     <select id="getPageByDesc" resultType="com.mzl.flower.dto.response.wallet.WalletBillRecordVO">
-        select *
+        select wbr.*, u.nick_name AS approveName
         from t_wallet_bill_record wbr
+        LEFT JOIN t_user u ON wbr.approve_by = u.id
         where wbr.DELETED=0
         <if test="dto.supplierId != null and dto.supplierId != ''">
             and wbr.supplier_id= #{dto.supplierId}
@@ -57,9 +59,10 @@
         order by wbr.create_time desc
     </select>
     <select id="queryPage" resultType="com.mzl.flower.dto.response.wallet.WalletBillRecordVO">
-        select t.* ,s.name supplierName ,w.approve_time as approveTime  from t_wallet_bill_record t
+        select t.* ,s.name supplierName ,w.approve_time as approveTime ,u.nick_name AS approveName from t_wallet_bill_record t
         left join t_supplier_info s on t.supplier_id = s.id
         left join t_wallet_withdraw_record w on t.withdraw_record_id = w.id
+        LEFT JOIN t_user u ON t.approve_by = u.id
         where t.deleted= 0
         <if test="dto.supplierName != null and dto.supplierName != ''">
             and s.name like concat('%', #{dto.supplierName}, '%')
@@ -89,9 +92,10 @@
     </select>
 
     <select id="queryWalletBillRecordList" resultType="com.mzl.flower.dto.response.wallet.WalletBillRecordVO">
-        select t.* , s.name supplierName, w.approve_time as approveTime from t_wallet_bill_record t
+        select t.* , s.name supplierName, w.approve_time as approveTime, u.nick_name AS approveName from t_wallet_bill_record t
         left join t_supplier_info s on t.supplier_id = s.id
         left join t_wallet_withdraw_record w on t.withdraw_record_id = w.id
+        LEFT JOIN t_user u ON t.approve_by = u.id
         where t.deleted= 0
         <if test="dto.supplierName != null and dto.supplierName != ''">
             and s.name like concat('%', #{dto.supplierName}, '%')
diff --git a/src/main/resources/mapper/wallet/WalletWithdrawRecordMapper.xml b/src/main/resources/mapper/wallet/WalletWithdrawRecordMapper.xml
index f840ba2..1adafd6 100644
--- a/src/main/resources/mapper/wallet/WalletWithdrawRecordMapper.xml
+++ b/src/main/resources/mapper/wallet/WalletWithdrawRecordMapper.xml
@@ -21,8 +21,9 @@
         <result column="reject_reason" property="rejectReason" />
     </resultMap>
     <select id="queryPage" resultType="com.mzl.flower.dto.response.wallet.WalletWithdrawRecordVO">
-        select t.* ,s.name supplierName from t_wallet_withdraw_record t
+        select t.* ,s.name supplierName , u.nick_name AS approveName from t_wallet_withdraw_record t
         left join t_supplier_info s on t.supplier_id = s.id
+        LEFT JOIN t_user u ON t.approve_by = u.id
         where t.deleted= 0
         <if test="dto.supplierName != null and dto.supplierName != ''">
             and s.name like concat('%', #{dto.supplierName}, '%')

--
Gitblit v1.9.3