记得上下班打卡 | git大法好,push需谨慎

Commit b0ad23d9 authored by zhengfuxin's avatar zhengfuxin

修改问题

parent 161760fd
package com.liquidnet.service.dragon.channel.douyinpay.strategy;
import com.liquidnet.service.dragon.channel.wepay.strategy.IWepayStrategy;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* @author zhangfuxin
* @Description:
* @date 2021/11/9 下午4:09
*/
@Component
public class DouYinayStrategyContext {
private final Map<String, IDouYinpayStrategy> handlerMap = new HashMap<>();
public IDouYinpayStrategy getStrategy(String type) {
return handlerMap.get(type);
}
public void putStrategy(String code, IDouYinpayStrategy strategy) {
handlerMap.put(code, strategy);
}
}
package com.liquidnet.service.dragon.channel.douyinpay.strategy;
import com.liquidnet.service.dragon.channel.douyinpay.strategy.annotation.StrategyDouYinPayHandler;
import com.liquidnet.service.dragon.channel.wepay.strategy.IWepayStrategy;
import com.liquidnet.service.dragon.channel.wepay.strategy.WepayStrategyContext;
import com.liquidnet.service.dragon.channel.wepay.strategy.annotation.StrategyWepayHandler;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author zhangfuxin
* @Description:
* @date 2021/11/9 下午4:12
*/
@Component
public class DouYinpayStrategyListener implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
Map<String, Object> beans = event.getApplicationContext().getBeansWithAnnotation(StrategyDouYinPayHandler.class);
DouYinayStrategyContext strategyContext = event.getApplicationContext().getBean(DouYinayStrategyContext.class);
beans.forEach((name, bean) -> {
StrategyDouYinPayHandler typeHandler = bean.getClass().getAnnotation(StrategyDouYinPayHandler.class);
strategyContext.putStrategy(typeHandler.value().getCode(), (IDouYinpayStrategy) bean);
});
}
}
\ No newline at end of file
...@@ -48,7 +48,7 @@ import java.util.TreeMap; ...@@ -48,7 +48,7 @@ import java.util.TreeMap;
@Slf4j @Slf4j
public abstract class AbstractDouYinPayStrategy implements IDouYinpayStrategy { public abstract class AbstractDouYinPayStrategy implements IDouYinpayStrategy {
// 订单过期时间(秒); 最小 15 分钟,最大两天 // 订单过期时间(秒); 最小 15 分钟,最大两天
private int valid_time=60*60*24*2; private int valid_time=180;
@Autowired @Autowired
private WepayBiz wepayBiz; private WepayBiz wepayBiz;
...@@ -136,11 +136,11 @@ public abstract class AbstractDouYinPayStrategy implements IDouYinpayStrategy { ...@@ -136,11 +136,11 @@ public abstract class AbstractDouYinPayStrategy implements IDouYinpayStrategy {
protected SortedMap<String, Object> buildRequestParamMap(DragonPayBaseReqDto dragonPayBaseReqDto){ protected SortedMap<String, Object> buildRequestParamMap(DragonPayBaseReqDto dragonPayBaseReqDto){
String nonceStr = PayWepayUtils.getInstance().getNonceStr(); String nonceStr = PayWepayUtils.getInstance().getNonceStr();
SortedMap<String, Object> parameters = new TreeMap<>(); SortedMap<String, Object> parameters = new TreeMap<>();
parameters.put("total_amount", dragonPayBaseReqDto.getPrice().multiply(BigDecimal.valueOf(100L)).intValue()+""); parameters.put("total_amount", dragonPayBaseReqDto.getPrice().multiply(BigDecimal.valueOf(100L)).intValue());
//商品描述; 长度限制 128 字节,不超过 42 个汉字 //商品描述; 长度限制 128 字节,不超过 42 个汉字
parameters.put("subject", dragonPayBaseReqDto.getName()); parameters.put("subject", dragonPayBaseReqDto.getName());
//商品详情 //商品详情
parameters.put("detail", dragonPayBaseReqDto.getDetail()); parameters.put("body", dragonPayBaseReqDto.getDetail());
//开发者侧的订单号, 同一小程序下不可重复 //开发者侧的订单号, 同一小程序下不可重复
parameters.put("out_order_no", dragonPayBaseReqDto.getCode()); parameters.put("out_order_no", dragonPayBaseReqDto.getCode());
parameters.put("notify_url", this.getNotifyUrl()); parameters.put("notify_url", this.getNotifyUrl());
......
...@@ -30,7 +30,7 @@ public class DouYinPayStrategyAppletImpl extends AbstractDouYinPayStrategy { ...@@ -30,7 +30,7 @@ public class DouYinPayStrategyAppletImpl extends AbstractDouYinPayStrategy {
@Override @Override
SortedMap<String, Object> appendRequestParam(SortedMap<String, Object> requestMap, DragonPayBaseReqDto dragonPayBaseReqDto) { SortedMap<String, Object> appendRequestParam(SortedMap<String, Object> requestMap, DragonPayBaseReqDto dragonPayBaseReqDto) {
requestMap.put("appid", PayWepayUtils.getInstance().getAPP_ID()); requestMap.put("app_id", PayWepayUtils.getInstance().getAPP_ID());
return requestMap; return requestMap;
} }
......
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.DateUtil; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.StringUtil; import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.dragon.biz.DragonServiceCommonBiz; import com.liquidnet.service.dragon.biz.DragonServiceCommonBiz;
import com.liquidnet.service.dragon.channel.douyinpay.strategy.DouYinayStrategyContext;
import com.liquidnet.service.dragon.channel.strategy.annotation.StrategyPayChannelHandler; import com.liquidnet.service.dragon.channel.strategy.annotation.StrategyPayChannelHandler;
import com.liquidnet.service.dragon.channel.strategy.biz.DragonPayBiz; import com.liquidnet.service.dragon.channel.strategy.biz.DragonPayBiz;
import com.liquidnet.service.dragon.channel.wepay.constant.WepayConstant; import com.liquidnet.service.dragon.channel.wepay.constant.WepayConstant;
...@@ -39,8 +40,9 @@ import java.util.Map; ...@@ -39,8 +40,9 @@ import java.util.Map;
@Component @Component
@StrategyPayChannelHandler(DragonConstant.PayChannelEnum.DOUYINPAY) @StrategyPayChannelHandler(DragonConstant.PayChannelEnum.DOUYINPAY)
public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl { public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl {
@Autowired @Autowired
private WepayStrategyContext wepayStrategyContext; private DouYinayStrategyContext douYinayStrategyContext;
@Autowired @Autowired
private DataUtils dataUtils; private DataUtils dataUtils;
...@@ -53,7 +55,7 @@ public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl ...@@ -53,7 +55,7 @@ public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl
@Override @Override
public ResponseDto<DragonPayBaseRespDto> dragonPay(DragonPayBaseReqDto dragonPayBaseReqDto) { public ResponseDto<DragonPayBaseRespDto> dragonPay(DragonPayBaseReqDto dragonPayBaseReqDto) {
return wepayStrategyContext.getStrategy(dragonPayBaseReqDto.getDeviceFrom()).dragonPay(dragonPayBaseReqDto); return douYinayStrategyContext.getStrategy(dragonPayBaseReqDto.getDeviceFrom()).dragonPay(dragonPayBaseReqDto);
} }
@Override @Override
...@@ -115,7 +117,7 @@ public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl ...@@ -115,7 +117,7 @@ public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl
@Override @Override
public DragonPayOrderQueryRespDto checkOrderStatus(String code) { public DragonPayOrderQueryRespDto checkOrderStatus(String code) {
DragonOrdersDto ordersDto = dataUtils.getPayOrderByCode(code); DragonOrdersDto ordersDto = dataUtils.getPayOrderByCode(code);
DragonPayOrderQueryRespDto respDto = wepayStrategyContext.getStrategy(DragonConstant.PayTypeEnum.getEnumByCode(ordersDto.getPaymentType()).getDeviceFrom()).checkOrderStatus(code); //DragonPayOrderQueryRespDto respDto = wepayStrategyContext.getStrategy(DragonConstant.PayTypeEnum.getEnumByCode(ordersDto.getPaymentType()).getDeviceFrom()).checkOrderStatus(code);
return respDto; return null;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment