update 订单逻辑改造工厂模式

This commit is contained in:
2023-09-01 10:59:50 +08:00
parent 3fd71220de
commit 5a7e130e26
4 changed files with 74 additions and 2 deletions

View File

@@ -11,6 +11,7 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.enums.AcquirerEnum;
import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.MemberWalletEnum;
import com.jsowell.common.enums.adapay.MerchantDelayModelEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -41,7 +42,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
@Override
public void afterPropertiesSet() throws Exception {
OrderLogicFactory.register(MerchantDelayModelEnum.DELAY.getValue(), this);
}
/**

View File

@@ -10,6 +10,7 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.enums.AcquirerEnum;
import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.MemberWalletEnum;
import com.jsowell.common.enums.adapay.MerchantDelayModelEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -40,7 +41,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
@Override
public void afterPropertiesSet() throws Exception {
OrderLogicFactory.register(MerchantDelayModelEnum.NOT_DELAY.getValue(), this);
}
/**

View File

@@ -0,0 +1,37 @@
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);
}
}