mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-10-14 13:50:25 +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.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.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.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.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.core.enums.ChannelEnum;
|
||||
import org.dromara.daxpay.service.entity.config.ChannelConfig;
|
||||
|
@@ -36,7 +36,7 @@ import static org.dromara.daxpay.core.enums.AllocReceiverTypeEnum.*;
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AliPayAllocReceiverService {
|
||||
public class AlipayAllocReceiverService {
|
||||
private final AlipayConfigService aliPayConfigService;
|
||||
|
||||
/**
|
@@ -43,7 +43,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AliPayAllocationService {
|
||||
public class AlipayAllocationService {
|
||||
private final AlipayConfigService aliPayConfigService;
|
||||
|
||||
/**
|
@@ -12,7 +12,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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.param.config.AlipayConfigParam;
|
||||
import org.dromara.daxpay.channel.alipay.result.config.AlipayConfigResult;
|
||||
|
@@ -16,8 +16,8 @@ import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
|
||||
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
|
||||
import org.dromara.daxpay.channel.alipay.bo.reconcile.AlipayReconcileBillDetail;
|
||||
import org.dromara.daxpay.channel.alipay.bo.reconcile.AlipayReconcileBillTotal;
|
||||
import org.dromara.daxpay.channel.alipay.bo.AlipayReconcileBillDetail;
|
||||
import org.dromara.daxpay.channel.alipay.bo.AlipayReconcileBillTotal;
|
||||
import org.dromara.daxpay.channel.alipay.entity.AliPayConfig;
|
||||
import org.dromara.daxpay.channel.alipay.service.config.AlipayConfigService;
|
||||
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.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.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;
|
||||
@@ -27,7 +27,7 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT
|
||||
@RequiredArgsConstructor
|
||||
public class AlipayAllocReceiverStrategy extends AbsAllocReceiverStrategy {
|
||||
|
||||
private final AliPayAllocReceiverService receiverService;
|
||||
private final AlipayAllocReceiverService receiverService;
|
||||
|
||||
private final AlipayConfigService aliPayConfigService;
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package org.dromara.daxpay.channel.alipay.strategy.merchant;
|
||||
|
||||
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.core.enums.ChannelEnum;
|
||||
import org.dromara.daxpay.service.bo.allocation.AllocStartResultBo;
|
||||
@@ -21,7 +21,7 @@ import org.springframework.stereotype.Component;
|
||||
@RequiredArgsConstructor
|
||||
public class AlipayAllocationStrategy extends AbsAllocationStrategy {
|
||||
|
||||
private final AliPayAllocationService aliPayAllocationService;
|
||||
private final AlipayAllocationService aliPayAllocationService;
|
||||
|
||||
private final AlipayConfigService aliPayConfigService;
|
||||
|
||||
|
Reference in New Issue
Block a user