From 2f64415c6ea7c9701ac5a997a4ca7b498c89af4b Mon Sep 17 00:00:00 2001 From: hu177768073 <177768073@qq.com> Date: Wed, 25 Jun 2025 18:05:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bweb/controller/BsAgentController.java | 2 +- .../com/hfkj/model/order/OrderChildModel.java | 4 +++ .../agent/impl/BsAgentServiceImpl.java | 18 ++++++++---- .../service/order/OrderCreateService.java | 29 +++++++++++++++++++ .../com/hfkj/sysenum/agent/AgentTypeEnum.java | 4 +++ 5 files changed, 50 insertions(+), 7 deletions(-) diff --git a/bweb/src/main/java/com/bweb/controller/BsAgentController.java b/bweb/src/main/java/com/bweb/controller/BsAgentController.java index 37a7da6..8281d18 100644 --- a/bweb/src/main/java/com/bweb/controller/BsAgentController.java +++ b/bweb/src/main/java/com/bweb/controller/BsAgentController.java @@ -187,7 +187,7 @@ public class BsAgentController { @RequestMapping(value = "/queryAgentList", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "查询代理商列表") - public ResponseData queryAgentList(@RequestParam(name = "type", required = false) Integer type, + public ResponseData queryAgentList(@RequestParam(name = "type", required = false) String type, @RequestParam(name = "agentNo", required = false) String agentNo, @RequestParam(name = "agentName", required = false) String agentName, @RequestParam(name = "pageNum", required = true) Integer pageNum, diff --git a/service/src/main/java/com/hfkj/model/order/OrderChildModel.java b/service/src/main/java/com/hfkj/model/order/OrderChildModel.java index 95a3003..84d9bfc 100644 --- a/service/src/main/java/com/hfkj/model/order/OrderChildModel.java +++ b/service/src/main/java/com/hfkj/model/order/OrderChildModel.java @@ -31,4 +31,8 @@ public class OrderChildModel extends BsOrderChild { * 油站代理 */ private Long agentMerId; + /** + * 代理商appid + */ + private String agentAppId; } diff --git a/service/src/main/java/com/hfkj/service/agent/impl/BsAgentServiceImpl.java b/service/src/main/java/com/hfkj/service/agent/impl/BsAgentServiceImpl.java index bdc36e4..f73b240 100644 --- a/service/src/main/java/com/hfkj/service/agent/impl/BsAgentServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/agent/impl/BsAgentServiceImpl.java @@ -24,10 +24,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigInteger; import java.security.SecureRandom; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.UUID; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.IntStream; /** * @className: BsAgentServiceImpl @@ -85,6 +84,10 @@ public class BsAgentServiceImpl implements BsAgentService { // 生成代理api接入参数 agentApiParamService.create(agent.getId()); + }else if (AgentTypeEnum.type3.getCode().equals(agent.getType())) { + secUser.setRoleId(9L); + // 生成代理api接入参数 + agentApiParamService.create(agent.getId()); } else { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的代理类型"); } @@ -176,8 +179,11 @@ public class BsAgentServiceImpl implements BsAgentService { BsAgentExample example = new BsAgentExample(); BsAgentExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0); - if (MapUtils.getInteger(param, "type") != null) { - criteria.andTypeEqualTo(MapUtils.getInteger(param, "type")); + if (StringUtils.isNotBlank(MapUtils.getString(param, "type"))) { + List type = Arrays.stream(MapUtils.getString(param, "type").split(",")) + .flatMapToInt(num -> IntStream.of(Integer.parseInt(num))).boxed() + .collect(Collectors.toList()); + criteria.andTypeIn(type); } if (StringUtils.isNotBlank(MapUtils.getString(param, "agentNo"))) { diff --git a/service/src/main/java/com/hfkj/service/order/OrderCreateService.java b/service/src/main/java/com/hfkj/service/order/OrderCreateService.java index 21365e8..94ba3ff 100644 --- a/service/src/main/java/com/hfkj/service/order/OrderCreateService.java +++ b/service/src/main/java/com/hfkj/service/order/OrderCreateService.java @@ -7,7 +7,9 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.entity.*; import com.hfkj.model.GasPayPriceModel; import com.hfkj.model.order.OrderChildModel; +import com.hfkj.service.agent.BsAgentApiParamService; import com.hfkj.service.agent.BsAgentMerAccountService; +import com.hfkj.service.agent.BsAgentService; import com.hfkj.service.discount.BsDiscountUseMerService; import com.hfkj.service.gas.*; import com.hfkj.service.merchant.BsMerchantPayConfigService; @@ -15,6 +17,7 @@ import com.hfkj.service.merchant.BsMerchantService; import com.hfkj.service.agent.BsAgentMerService; import com.hfkj.service.sec.SecDictionaryService; import com.hfkj.service.spread.BsUserSpreadRelService; +import com.hfkj.sysenum.agent.AgentStatusEnum; import com.hfkj.sysenum.gas.GasOrderCreateType; import com.hfkj.sysenum.merchant.MerchantSourceTypeEnum; import com.hfkj.sysenum.merchant.MerchantStatusEnum; @@ -63,6 +66,10 @@ public class OrderCreateService { private BsGasChannelConfigService gasChannelConfigService; @Resource private BsGasOrderSpreadService gasOrderSpreadService; + @Resource + private BsAgentApiParamService agentApiParamService; + @Resource + private BsAgentService agentService; /** * 加油业务 * @param order 订单 @@ -151,6 +158,28 @@ public class OrderCreateService { ); gasOrder.setGasSettlePrice(gasSettlePrice); + // 代理商appid + if (orderChild.getAgentAppId() != null) { + // 代理商参数 + BsAgentApiParam apiParam = agentApiParamService.getParamByAppId(orderChild.getAgentAppId()); + if (apiParam == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "代理参数接入错误"); + } + if (!apiParam.getStatus().equals(1)) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "代理参数接入错误"); + } + // 代理商 + BsAgent agent = agentService.getAgentById(apiParam.getAgentId()); + if (agent == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "代理参数接入错误"); + } + if (!agent.getStatus().equals(AgentStatusEnum.status1.getCode())) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "代理处于异常状态"); + } + gasOrder.setAgentId(agent.getId()); + gasOrder.setAgentName(agent.getName()); + } + // 代理、业务员 if (orderChild.getAgentMerId() != null) { // 查询代理 diff --git a/service/src/main/java/com/hfkj/sysenum/agent/AgentTypeEnum.java b/service/src/main/java/com/hfkj/sysenum/agent/AgentTypeEnum.java index 0c3ff46..92683d4 100644 --- a/service/src/main/java/com/hfkj/sysenum/agent/AgentTypeEnum.java +++ b/service/src/main/java/com/hfkj/sysenum/agent/AgentTypeEnum.java @@ -20,6 +20,10 @@ public enum AgentTypeEnum { * API代理 */ type2(2 , "API代理"), + /** + * 推广代理 + */ + type3(3 , "推广代理"), ; private Integer code;