|
@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.sckw.payment.api.model.constant.ChannelEnum;
|
|
import com.sckw.payment.api.model.constant.ChannelEnum;
|
|
|
import com.sckw.payment.api.model.dto.common.R;
|
|
import com.sckw.payment.api.model.dto.common.R;
|
|
|
import com.sckw.payment.dao.KwpWalletRefundMapper;
|
|
import com.sckw.payment.dao.KwpWalletRefundMapper;
|
|
|
|
|
+import com.sckw.payment.dao.KwpWalletTransferMapper;
|
|
|
import com.sckw.payment.model.KwpWalletRefund;
|
|
import com.sckw.payment.model.KwpWalletRefund;
|
|
|
|
|
+import com.sckw.payment.model.KwpWalletTransfer;
|
|
|
import com.sckw.payment.model.constant.RefundEnum;
|
|
import com.sckw.payment.model.constant.RefundEnum;
|
|
|
|
|
+import com.sckw.payment.model.constant.TransferEnum;
|
|
|
import com.sckw.payment.model.dto.wallet.SplitDto;
|
|
import com.sckw.payment.model.dto.wallet.SplitDto;
|
|
|
import com.sckw.payment.service.PayCenterService;
|
|
import com.sckw.payment.service.PayCenterService;
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
@@ -30,6 +33,8 @@ public class RefundTask {
|
|
|
private PayCenterService payCenterService;
|
|
private PayCenterService payCenterService;
|
|
|
@Resource
|
|
@Resource
|
|
|
private KwpWalletRefundMapper kwpWalletRefundMapper;
|
|
private KwpWalletRefundMapper kwpWalletRefundMapper;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private KwpWalletTransferMapper kwpWalletTransferMapper;
|
|
|
|
|
|
|
|
@Scheduled(cron = "0 0/1 * * * ? ")
|
|
@Scheduled(cron = "0 0/1 * * * ? ")
|
|
|
public void task() {
|
|
public void task() {
|
|
@@ -37,7 +42,7 @@ public class RefundTask {
|
|
|
wrapper.eq(KwpWalletRefund::getStatus, RefundEnum.REFUNDING.getStatus());
|
|
wrapper.eq(KwpWalletRefund::getStatus, RefundEnum.REFUNDING.getStatus());
|
|
|
List<KwpWalletRefund> kwpWalletRefunds = kwpWalletRefundMapper.selectList(wrapper);
|
|
List<KwpWalletRefund> kwpWalletRefunds = kwpWalletRefundMapper.selectList(wrapper);
|
|
|
if (CollectionUtils.isEmpty(kwpWalletRefunds)) {
|
|
if (CollectionUtils.isEmpty(kwpWalletRefunds)) {
|
|
|
-// log.warn("无数据");
|
|
|
|
|
|
|
+ log.warn("退款定时任务无数据");
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
try {
|
|
try {
|
|
@@ -59,4 +64,33 @@ public class RefundTask {
|
|
|
log.error("定时任务异常:{}", ex, ex);
|
|
log.error("定时任务异常:{}", ex, ex);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Scheduled(cron = "0 0/1 * * * ? ")
|
|
|
|
|
+ public void transferTask() {
|
|
|
|
|
+ LambdaQueryWrapper<KwpWalletTransfer> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(KwpWalletTransfer::getStatus, TransferEnum.TRANSFERRING.getStatus());
|
|
|
|
|
+ List<KwpWalletTransfer> kwpWalletTransferList = kwpWalletTransferMapper.selectList(wrapper);
|
|
|
|
|
+ if (CollectionUtils.isEmpty(kwpWalletTransferList)) {
|
|
|
|
|
+ log.warn("转账定时任务无数据");
|
|
|
|
|
+ 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);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception ex) {
|
|
|
|
|
+ log.error("转账定时任务异常:{}", ex, ex);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|