소스 검색

货到付款记录定时任务维护

xucaiqin 2 년 전
부모
커밋
929bdef211

+ 2 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletBusinessService.java

@@ -78,6 +78,7 @@ public class WalletBusinessService {
         R<BusinessNo> businessNoR = payCenterService.payAgentPayV2(uid, filter, channelEnum, value, split, businessNo, payType);
         Map<String, Consumer<Boolean>> map = new HashMap<>();
         map.put("2", (b) -> {
+            Integer status = b ? ReceiveEnum.TRANSFERRING.getStatus() : ReceiveEnum.FAILED.getStatus();
             KwpWalletReceive walletReceive = new KwpWalletReceive();
             walletReceive.setId(new IdWorker(NumberConstant.ONE).nextId());
             walletReceive.setOrderNo(businessNo);
@@ -93,7 +94,7 @@ public class WalletBusinessService {
             walletReceive.setUpdateBy(LoginUserHolder.getUserId());
             walletReceive.setUpdateTime(LocalDateTime.now());
             walletReceive.setDelFlag(Global.UN_DELETED);
-            walletReceive.setStatus(b ? ReceiveEnum.APPLY.getStatus() : ReceiveEnum.FAILED.getStatus());
+            walletReceive.setStatus(status);
             kwpWalletReceiveMapper.insert(walletReceive);
         });
         Consumer<Boolean> booleanConsumer = map.get(payType);

+ 44 - 11
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/task/RefundTask.java

@@ -3,10 +3,13 @@ package com.sckw.payment.task;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.common.R;
+import com.sckw.payment.dao.KwpWalletReceiveMapper;
 import com.sckw.payment.dao.KwpWalletRefundMapper;
 import com.sckw.payment.dao.KwpWalletTransferMapper;
+import com.sckw.payment.model.KwpWalletReceive;
 import com.sckw.payment.model.KwpWalletRefund;
 import com.sckw.payment.model.KwpWalletTransfer;
+import com.sckw.payment.model.constant.ReceiveEnum;
 import com.sckw.payment.model.constant.RefundEnum;
 import com.sckw.payment.model.constant.TransferEnum;
 import com.sckw.payment.model.dto.wallet.SplitDto;
@@ -35,6 +38,8 @@ public class RefundTask {
     private KwpWalletRefundMapper kwpWalletRefundMapper;
     @Resource
     private KwpWalletTransferMapper kwpWalletTransferMapper;
+    @Resource
+    private KwpWalletReceiveMapper kwpWalletReceiveMapper;
 
     @Scheduled(cron = "0 0/1 * * * ? ")
     public void task() {
@@ -69,20 +74,28 @@ public class RefundTask {
         LambdaQueryWrapper<KwpWalletTransfer> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwpWalletTransfer::getStatus, TransferEnum.TRANSFERRING.getStatus());
         List<KwpWalletTransfer> kwpWalletTransferList = kwpWalletTransferMapper.selectList(wrapper);
-        if (CollectionUtils.isEmpty(kwpWalletTransferList)) {
+
+        LambdaQueryWrapper<KwpWalletReceive> wrapper2 = new LambdaQueryWrapper<>();
+        wrapper2.eq(KwpWalletReceive::getStatus, ReceiveEnum.TRANSFERRING.getStatus());
+        List<KwpWalletReceive> walletReceiveList = kwpWalletReceiveMapper.selectList(wrapper2);
+
+
+        if (CollectionUtils.isEmpty(kwpWalletTransferList) && CollectionUtils.isEmpty(walletReceiveList)) {
             return;
         }
         try {
-            for (KwpWalletTransfer kwpWalletTransfer : kwpWalletTransferList) {
-                //查询清分状态,修改退款单状态
-                R<List<SplitDto>> listR = payCenterService.agentPayQuery(kwpWalletTransfer.getUid(), ChannelEnum.getByChannel(kwpWalletTransfer.getChannel()), kwpWalletTransfer.getOrderNo());
-                if (listR.getStatus()) {
-                    List<SplitDto> data = listR.getData();
-                    if (!CollectionUtils.isEmpty(data)) {
-                        if (data.stream().allMatch(a -> a.getStatus() == 1)) {
-                            kwpWalletTransfer.setUpdateTime(LocalDateTime.now());
-                            kwpWalletTransfer.setStatus(TransferEnum.SUCCESS.getStatus());
-                            kwpWalletTransferMapper.updateById(kwpWalletTransfer);
+            if(!CollectionUtils.isEmpty(kwpWalletTransferList)){
+                for (KwpWalletTransfer kwpWalletTransfer : kwpWalletTransferList) {
+                    //查询清分状态,修改退款单状态
+                    R<List<SplitDto>> listR = payCenterService.agentPayQuery(kwpWalletTransfer.getUid(), ChannelEnum.getByChannel(kwpWalletTransfer.getChannel()), kwpWalletTransfer.getOrderNo());
+                    if (listR.getStatus()) {
+                        List<SplitDto> data = listR.getData();
+                        if (!CollectionUtils.isEmpty(data)) {
+                            if (data.stream().allMatch(a -> a.getStatus() == 1)) {
+                                kwpWalletTransfer.setUpdateTime(LocalDateTime.now());
+                                kwpWalletTransfer.setStatus(TransferEnum.SUCCESS.getStatus());
+                                kwpWalletTransferMapper.updateById(kwpWalletTransfer);
+                            }
                         }
                     }
                 }
@@ -90,5 +103,25 @@ public class RefundTask {
         } catch (Exception ex) {
             log.error("转账定时任务异常:{}", ex, ex);
         }
+        try {
+            if(!CollectionUtils.isEmpty(walletReceiveList)){
+                for (KwpWalletReceive kwpWalletReceive : walletReceiveList) {
+                    //查询清分状态,修改退款单状态
+                    R<List<SplitDto>> listR = payCenterService.agentPayQuery(kwpWalletReceive.getUid(), ChannelEnum.getByChannel(kwpWalletReceive.getChannel()), kwpWalletReceive.getOrderNo());
+                    if (listR.getStatus()) {
+                        List<SplitDto> data = listR.getData();
+                        if (!CollectionUtils.isEmpty(data)) {
+                            if (data.stream().allMatch(a -> a.getStatus() == 1)) {
+                                kwpWalletReceive.setUpdateTime(LocalDateTime.now());
+                                kwpWalletReceive.setStatus(ReceiveEnum.SUCCESS.getStatus());
+                                kwpWalletReceiveMapper.updateById(kwpWalletReceive);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception ex) {
+            log.error("货到付款任务异常:{}", ex, ex);
+        }
     }
 }