mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-10-15 06:10:26 +00:00
fix 支付宝服务商缺少策略类
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
package org.dromara.daxpay.channel.alipay.bo.reconcile;
|
package org.dromara.daxpay.channel.alipay.bo;
|
||||||
|
|
||||||
import cn.bootx.platform.common.mybatisplus.base.MpIdEntity;
|
import cn.bootx.platform.common.mybatisplus.base.MpIdEntity;
|
||||||
import cn.hutool.core.annotation.Alias;
|
import cn.hutool.core.annotation.Alias;
|
@@ -1,4 +1,4 @@
|
|||||||
package org.dromara.daxpay.channel.alipay.bo.reconcile;
|
package org.dromara.daxpay.channel.alipay.bo;
|
||||||
|
|
||||||
import cn.bootx.platform.common.mybatisplus.base.MpIdEntity;
|
import cn.bootx.platform.common.mybatisplus.base.MpIdEntity;
|
||||||
import cn.hutool.core.annotation.Alias;
|
import cn.hutool.core.annotation.Alias;
|
@@ -1,4 +1,4 @@
|
|||||||
package org.dromara.daxpay.channel.alipay.convert.config;
|
package org.dromara.daxpay.channel.alipay.convert;
|
||||||
|
|
||||||
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
import org.dromara.daxpay.channel.alipay.param.config.AlipayConfigParam;
|
import org.dromara.daxpay.channel.alipay.param.config.AlipayConfigParam;
|
@@ -2,7 +2,7 @@ package org.dromara.daxpay.channel.alipay.entity;
|
|||||||
|
|
||||||
import cn.bootx.platform.common.mybatisplus.function.ToResult;
|
import cn.bootx.platform.common.mybatisplus.function.ToResult;
|
||||||
import cn.bootx.platform.core.util.JsonUtil;
|
import cn.bootx.platform.core.util.JsonUtil;
|
||||||
import org.dromara.daxpay.channel.alipay.convert.config.AlipayConfigConvert;
|
import org.dromara.daxpay.channel.alipay.convert.AlipayConfigConvert;
|
||||||
import org.dromara.daxpay.channel.alipay.result.config.AlipayConfigResult;
|
import org.dromara.daxpay.channel.alipay.result.config.AlipayConfigResult;
|
||||||
import org.dromara.daxpay.core.enums.ChannelEnum;
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
import org.dromara.daxpay.service.entity.config.ChannelConfig;
|
import org.dromara.daxpay.service.entity.config.ChannelConfig;
|
||||||
|
@@ -36,7 +36,7 @@ import static org.dromara.daxpay.core.enums.AllocReceiverTypeEnum.*;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AliPayAllocReceiverService {
|
public class AlipayAllocReceiverService {
|
||||||
private final AlipayConfigService aliPayConfigService;
|
private final AlipayConfigService aliPayConfigService;
|
||||||
|
|
||||||
/**
|
/**
|
@@ -43,7 +43,7 @@ import java.util.stream.Collectors;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AliPayAllocationService {
|
public class AlipayAllocationService {
|
||||||
private final AlipayConfigService aliPayConfigService;
|
private final AlipayConfigService aliPayConfigService;
|
||||||
|
|
||||||
/**
|
/**
|
@@ -12,7 +12,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.daxpay.channel.alipay.code.AlipayCode;
|
import org.dromara.daxpay.channel.alipay.code.AlipayCode;
|
||||||
import org.dromara.daxpay.channel.alipay.convert.config.AlipayConfigConvert;
|
import org.dromara.daxpay.channel.alipay.convert.AlipayConfigConvert;
|
||||||
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
import org.dromara.daxpay.channel.alipay.param.config.AlipayConfigParam;
|
import org.dromara.daxpay.channel.alipay.param.config.AlipayConfigParam;
|
||||||
import org.dromara.daxpay.channel.alipay.result.config.AlipayConfigResult;
|
import org.dromara.daxpay.channel.alipay.result.config.AlipayConfigResult;
|
||||||
|
@@ -16,8 +16,8 @@ import lombok.SneakyThrows;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
|
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
|
||||||
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
|
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
|
||||||
import org.dromara.daxpay.channel.alipay.bo.reconcile.AlipayReconcileBillDetail;
|
import org.dromara.daxpay.channel.alipay.bo.AlipayReconcileBillDetail;
|
||||||
import org.dromara.daxpay.channel.alipay.bo.reconcile.AlipayReconcileBillTotal;
|
import org.dromara.daxpay.channel.alipay.bo.AlipayReconcileBillTotal;
|
||||||
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
||||||
import org.dromara.daxpay.core.enums.TradeStatusEnum;
|
import org.dromara.daxpay.core.enums.TradeStatusEnum;
|
||||||
|
@@ -0,0 +1,78 @@
|
|||||||
|
package org.dromara.daxpay.channel.alipay.strategy.isv;
|
||||||
|
|
||||||
|
import cn.bootx.platform.core.exception.ValidationFailedException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
|
import org.dromara.daxpay.channel.alipay.service.allocation.AlipayAllocReceiverService;
|
||||||
|
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
||||||
|
import org.dromara.daxpay.core.enums.AllocReceiverTypeEnum;
|
||||||
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
|
import org.dromara.daxpay.service.strategy.AbsAllocReceiverStrategy;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付宝分账接收者策略
|
||||||
|
* @author xxm
|
||||||
|
* @since 2024/4/1
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@Scope(SCOPE_PROTOTYPE)
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class AlipayIsvAllocReceiverStrategy extends AbsAllocReceiverStrategy {
|
||||||
|
|
||||||
|
private final AlipayAllocReceiverService receiverService;
|
||||||
|
|
||||||
|
private final AlipayConfigService aliPayConfigService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 策略标识
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getChannel() {
|
||||||
|
return ChannelEnum.ALIPAY_ISV.getCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AllocReceiverTypeEnum> getSupportReceiverTypes() {
|
||||||
|
return List.of(AllocReceiverTypeEnum.LOGIN_NAME, AllocReceiverTypeEnum.USER_ID, AllocReceiverTypeEnum.OPEN_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验方法
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean validation(){
|
||||||
|
return receiverService.validation(this.getAllocReceiver());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加到支付系统中
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void bind() {
|
||||||
|
AliPayConfig aliPayConfig = aliPayConfigService.getAliPayConfig(true);
|
||||||
|
if (!receiverService.validation(this.getAllocReceiver())){
|
||||||
|
throw new ValidationFailedException("分账接收者参数未通过校验");
|
||||||
|
}
|
||||||
|
receiverService.bind(this.getAllocReceiver(),aliPayConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 从三方支付系统中删除
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void unbind() {
|
||||||
|
AliPayConfig aliPayConfig = aliPayConfigService.getAliPayConfig(true);
|
||||||
|
if (!receiverService.validation(this.getAllocReceiver())){
|
||||||
|
throw new ValidationFailedException("分账参数未通过校验");
|
||||||
|
}
|
||||||
|
receiverService.unbind(this.getAllocReceiver(),aliPayConfig);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,62 @@
|
|||||||
|
package org.dromara.daxpay.channel.alipay.strategy.isv;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
|
import org.dromara.daxpay.channel.alipay.service.allocation.AlipayAllocationService;
|
||||||
|
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
||||||
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
|
import org.dromara.daxpay.service.bo.allocation.AllocStartResultBo;
|
||||||
|
import org.dromara.daxpay.service.bo.allocation.AllocSyncResultBo;
|
||||||
|
import org.dromara.daxpay.service.strategy.AbsAllocationStrategy;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付宝分账
|
||||||
|
* @author xxm
|
||||||
|
* @since 2024/12/9
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class AlipayIsvAllocationStrategy extends AbsAllocationStrategy {
|
||||||
|
|
||||||
|
private final AlipayAllocationService aliPayAllocationService;
|
||||||
|
|
||||||
|
private final AlipayConfigService aliPayConfigService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分账通道
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getChannel() {
|
||||||
|
return ChannelEnum.ALIPAY_ISV.getCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开始分账
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AllocStartResultBo start() {
|
||||||
|
AliPayConfig aliPayConfig = aliPayConfigService.getAliPayConfig(true);
|
||||||
|
return aliPayAllocationService.start(getOrder(), getDetails(), aliPayConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分账完结
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void finish() {
|
||||||
|
AliPayConfig aliPayConfig = aliPayConfigService.getAliPayConfig(true);
|
||||||
|
aliPayAllocationService.finish(getOrder(), getDetails(), aliPayConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步状态
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AllocSyncResultBo doSync() {
|
||||||
|
AliPayConfig aliPayConfig = aliPayConfigService.getAliPayConfig(true);
|
||||||
|
return aliPayAllocationService.sync(getOrder(), getDetails(), aliPayConfig);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,27 @@
|
|||||||
|
package org.dromara.daxpay.channel.alipay.strategy.isv;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
|
import org.dromara.daxpay.service.strategy.AbsCashierCodeStrategy;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付宝收银码牌支付
|
||||||
|
* @author xxm
|
||||||
|
* @since 2024/9/29
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class AlipayIsvCashierCodeStrategy extends AbsCashierCodeStrategy {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 策略标识, 可以自行进行扩展
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getChannel() {
|
||||||
|
return ChannelEnum.ALIPAY_ISV.getCode();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,27 @@
|
|||||||
|
package org.dromara.daxpay.channel.alipay.strategy.merchant;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
|
import org.dromara.daxpay.service.strategy.AbsCashierCodeStrategy;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付宝收银码牌支付
|
||||||
|
* @author xxm
|
||||||
|
* @since 2024/9/29
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class AliPayCashierCodeStrategy extends AbsCashierCodeStrategy {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 策略标识, 可以自行进行扩展
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getChannel() {
|
||||||
|
return ChannelEnum.ALIPAY.getCode();
|
||||||
|
}
|
||||||
|
}
|
@@ -4,7 +4,7 @@ import cn.bootx.platform.core.exception.ValidationFailedException;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
import org.dromara.daxpay.channel.alipay.service.allocation.AliPayAllocReceiverService;
|
import org.dromara.daxpay.channel.alipay.service.allocation.AlipayAllocReceiverService;
|
||||||
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
||||||
import org.dromara.daxpay.core.enums.AllocReceiverTypeEnum;
|
import org.dromara.daxpay.core.enums.AllocReceiverTypeEnum;
|
||||||
import org.dromara.daxpay.core.enums.ChannelEnum;
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
@@ -27,7 +27,7 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AlipayAllocReceiverStrategy extends AbsAllocReceiverStrategy {
|
public class AlipayAllocReceiverStrategy extends AbsAllocReceiverStrategy {
|
||||||
|
|
||||||
private final AliPayAllocReceiverService receiverService;
|
private final AlipayAllocReceiverService receiverService;
|
||||||
|
|
||||||
private final AlipayConfigService aliPayConfigService;
|
private final AlipayConfigService aliPayConfigService;
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
package org.dromara.daxpay.channel.alipay.strategy.merchant;
|
package org.dromara.daxpay.channel.alipay.strategy.merchant;
|
||||||
|
|
||||||
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||||
import org.dromara.daxpay.channel.alipay.service.allocation.AliPayAllocationService;
|
import org.dromara.daxpay.channel.alipay.service.allocation.AlipayAllocationService;
|
||||||
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
||||||
import org.dromara.daxpay.core.enums.ChannelEnum;
|
import org.dromara.daxpay.core.enums.ChannelEnum;
|
||||||
import org.dromara.daxpay.service.bo.allocation.AllocStartResultBo;
|
import org.dromara.daxpay.service.bo.allocation.AllocStartResultBo;
|
||||||
@@ -21,7 +21,7 @@ import org.springframework.stereotype.Component;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AlipayAllocationStrategy extends AbsAllocationStrategy {
|
public class AlipayAllocationStrategy extends AbsAllocationStrategy {
|
||||||
|
|
||||||
private final AliPayAllocationService aliPayAllocationService;
|
private final AlipayAllocationService aliPayAllocationService;
|
||||||
|
|
||||||
private final AlipayConfigService aliPayConfigService;
|
private final AlipayConfigService aliPayConfigService;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user