|
|
@@ -0,0 +1,61 @@ |
|
|
|
package com.iformall.service.payProduct; |
|
|
|
|
|
|
|
import java.util.Map; |
|
|
|
import java.util.concurrent.ConcurrentHashMap; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import com.iformall.common.ErrorCode; |
|
|
|
import com.iformall.enums.EnumProject; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import com.iformall.service.payProduct.service.PayProductService; |
|
|
|
import com.iformall.service.payProduct.service.impl.CommonPayProductService; |
|
|
|
import com.iformall.service.payProduct.service.impl.HBPayProductService; |
|
|
|
import com.iformall.service.payProduct.service.impl.HKPayProductService; |
|
|
|
import com.iformall.service.payProduct.service.impl.HYPayProductService; |
|
|
|
import com.iformall.service.payProduct.service.impl.HYuPayProductService; |
|
|
|
import com.iformall.service.payProduct.service.impl.ZXPayProductService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 支付套餐 |
|
|
|
* @author Administrator |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
public class PayProductFactory { |
|
|
|
|
|
|
|
private Map<Integer,PayProductService> serviceMap = null; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
CommonPayProductService commonPayProductService; |
|
|
|
@Autowired |
|
|
|
HYPayProductService hYPayProductService; |
|
|
|
@Autowired |
|
|
|
HBPayProductService hBPayProductService; |
|
|
|
@Autowired |
|
|
|
HYuPayProductService hYuPayProductService; |
|
|
|
@Autowired |
|
|
|
HKPayProductService hKPayProductService; |
|
|
|
@Autowired |
|
|
|
ZXPayProductService zXPayProductService; |
|
|
|
|
|
|
|
|
|
|
|
private Map<Integer,PayProductService> getServiceMap() { |
|
|
|
if (null == serviceMap) { |
|
|
|
serviceMap = new ConcurrentHashMap<Integer,PayProductService>(); |
|
|
|
serviceMap.put(EnumProject.PROJECT_0.getCode(), commonPayProductService); |
|
|
|
serviceMap.put(EnumProject.PROJECT_1.getCode(), hBPayProductService); |
|
|
|
serviceMap.put(EnumProject.PROJECT_2.getCode(), hYPayProductService); |
|
|
|
serviceMap.put(EnumProject.PROJECT_3.getCode(), hYuPayProductService); |
|
|
|
serviceMap.put(EnumProject.PROJECT_4.getCode(), hKPayProductService); |
|
|
|
serviceMap.put(EnumProject.PROJECT_5.getCode(), zXPayProductService); |
|
|
|
} |
|
|
|
return serviceMap; |
|
|
|
} |
|
|
|
|
|
|
|
public PayProductService getPayAdapterService(Integer productProject) throws MallinkException{ |
|
|
|
PayProductService service = getServiceMap().get(productProject); |
|
|
|
if (null == service) { |
|
|
|
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"["+productProject+"] 支付套餐service未找到"); |
|
|
|
} |
|
|
|
return service; |
|
|
|
} |
|
|
|
} |