Просмотр исходного кода

业务员提交提现申请后,剩余金额进行扣减后展示

lipf 3 месяцев назад
Родитель
Сommit
e256c87726

+ 3 - 2
commons/src/main/java/com/jzg/commons/entity/po/SysAmountAuditing.java

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.jzg.commons.core.base.BaseModel;
 import com.jzg.commons.entity.dto.ApplyWithdrawParam;
 import com.jzg.commons.entity.dto.SysUserJzgInfoBankCardDto;
+import com.jzg.commons.util.BigDecimalUtil;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -114,8 +115,8 @@ public class SysAmountAuditing extends BaseModel {
     ){
         // 提现金额
         this.setAmount(applyWithdrawParam.getWithdrawAmount());
-        // 当前账户金额 modify by lipf 2026年6月3日16:55:06 账户中剩余的金额。 该金额 是没有扣除当前提现金额的金额
-        this.setBalanceAmount(sysUserAccount.getSumAmountUnpaid());
+        // 当前账户金额 modify by lipf 2026年6月3日16:55:06 账户中剩余的金额。 该金额 是扣除当前提现金额的金额
+        this.setBalanceAmount(BigDecimalUtil.subtract(sysUserAccount.getSumAmountUnpaid(),applyWithdrawParam.getWithdrawAmount()));
         // 提现用户
         this.setUserId(userId);
         // 银行卡卡号

+ 8 - 0
commons/src/main/java/com/jzg/commons/entity/vo/AmountAuditVo.java

@@ -27,6 +27,14 @@ public class AmountAuditVo  extends BaseModel {
     @Schema(description = "sys_user_jzg_info的主键")
     private String userJzgInfoId;
 
+    @ExcelProperty("用户信息userId")
+    @Schema(description = "sys_user表的主键")
+    private String userId;
+
+    @ExcelProperty("租户代码")
+    @Schema(description = "租户代码")
+    private String systemCode;
+
     @ExcelProperty("业务员姓名")
     @Schema(description = "业务员姓名")
     private String name;

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysUserWalletVo.java

@@ -24,6 +24,9 @@ public class SysUserWalletVo {
     @Schema(description = "钱包余额")
     private BigDecimal walletBalance;
 
+    @Schema(description = "钱包余额(扣除冻结)")
+    private BigDecimal walletBalanceRemoveWithdraw;
+
     @Schema(description = "提现中金额")
     private BigDecimal withdrawingBalance;
 

+ 5 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserAccountServiceImpl.java

@@ -13,6 +13,7 @@ import com.jzg.commons.entity.vo.IncomeAndExpenseVo;
 import com.jzg.commons.entity.vo.SysUserAccountVo;
 import com.jzg.commons.entity.vo.SysUserWalletVo;
 import com.jzg.commons.entity.vo.UserAccountStatisVo;
+import com.jzg.commons.util.BigDecimalUtil;
 import com.jzg.organization.client.QuoteClient;
 import com.jzg.organization.mapper.SysUserAccountMapper;
 import com.jzg.organization.service.*;
@@ -128,12 +129,15 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         sysUserWalletVo.setWalletBalance(sysUserAccount.getSumAmountUnpaid());
         List<SysAmountAuditing> sysAmountAuditingList = sysAmountAuditingService
                 .list(new LambdaQueryWrapper<SysAmountAuditing>()
-                        .eq(SysAmountAuditing::getUserId, sysUser.getId()).eq(SysAmountAuditing::getAuditingStatus, 0));
+                        .eq(SysAmountAuditing::getUserId, sysUser.getId())
+                        .eq(SysAmountAuditing::getSystemCode,sysUserJzgInfo.getSystemCode())
+                        .eq(SysAmountAuditing::getAuditingStatus, 0));
         BigDecimal withdrawingBalance = BigDecimal.ZERO;
         for (SysAmountAuditing sysAmountAuditing : sysAmountAuditingList) {
             withdrawingBalance = withdrawingBalance.add(sysAmountAuditing.getAmount());
         }
         sysUserWalletVo.setWithdrawingBalance(withdrawingBalance);
+        sysUserWalletVo.setWalletBalanceRemoveWithdraw(BigDecimalUtil.subtract(sysUserAccount.getSumAmountUnpaid(),withdrawingBalance));
         sysUserWalletVo.setIntegral(sysUserAccount.getIntegral());
         InsFeeOrdersParam param = new InsFeeOrdersParam();
         param.setUserId(sysUserJzgInfo.getUserId());

+ 2 - 0
tenant/organization/src/main/resources/mapper/SysAmountAuditingMapper.xml

@@ -162,6 +162,8 @@
         saa.bank_card_num AS bankCardNum,
         saa.bank_name AS bankName,
         saa.bank_num AS bankNum,
+        saa.user_id,
+        saa.system_code,
         saa.auditing_time
         FROM sys_amount_auditing saa
         LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0