This commit is contained in:
2023-12-07 11:01:45 +08:00
parent f249184cfe
commit 0e9e112885
13 changed files with 74 additions and 74 deletions

View File

@@ -12,7 +12,7 @@ import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO;
import com.jsowell.pile.service.orderlogic.AbstractOrderLogic;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
@@ -114,7 +114,7 @@ public interface IOrderBasicInfoService {
* 根据交易记录结算订单
* @param data 交易记录数据
* @param orderBasicInfo
* @deprecated 该方法废弃 {@link AbstractOrderLogic#settleOrder(TransactionRecordsData, OrderBasicInfo)} instead.
* @deprecated 该方法废弃 {@link AbstractProgramLogic#settleOrder(TransactionRecordsData, OrderBasicInfo)} instead.
*/
@Deprecated
void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo);

View File

@@ -41,9 +41,9 @@ import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO;
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.service.orderlogic.AbstractOrderLogic;
import com.jsowell.pile.service.orderlogic.DelayMerchantOrderLogic;
import com.jsowell.pile.service.orderlogic.OrderLogicFactory;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.DelayMerchantProgramLogic;
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
import com.jsowell.pile.transaction.dto.ClearingBillTransactionDTO;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
@@ -516,7 +516,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 新逻辑
String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderInfo.getMerchantId());
AbstractOrderLogic orderLogic = OrderLogicFactory.getOrderLogic(mode);
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
orderLogic.settleOrder(data, orderInfo);
}
@@ -1188,7 +1188,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO);
// 更新order_pay_record, 解冻部分
AbstractOrderLogic orderLogic = new DelayMerchantOrderLogic();
AbstractProgramLogic orderLogic = new DelayMerchantProgramLogic();
List<Map<String, Object>> list = orderLogic.calculateUnfreezeAmount(orderAmount, payRecordList);
for (Map<String, Object> map : list) {
String paymentId = (String) map.get("paymentId");
@@ -2469,7 +2469,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
String mode = pileMerchantInfoService.getDelayModeByMerchantId(merchantId);
// 获取处理逻辑
AbstractOrderLogic orderLogic = OrderLogicFactory.getOrderLogic(mode);
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
orderLogic.payOrder(payOrderDTO);
// 推送小程序启动充电消息

View File

@@ -1,37 +0,0 @@
package com.jsowell.pile.service.orderlogic;
import com.google.common.collect.Maps;
import com.jsowell.common.util.StringUtils;
import java.util.Map;
import java.util.Objects;
/**
* 工厂设计模式
* 云快充操作
*/
public class OrderLogicFactory {
private static Map<String, AbstractOrderLogic> orderLogicMap = Maps.newHashMap();
/**
* 注册
* @param str
* @param handler
*/
public static void register(String str, AbstractOrderLogic handler) {
if (StringUtils.isBlank(str) || Objects.isNull(handler)) {
return;
}
orderLogicMap.put(str, handler);
}
/**
* 获取
* @param name
* @return
*/
public static AbstractOrderLogic getOrderLogic(String name) {
return orderLogicMap.get(name);
}
}

View File

@@ -1,4 +1,4 @@
package com.jsowell.pile.service.orderlogic;
package com.jsowell.pile.service.programlogic;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
@@ -42,7 +42,7 @@ import java.util.Map;
/**
* 描述订单逻辑
*/
public abstract class AbstractOrderLogic implements InitializingBean {
public abstract class AbstractProgramLogic implements InitializingBean {
protected Logger logger = LoggerFactory.getLogger(this.getClass());
@Value("${adapay.callback}")

View File

@@ -1,4 +1,4 @@
package com.jsowell.pile.service.orderlogic;
package com.jsowell.pile.service.programlogic;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
@@ -50,12 +50,12 @@ import java.util.stream.Collectors;
* 设置延时分账的运营商订单逻辑
*/
@Service
public class DelayMerchantOrderLogic extends AbstractOrderLogic {
public class DelayMerchantProgramLogic extends AbstractProgramLogic {
@Override
public void afterPropertiesSet() throws Exception {
// 注册为 延时分账
OrderLogicFactory.register(MerchantDelayModeEnum.DELAY.getValue(), this);
ProgramLogicFactory.register(MerchantDelayModeEnum.DELAY.getValue(), this);
}
/**

View File

@@ -1,4 +1,4 @@
package com.jsowell.pile.service.orderlogic;
package com.jsowell.pile.service.programlogic;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
@@ -51,12 +51,12 @@ import java.util.stream.Collectors;
* 没有设置延时分账的运营商订单逻辑
*/
@Service
public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
public class NotDelayMerchantProgramLogic extends AbstractProgramLogic {
@Override
public void afterPropertiesSet() throws Exception {
// 注册为 非延时分账
OrderLogicFactory.register(MerchantDelayModeEnum.NOT_DELAY.getValue(), this);
ProgramLogicFactory.register(MerchantDelayModeEnum.NOT_DELAY.getValue(), this);
}
/**

View File

@@ -0,0 +1,37 @@
package com.jsowell.pile.service.programlogic;
import com.google.common.collect.Maps;
import com.jsowell.common.util.StringUtils;
import java.util.Map;
import java.util.Objects;
/**
* 工厂设计模式
* 云快充操作
*/
public class ProgramLogicFactory {
private static Map<String, AbstractProgramLogic> programLogicMap = Maps.newHashMap();
/**
* 注册
* @param str
* @param handler
*/
public static void register(String str, AbstractProgramLogic handler) {
if (StringUtils.isBlank(str) || Objects.isNull(handler)) {
return;
}
programLogicMap.put(str, handler);
}
/**
* 获取
* @param name
* @return
*/
public static AbstractProgramLogic getProgramLogic(String name) {
return programLogicMap.get(name);
}
}