feat: 自动分账/自动完结/自动同步状态功能实现

This commit is contained in:
bootx
2024-12-17 22:27:27 +08:00
parent aa6505e5ae
commit b5d10f1ead
16 changed files with 193 additions and 68 deletions

View File

@@ -17,7 +17,6 @@ import org.dromara.daxpay.channel.wechat.service.config.WechatPayConfigService;
import org.dromara.daxpay.channel.wechat.util.WechatPayUtil;
import org.dromara.daxpay.core.enums.AllocDetailResultEnum;
import org.dromara.daxpay.core.enums.AllocReceiverTypeEnum;
import org.dromara.daxpay.core.enums.AllocationStatusEnum;
import org.dromara.daxpay.core.exception.ConfigErrorException;
import org.dromara.daxpay.core.exception.OperationFailException;
import org.dromara.daxpay.core.util.PayUtil;
@@ -37,6 +36,7 @@ import java.util.stream.Collectors;
import static org.dromara.daxpay.core.enums.AllocReceiverTypeEnum.MERCHANT_NO;
import static org.dromara.daxpay.core.enums.AllocReceiverTypeEnum.OPEN_ID;
import static org.dromara.daxpay.core.enums.AllocationStatusEnum.*;
/**
* 微信分账V3版本接口
@@ -112,7 +112,7 @@ public class WeChatPayAllocationV3Service {
ProfitSharingService sharingService = wxPayService.getProfitSharingService();
// 根据订单状态判断 使用ID还是分账号
String outOrderNo;
if (Objects.equals(AllocationStatusEnum.PROCESSING.getCode(), allocOrder.getStatus())){
if (List.of(PROCESSING.getCode(),ALLOC_FAILED.getCode(), ALLOC_END.getCode()).contains(allocOrder.getStatus())){
outOrderNo = allocOrder.getAllocNo();
} else {
outOrderNo = String.valueOf(allocOrder.getId());