Prechádzať zdrojové kódy

付款管理确认付款时先判断账户余额

LiFei 3 rokov pred
rodič
commit
36801831dc

+ 26 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwpayment/service/impl/HlwPaymentDetailServiceImpl.java

@@ -10,8 +10,10 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.MD5Util;
 import org.jeecg.common.util.businessAccountUtils;
 import org.jeecg.modules.hlwaccount.entity.HlwCompany;
+import org.jeecg.modules.hlwaccount.entity.HlwCompanyAccount;
 import org.jeecg.modules.hlwaccount.entity.HlwCompanyCp;
 import org.jeecg.modules.hlwaccount.entity.HlwCompanySubcontractor;
+import org.jeecg.modules.hlwaccount.service.IHlwCompanyAccountService;
 import org.jeecg.modules.hlwaccount.service.IHlwCompanyCpService;
 import org.jeecg.modules.hlwaccount.service.IHlwCompanyService;
 import org.jeecg.modules.hlwaccount.service.IHlwCompanySubcontractorService;
@@ -66,6 +68,8 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
     private IHlwSubcontractorService hlwSubcontractorService;
     @Autowired
     private IHlwServiceCheckService hlwServiceCheckService;
+    @Autowired
+    private IHlwCompanyAccountService hlwCompanyAccountService;
 
     @Override
     public Page<HlwPaymentDetail> pageList(Page<HlwPaymentDetail> page, HlwPaymentDetail hlwPaymentDetail, QueryWrapper<HlwPaymentDetail> queryWrapper) {
@@ -442,6 +446,28 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
     @Transactional(rollbackFor = Exception.class)
     public Result<?> confirmPayment(JSONObject jsonObject) {
         Integer paymentId = jsonObject.getInteger("paymentId");
+        Double totalPayment = jsonObject.getDouble("totalPayment");
+        //判断付款账户金额是否够支付
+        Integer applicationId = jsonObject.getInteger("applicationId");
+        Integer cpType = jsonObject.getInteger("cpType");
+        //cpType=1时subcontractorId为服务商subcontractorId,cpType=2时subcontractorId为开心平台cpid
+        Integer subcontractorId = jsonObject.getInteger("subcontractorId");
+        String companyCode = jsonObject.getString("companyCode");
+        HlwCompany hlwCompany = hlwCompanyService.getByCompanyCode(companyCode);
+        QueryWrapper<HlwCompanyAccount> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("application_id", applicationId);
+        queryWrapper1.eq("company_id", hlwCompany.getId());
+        if (cpType == 1) {
+            queryWrapper1.eq("subcontractor_id", subcontractorId);
+        } else if (cpType == 2) {
+            queryWrapper1.eq("cp_id", subcontractorId);
+        }
+        HlwCompanyAccount hlwCompanyAccount = hlwCompanyAccountService.getOne(queryWrapper1);
+        //-1小于;0等于;1:大于
+        if(hlwCompanyAccount.getBalance().compareTo(totalPayment)==-1){
+            return Result.error("当前余额不足,请充值后再试,如果已经充值可刷新余额显示!");
+        }
+
         // 付款单
         HlwPayment hlwPayment = hlwPaymentService.getById(paymentId);
         if (hlwPayment.getStatus() != null) {