Bladeren bron

no message

FengChaoYu 5 dagen geleden
bovenliggende
commit
fb38672886

+ 10 - 3
mall-server-api/src/main/java/com/gree/mall/manager/bean/supply/funds/CompanyWalletBalanceDTO.java

@@ -6,6 +6,8 @@ import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.plus.entity.AdminCompanyRebateAcc;
 import com.gree.mall.manager.plus.entity.AdminCompanyWalletAcc;
 import com.gree.mall.manager.plus.entity.AdminCompanyWalletBalance;
+import com.gree.mall.manager.plus.service.RebateTypeService;
+import com.gree.mall.manager.plus.service.WalletService;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -70,14 +72,19 @@ public class CompanyWalletBalanceDTO {
     }
 
     public void computeCompanyWalletBalance(AdminCompanyWalletBalance walletBalance, List<AdminCompanyWalletAcc> walletAccList,
-                                            List<AdminCompanyRebateAcc> rebateAccList) {
+                                            List<AdminCompanyRebateAcc> rebateAccList, WalletService walletService, RebateTypeService rebateTypeService) {
         BigDecimal balance = walletBalance.getBalance();
 
         BigDecimal direct = this.directFlag.equals(DirectFlagEnum.ADD.getKey()) ? BigDecimal.ONE : new BigDecimal("-1");
         BigDecimal closeBalance = balance.add(this.changeAmount.multiply(direct));
         if (closeBalance.compareTo(BigDecimal.ZERO) < 0 && direct.compareTo(BigDecimal.ZERO) < 0) {
-            String walletName = this.walletType.equals(BalanceTypeEnum.W.getKey()) ? BalanceTypeEnum.W.getRemark() : BalanceTypeEnum.R.getRemark();
-            throw new RemoteServiceException("\""+ companyName + walletName + "\"不允许为负" + this.walletId);
+            String walletName;
+            if (this.walletType.equals(BalanceTypeEnum.W.getKey())) {
+                walletName = walletService.getById(this.walletId).getName();
+            } else {
+                walletName = rebateTypeService.getById(this.walletId).getName();
+            }
+            throw new RemoteServiceException(String.format("\"(%s) %s\"金额不够", companyName, walletName));
         }
 
         if (this.walletType.equals(BalanceTypeEnum.W.getKey())) {

+ 4 - 4
mall-server-api/src/main/java/com/gree/mall/manager/logic/supply/funds/CompanyWalletBalanceLogic.java

@@ -8,9 +8,7 @@ import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.plus.entity.AdminCompanyRebateAcc;
 import com.gree.mall.manager.plus.entity.AdminCompanyWalletAcc;
 import com.gree.mall.manager.plus.entity.AdminCompanyWalletBalance;
-import com.gree.mall.manager.plus.service.AdminCompanyRebateAccService;
-import com.gree.mall.manager.plus.service.AdminCompanyWalletAccService;
-import com.gree.mall.manager.plus.service.AdminCompanyWalletBalanceService;
+import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.utils.ValidateUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -40,6 +38,8 @@ public class CompanyWalletBalanceLogic {
     private final AdminCompanyWalletBalanceService adminCompanyWalletBalanceService;
     private final AdminCompanyWalletAccService adminCompanyWalletAccService;
     private final AdminCompanyRebateAccService adminCompanyRebateAccService;
+    private final WalletService walletService;
+    private final RebateTypeService rebateTypeService;
 
     /**
      * 单个商户钱包处理
@@ -108,7 +108,7 @@ public class CompanyWalletBalanceLogic {
                                              List<AdminCompanyWalletAcc> walletAccList, List<AdminCompanyRebateAcc> rebateAccList) {
         for (CompanyWalletBalanceDTO walletBalanceDTO : walletList) {
             AdminCompanyWalletBalance walletBalance = walletBalanceMap.get(walletBalanceDTO.getWalletId());
-            walletBalanceDTO.computeCompanyWalletBalance(walletBalance, walletAccList, rebateAccList);
+            walletBalanceDTO.computeCompanyWalletBalance(walletBalance, walletAccList, rebateAccList, walletService, rebateTypeService);
         }
     }
 

+ 7 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/supply/order/RetailOrderLogic.java

@@ -1,6 +1,7 @@
 package com.gree.mall.manager.logic.supply.order;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
@@ -496,12 +497,13 @@ public class RetailOrderLogic {
         if (!retailOrder.getExamineStatus().equals(ExamineStatusEnum.SAVE.toString())) {
             throw new RemoteServiceException("请勿重复提审");
         }
+        DateTime curDate = DateUtil.date();
         if (retailOrder.getType() == 2) {
             Policy policy = policyLogic.detail(retailOrder.getPolicyId());
             if (Objects.isNull(policy)
                     || policy.getStatus().equals(StateEnum.OFF.getKey())
-                    || policy.getEndTime().getTime() < new Date().getTime()
-                    || policy.getStartTime().getTime() > new Date().getTime()) {
+                    || policy.getEndTime().getTime() < curDate.getTime()
+                    || policy.getStartTime().getTime() > curDate.getTime()) {
                 throw new RemoteServiceException("政策已失效,无法提审");
             }
         }
@@ -525,7 +527,9 @@ public class RetailOrderLogic {
         //提审扣钱
         companyWalletLogic.handleRetailOrderCompanyWallet(beanList, DirectFlagEnum.SUB, false);
 
-        retailOrder.setTheTime(new Date());
+        retailOrder.setSubmitBy(adminUser.getNickName());
+        retailOrder.setSubmitTime(curDate);
+        retailOrder.setTheTime(curDate);
         retailOrder.setExamineStatus(ExamineStatusEnum.WAIT.toString());
         retailOrder.updateById();
     }