Selaa lähdekoodia

付款管理-支付轮询定时任务完善

ZhangWenQiang 5 vuotta sitten
vanhempi
commit
18b7b7f5f7

+ 21 - 8
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwpayment/task/PaymentJob.java

@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -59,6 +60,8 @@ public class PaymentJob implements Job {
         List<HlwPayRecord> hlwPayRecordList = hlwPayRecordService.findNoPayList();
         //完税金额
         Double amount = 0.00;
+        //完税人员
+        List<String> applyList = new ArrayList<>();
         for (HlwPayRecord hlwPayRecord : hlwPayRecordList) {
             //获取当前支付单
             HlwPayment hlwPaymentDto = hlwPaymentService.getById(hlwPayRecord.getPaymentId());
@@ -103,6 +106,8 @@ public class PaymentJob implements Job {
                                 hlwPaymentDetail.setStatus(HlwConstant.PAYMENT_RESULT_PAY_SUCCESS);
                                 //累加完税金额
                                 amount = businessAccountUtils.add(amount, hlwPaymentDetail.getNetPayment());
+                                //完税人员
+                                applyList.add(hlwPaymentDetailId);
                                 break;
                             case "E":
                                 hlwPaymentDetail.setStatus(HlwConstant.PAYMENT_RESULT_PAY_FAIL);
@@ -152,7 +157,7 @@ public class PaymentJob implements Job {
                 hlwPaymentService.updateById(hlwPayment);
                 try {
                     //返回结果,插入完税申请表
-                    insertDutyApply(amount);
+                    insertDutyApply(amount, applyList);
                 } catch (Exception e) {
                     log.info("插入完税申请失败");
                     e.printStackTrace();
@@ -168,13 +173,21 @@ public class PaymentJob implements Job {
      * @param amount
      */
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
-    public void insertDutyApply(Double amount) {
-        HlwDutyApply hlwDutyApply = new HlwDutyApply();
-        hlwDutyApply.setAmount(amount);
-        hlwDutyApply.setApplyTime(new Date());
-        //定时任务无法获取用户信息
-        hlwDutyApply.setApplyBy("admin");
-        hlwDutyApplyService.save(hlwDutyApply);
+    public void insertDutyApply(Double amount, List<String> applyList) {
+        if (applyList != null && applyList.size() > 0) {
+            HlwDutyApply hlwDutyApply = new HlwDutyApply();
+            hlwDutyApply.setAmount(amount);
+            hlwDutyApply.setApplyTime(new Date());
+            //定时任务无法获取用户信息
+            hlwDutyApply.setApplyBy("admin");
+            hlwDutyApplyService.save(hlwDutyApply);
+            //遍历完税人员,更新信息
+            for (String paymentDetailId : applyList) {
+                HlwPaymentDetail hlwPaymentDetail = hlwPaymentDetailService.getById(paymentDetailId);
+                hlwPaymentDetail.setDutyApplyId(hlwDutyApply.getId());
+                hlwPaymentDetailService.updateById(hlwPaymentDetail);
+            }
+        }
     }
 
 }