diff --git a/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java b/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java index 722b138..4071feb 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java @@ -10,6 +10,7 @@ import com.iformall.service.pay.PayServiceFactory; import com.iformall.service.pay.service.pay.PayAdapterService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -86,7 +87,6 @@ public class ProductOrderController extends BaseController { return new ResultData(record.getOrderNumber()); } - @AuthIgnore @ApiOperation("根据id查询接口") @GetMapping("/findByNumber") @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) @@ -110,7 +110,6 @@ public class ProductOrderController extends BaseController { return new ResultData(productOrder); } - @AuthIgnore @ApiOperation(value = "创建支付", notes = "") @PostMapping("createPay") public ResultData createPay(@RequestBody ProductOrderPay record){ @@ -148,10 +147,11 @@ public class ProductOrderController extends BaseController { } - @AuthIgnore @ApiOperation("根据id查询接口") @GetMapping("/findStatus") - @ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true) + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderNumber", value = "orderNumber", dataType = "String", paramType = "query", required = true), + @ApiImplicitParam(name = "payVendor", value = "payVendor", dataType = "int", paramType = "query", required = true)}) public ResultData findStatus(String orderNumber,Integer payVendor) { logger.debug("[" + getIpAddr() + "] ProductOrderController::findStatus"); diff --git a/suimangService/src/main/java/com/iformall/domain/po/Product.java b/suimangService/src/main/java/com/iformall/domain/po/Product.java index 27ea6a8..6317d8d 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/Product.java +++ b/suimangService/src/main/java/com/iformall/domain/po/Product.java @@ -23,8 +23,10 @@ public class Product extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="EnumProductType",name="type") private Integer type; - @io.swagger.annotations.ApiModelProperty(value="套餐表(level_package,project_package_detail)ID,",name="extraId") + @io.swagger.annotations.ApiModelProperty(value="每个项目套餐表ID,",name="extraId") private Long extraId; + @TableField(exist = false) + private Object extraInfo; @io.swagger.annotations.ApiModelProperty(value="",name="coverImg") private String coverImg; @@ -56,7 +58,4 @@ public class Product extends TenantEntity { @TableField(exist = false) private Date endDate; - @TableField(exist = false) - private LevelPackage levelPackage; - } diff --git a/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java index a425d89..2aa99c4 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java @@ -2,19 +2,16 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.iformall.domain.po.LevelPackage; import com.iformall.domain.po.Product; import com.iformall.enums.EnumProductType; import com.iformall.mapper.ProductMapper; import com.iformall.service.ProductService; -import com.iformall.service.sm.LevelPackageService; +import com.iformall.service.payProduct.PayProductFactory; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - -import java.util.Date; import java.util.List; @Service @@ -25,9 +22,9 @@ public class ProductServiceImpl implements ProductService { @Autowired ProductMapper productMapper; - + @Autowired - LevelPackageService levelPackageService; + PayProductFactory payProductFactory; @Override public PageInfo listAsPage(Product record, Integer pageIndex, Integer pageSize) { @@ -44,8 +41,7 @@ public class ProductServiceImpl implements ProductService { List list = productMapper.findList(record); for (Product prod: list) { if(EnumProductType.product_2.getCode().equals(prod.getType())){ - LevelPackage levelPackage = levelPackageService.getDetailById(prod.getExtraId(),projectType); - prod.setLevelPackage(levelPackage); + prod.setExtraInfo(payProductFactory.getPayAdapterService(prod.getProjectType()).getProductExtroInfo(prod)); } } return list; diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/PayProductFactory.java b/suimangService/src/main/java/com/iformall/service/payProduct/PayProductFactory.java new file mode 100644 index 0000000..2da26fa --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/PayProductFactory.java @@ -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 serviceMap = null; + + @Autowired + CommonPayProductService commonPayProductService; + @Autowired + HYPayProductService hYPayProductService; + @Autowired + HBPayProductService hBPayProductService; + @Autowired + HYuPayProductService hYuPayProductService; + @Autowired + HKPayProductService hKPayProductService; + @Autowired + ZXPayProductService zXPayProductService; + + + private Map getServiceMap() { + if (null == serviceMap) { + serviceMap = new ConcurrentHashMap(); + 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; + } +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/PayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/PayProductService.java new file mode 100644 index 0000000..c73cb4d --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/PayProductService.java @@ -0,0 +1,8 @@ +package com.iformall.service.payProduct.service; + +import com.iformall.domain.po.Product; + +public interface PayProductService { + + public Object getProductExtroInfo(Product product); +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/CommonPayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/CommonPayProductService.java new file mode 100644 index 0000000..7859874 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/CommonPayProductService.java @@ -0,0 +1,17 @@ +package com.iformall.service.payProduct.service.impl; + +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.Product; +import com.iformall.service.payProduct.service.PayProductService; + +//慧影支付套餐 +@Service +public class CommonPayProductService implements PayProductService{ + + @Override + public Object getProductExtroInfo(Product product) { + return null; + } + +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HBPayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HBPayProductService.java new file mode 100644 index 0000000..23e0acb --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HBPayProductService.java @@ -0,0 +1,17 @@ +package com.iformall.service.payProduct.service.impl; + +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.Product; +import com.iformall.service.payProduct.service.PayProductService; + +//慧播支付套餐 +@Service +public class HBPayProductService implements PayProductService{ + + @Override + public Object getProductExtroInfo(Product product) { + return null; + } + +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HKPayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HKPayProductService.java new file mode 100644 index 0000000..970a9be --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HKPayProductService.java @@ -0,0 +1,17 @@ +package com.iformall.service.payProduct.service.impl; + +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.Product; +import com.iformall.service.payProduct.service.PayProductService; + +//慧侃支付套餐 +@Service +public class HKPayProductService implements PayProductService{ + + @Override + public Object getProductExtroInfo(Product product) { + return null; + } + +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HYPayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HYPayProductService.java new file mode 100644 index 0000000..50860bd --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HYPayProductService.java @@ -0,0 +1,18 @@ +package com.iformall.service.payProduct.service.impl; + +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.Product; +import com.iformall.service.payProduct.service.PayProductService; + +//慧影支付套餐 +@Service +public class HYPayProductService implements PayProductService{ + + @Override + public Object getProductExtroInfo(Product product) { + //慧影套餐表project_package_detail, 现在暂时不搞那么复杂 + return null; + } + +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HYuPayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HYuPayProductService.java new file mode 100644 index 0000000..e6ca25c --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/HYuPayProductService.java @@ -0,0 +1,17 @@ +package com.iformall.service.payProduct.service.impl; + +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.Product; +import com.iformall.service.payProduct.service.PayProductService; + +//慧语支付套餐 +@Service +public class HYuPayProductService implements PayProductService{ + + @Override + public Object getProductExtroInfo(Product product) { + return null; + } + +} diff --git a/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/ZXPayProductService.java b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/ZXPayProductService.java new file mode 100644 index 0000000..c4ff477 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/payProduct/service/impl/ZXPayProductService.java @@ -0,0 +1,17 @@ +package com.iformall.service.payProduct.service.impl; + +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.Product; +import com.iformall.service.payProduct.service.PayProductService; + +//智象支付套餐 +@Service +public class ZXPayProductService implements PayProductService{ + + @Override + public Object getProductExtroInfo(Product product) { + return null; + } + +}