Commit 5ca0f3df by “zcwang”

modify: 查询商品负责人

parent 204da432
Pipeline #44570 passed with stages
in 1 minute 44 seconds
...@@ -65,12 +65,15 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -65,12 +65,15 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//查询商品的SQE //查询商品的SQE
@Autowired @Autowired
private QcApiRpcService qcApiRpcService; private QcApiRpcService qcApiRpcService;
//查看执行人 //查看执行人
@Autowired @Autowired
private PfuApiRpcService pfuApiRpcService; private PfuApiRpcService pfuApiRpcService;
//查看商品BU //查看商品BU
@Autowired @Autowired
private ItemcenterApiRpcService itemcenterApiRpcService; private ItemcenterApiRpcService itemcenterApiRpcService;
@Autowired @Autowired
private FlowRpcSupplierSendService supplierSendService; private FlowRpcSupplierSendService supplierSendService;
...@@ -87,7 +90,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -87,7 +90,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
private ItemcenterRpcService itemcenterRpcService; private ItemcenterRpcService itemcenterRpcService;
/** /**
* 接口不完整,关于商品的查询已经完成 供应商查询不完整接口已对接 具体返回值接口测试未完成 * 接口不完整,关于商品的查询已经完成 供应商查询不完整接口已对接 具体返回值接口测试未完成
* *
* @param changeCommander * @param changeCommander
* @return * @return
...@@ -102,7 +105,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -102,7 +105,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
return null; return null;
} }
//查询出当前模板配置中选择的 角色 //查询出当前模板配置中选择的 角色
ChangeCommanderEnum changeCommanderEnum = ChangeCommanderEnum.getChangeCommanderEnum(changeConfig.getChangeCommanderType()); ChangeCommanderEnum changeCommanderEnum = ChangeCommanderEnum
.getChangeCommanderEnum(changeConfig.getChangeCommanderType());
if (changeCommanderEnum == null) { if (changeCommanderEnum == null) {
return null; return null;
} }
...@@ -112,7 +116,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -112,7 +116,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
// 如果是同舟端,发起人以商品开发兜底 // 如果是同舟端,发起人以商品开发兜底
if (changeCommander.getCreateSource().equals(CreateSourceEnum.TONG_ZHOU.getType())) { if (changeCommander.getCreateSource().equals(CreateSourceEnum.TONG_ZHOU.getType())) {
return queryChangeSupplier(ChangeCommanderEnum.SUPPLIERS_ASSOCIATED, changeCommander.getSupplier(), return queryChangeSupplier(ChangeCommanderEnum.SUPPLIERS_ASSOCIATED, changeCommander.getSupplier(),
SupplierChangePrincipalEnum.GOODS_BU.getName()); SupplierChangePrincipalEnum.GOODS_BU.getName());
} }
rpc.setEmail(changeCommander.getFlowCreator()); rpc.setEmail(changeCommander.getFlowCreator());
return rpc; return rpc;
...@@ -124,10 +128,12 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -124,10 +128,12 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
if (Objects.equals(ChangeSubjectEnum.PRODUCT.getType(), changeConfig.getChangeSubject())) { if (Objects.equals(ChangeSubjectEnum.PRODUCT.getType(), changeConfig.getChangeSubject())) {
//商品变更 //商品变更
return queryGoodsCommander(changeCommanderEnum, changeCommander.getGoodsInfos(), changeConfig.getChangeCommander()); return queryGoodsCommander(changeCommanderEnum, changeCommander.getGoodsInfos(),
changeConfig.getChangeCommander());
} else if (Objects.equals(ChangeSubjectEnum.SUPPLIER.getType(), changeConfig.getChangeSubject())) { } else if (Objects.equals(ChangeSubjectEnum.SUPPLIER.getType(), changeConfig.getChangeSubject())) {
//供应商 采购 计划 SQE //供应商 采购 计划 SQE
return queryChangeSupplier(changeCommanderEnum, changeCommander.getChangeSupplierId(), changeConfig.getChangeCommander()); return queryChangeSupplier(changeCommanderEnum, changeCommander.getChangeSupplierId(),
changeConfig.getChangeCommander());
} }
//其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 changeConfig.getChangeCommander(); //其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 changeConfig.getChangeCommander();
return null; return null;
...@@ -136,14 +142,18 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -136,14 +142,18 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
/** /**
* 商品的最终角色查询 * 商品的最终角色查询
* *
* @param commanderEnum 查询方向 枚举 * @param commanderEnum
* @param goodsInfos 商品的列表 * 查询方向 枚举
* @param commander 商品的关联角色 ChangeCommanderEnum * @param goodsInfos
* 商品的列表
* @param commander
* 商品的关联角色 ChangeCommanderEnum
* @return * @return
*/ */
private GoodsResponseRpc queryGoodsCommander(ChangeCommanderEnum commanderEnum, List<Long> goodsInfos, String commander) { private GoodsResponseRpc queryGoodsCommander(ChangeCommanderEnum commanderEnum, List<Long> goodsInfos,
String commander) {
if (!commanderEnum.getId().equals(ChangeCommanderEnum.GOODS_ASSOCIATED.getId()) if (!commanderEnum.getId().equals(ChangeCommanderEnum.GOODS_ASSOCIATED.getId())
|| CollectionUtils.isEmpty(goodsInfos) || commander == null) { || CollectionUtils.isEmpty(goodsInfos) || commander == null) {
return null; return null;
} }
Map<String, GoodsResponseRpc> map = new HashMap<String, GoodsResponseRpc>(); Map<String, GoodsResponseRpc> map = new HashMap<String, GoodsResponseRpc>();
...@@ -165,8 +175,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -165,8 +175,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
String detail = supplierSendService.queryGoodsPurchase(goodsInfos); String detail = supplierSendService.queryGoodsPurchase(goodsInfos);
logger.info("[queryGoodsCommander] purchase:{}", detail); logger.info("[queryGoodsCommander] purchase:{}", detail);
JSONObject jsonObject = JSONObject.parseObject(detail); JSONObject jsonObject = JSONObject.parseObject(detail);
List<GoodsPurchaseRpc> purchaseRpcs = JSONObject.parseArray(jsonObject.get("data").toString(), GoodsPurchaseRpc.class); List<GoodsPurchaseRpc> purchaseRpcs = JSONObject.parseArray(jsonObject.get("data").toString(),
for (GoodsPurchaseRpc purchaseRpc : purchaseRpcs) { GoodsPurchaseRpc.class);
for (GoodsPurchaseRpc purchaseRpc: purchaseRpcs) {
GoodsResponseRpc goodsRpc = new GoodsResponseRpc(); GoodsResponseRpc goodsRpc = new GoodsResponseRpc();
goodsRpc.setEmail(purchaseRpc.getSupplierTraceBusiness()); goodsRpc.setEmail(purchaseRpc.getSupplierTraceBusiness());
goodsRpc.setName(purchaseRpc.getSupplierTraceBusinessName()); goodsRpc.setName(purchaseRpc.getSupplierTraceBusinessName());
...@@ -177,7 +188,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -177,7 +188,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
logger.info("[queryGoodsCommander] prospectus:{}", detail); logger.info("[queryGoodsCommander] prospectus:{}", detail);
getGoodsNameEmail(emails, detail); getGoodsNameEmail(emails, detail);
} else if (ChangePrincipalEnum.SQE.getName().equals(commander)) { } else if (ChangePrincipalEnum.SQE.getName().equals(commander)) {
for (Long goods : goodsInfos) { for (Long goods: goodsInfos) {
String detail = qcApiRpcService.getDetail(goods.intValue()); String detail = qcApiRpcService.getDetail(goods.intValue());
logger.info("[queryGoodsCommander] SQE:{}", detail); logger.info("[queryGoodsCommander] SQE:{}", detail);
JSONObject jsonObject = JSONObject.parseObject(detail); JSONObject jsonObject = JSONObject.parseObject(detail);
...@@ -192,7 +203,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -192,7 +203,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
} }
//逻辑发生变更 //逻辑发生变更
for (GoodsResponseRpc email : emails) { for (GoodsResponseRpc email: emails) {
if (!map.containsKey(email.getName())) { if (!map.containsKey(email.getName())) {
email.setOccurrenceNumber(1); email.setOccurrenceNumber(1);
} else { } else {
...@@ -212,18 +223,22 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -212,18 +223,22 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
return name; return name;
} }
/** /**
* 供应商角色最终查询 * 供应商角色最终查询
* *
* @param commanderEnum 查询方向 枚举 * @param commanderEnum
* @param changeSupplierId 供应商信息 * 查询方向 枚举
* @param commander 供应商关联角色 * @param changeSupplierId
* 供应商信息
* @param commander
* 供应商关联角色
* @return * @return
*/ */
private GoodsResponseRpc queryChangeSupplier(ChangeCommanderEnum commanderEnum, String changeSupplierId, String commander) { private GoodsResponseRpc queryChangeSupplier(ChangeCommanderEnum commanderEnum, String changeSupplierId,
String commander) {
GoodsResponseRpc rpc = new GoodsResponseRpc(); GoodsResponseRpc rpc = new GoodsResponseRpc();
if (!commanderEnum.getId().equals(ChangeCommanderEnum.SUPPLIERS_ASSOCIATED.getId()) || changeSupplierId == null || commander == null) { if (!commanderEnum.getId().equals(ChangeCommanderEnum.SUPPLIERS_ASSOCIATED.getId()) || changeSupplierId == null
|| commander == null) {
return null; return null;
} }
SupplierRelatedUserReq req = new SupplierRelatedUserReq(); SupplierRelatedUserReq req = new SupplierRelatedUserReq();
...@@ -240,8 +255,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -240,8 +255,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
req.setSearchType(SupplierChangePrincipalEnum.GOODS_BU.getType()); req.setSearchType(SupplierChangePrincipalEnum.GOODS_BU.getType());
} else { } else {
throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "供应商角色类型错误"); throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "供应商角色类型错误");
} }
req.setSupplierIdList(supplierIdList); req.setSupplierIdList(supplierIdList);
//进行参数解析 //进行参数解析
List<SupplierUserRsp> listAjaxResponse = supplierInfoService.querySupplierRelatedUser(req); List<SupplierUserRsp> listAjaxResponse = supplierInfoService.querySupplierRelatedUser(req);
...@@ -250,19 +265,20 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -250,19 +265,20 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
SupplierUserRsp supplierUserRsp = listAjaxResponse.get(0); SupplierUserRsp supplierUserRsp = listAjaxResponse.get(0);
Map<String, String> uid2NameMap = supplierUserRsp.getUid2NameMap(); Map<String, String> uid2NameMap = supplierUserRsp.getUid2NameMap();
for (String key : uid2NameMap.keySet()) { for (String key: uid2NameMap.keySet()) {
rpc.setName(uid2NameMap.get(key)); rpc.setName(uid2NameMap.get(key));
rpc.setEmail(key); rpc.setEmail(key);
} }
return rpc; return rpc;
} }
/** /**
* 重复代码复用方法 * 重复代码复用方法
* *
* @param emails 储存邮箱队列 * @param emails
* @param response 请求返结果 * 储存邮箱队列
* @param response
* 请求返结果
*/ */
private void getGoodsNameEmail(List<GoodsResponseRpc> emails, String response) { private void getGoodsNameEmail(List<GoodsResponseRpc> emails, String response) {
JSONObject jsonObject = JSONObject.parseObject(response); JSONObject jsonObject = JSONObject.parseObject(response);
...@@ -270,7 +286,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -270,7 +286,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
if (rpcMap == null) { if (rpcMap == null) {
throw ExceptionFactory.createBiz(ResponseCode.OPERATOR_NOT_EXIST); throw ExceptionFactory.createBiz(ResponseCode.OPERATOR_NOT_EXIST);
} }
for (String rpc : rpcMap.keySet()) { for (String rpc: rpcMap.keySet()) {
GoodsResponseRpc goodsRpc = new GoodsResponseRpc(); GoodsResponseRpc goodsRpc = new GoodsResponseRpc();
goodsRpc.setEmail(rpcMap.get(rpc).get("uid").toString()); goodsRpc.setEmail(rpcMap.get(rpc).get("uid").toString());
goodsRpc.setName(rpcMap.get(rpc).get("name").toString()); goodsRpc.setName(rpcMap.get(rpc).get("name").toString());
...@@ -280,10 +296,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -280,10 +296,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
/** /**
* 获取商品负责人信息 * 获取商品负责人信息
*
* @param emails * @param emails
*/ */
private void getGoodsEmail(List<GoodsResponseRpc> emails, List<ItemManagerTO> itemManagerTOS) { private void getGoodsEmail(List<GoodsResponseRpc> emails, List<ItemManagerTO> itemManagerTOS) {
for (ItemManagerTO itemManagerTO : itemManagerTOS) { for (ItemManagerTO itemManagerTO: itemManagerTOS) {
GoodsResponseRpc goodsRpc = new GoodsResponseRpc(); GoodsResponseRpc goodsRpc = new GoodsResponseRpc();
goodsRpc.setEmail(itemManagerTO.getUid()); goodsRpc.setEmail(itemManagerTO.getUid());
goodsRpc.setName(itemManagerTO.getName()); goodsRpc.setName(itemManagerTO.getName());
...@@ -300,7 +317,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -300,7 +317,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//商品BU //商品BU
List<ItemManagerTO> product = itemcenterRpcService.getProduct(itemIds); List<ItemManagerTO> product = itemcenterRpcService.getProduct(itemIds);
logger.info("[queryGoodsPrincipalInfo] product:{}", product); logger.info("[queryGoodsPrincipalInfo] product:{}", product);
// todo:组装商品开发 getGoodsPrincipalNameEmailV2(map, product);
//计划 //计划
String project = pfuApiRpcService.getDetail(itemIds); String project = pfuApiRpcService.getDetail(itemIds);
logger.info("[queryGoodsPrincipalInfo] project:{}", project); logger.info("[queryGoodsPrincipalInfo] project:{}", project);
...@@ -345,14 +362,14 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -345,14 +362,14 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
try { try {
GoodsResponseRpc goodsResponseRpc = queryChangeSupplier( GoodsResponseRpc goodsResponseRpc = queryChangeSupplier(
ChangeCommanderEnum.SUPPLIERS_ASSOCIATED, req.getChangeSupplier(), ChangeCommanderEnum.SUPPLIERS_ASSOCIATED, req.getChangeSupplier(),
SupplierChangePrincipalEnum.GOODS_BU.getName()); SupplierChangePrincipalEnum.GOODS_BU.getName());
commanderResponse.setName(goodsResponseRpc.getName()); commanderResponse.setName(goodsResponseRpc.getName());
commanderResponse.setEmail(goodsResponseRpc.getEmail()); commanderResponse.setEmail(goodsResponseRpc.getEmail());
} catch (Exception e) { } catch (Exception e) {
log.error("[queryCommanderEmail] goodsResponseRpc error,e{}", e); log.error("[queryCommanderEmail] goodsResponseRpc error,e{}", e);
} }
return commanderResponse; return commanderResponse;
}else { } else {
return null; return null;
} }
case FIXED_PERSON: case FIXED_PERSON:
...@@ -364,7 +381,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -364,7 +381,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
List<Long> itemIdList = itemVOS.stream().map(ItemVO::getItemId).collect(Collectors.toList()); List<Long> itemIdList = itemVOS.stream().map(ItemVO::getItemId).collect(Collectors.toList());
try { try {
GoodsResponseRpc goodsResponseRpc = queryGoodsCommander(changeCommanderEnum, itemIdList, changeExecUser); GoodsResponseRpc goodsResponseRpc = queryGoodsCommander(changeCommanderEnum, itemIdList,
changeExecUser);
log.info("[queryCommanderEmail] queryGoodsCommander:{}", JSON.toJSONString(goodsResponseRpc)); log.info("[queryCommanderEmail] queryGoodsCommander:{}", JSON.toJSONString(goodsResponseRpc));
commanderResponse.setName(goodsResponseRpc.getName()); commanderResponse.setName(goodsResponseRpc.getName());
commanderResponse.setEmail(goodsResponseRpc.getEmail()); commanderResponse.setEmail(goodsResponseRpc.getEmail());
...@@ -376,8 +394,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -376,8 +394,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
String changeSupplier = req.getChangeSupplier(); String changeSupplier = req.getChangeSupplier();
Assert.isTrue(StringUtils.isNotBlank(changeSupplier), "变更负责人为供应商时,供应商不可为空"); Assert.isTrue(StringUtils.isNotBlank(changeSupplier), "变更负责人为供应商时,供应商不可为空");
try { try {
GoodsResponseRpc supplierResponseRpc = queryChangeSupplier(changeCommanderEnum, GoodsResponseRpc supplierResponseRpc = queryChangeSupplier(changeCommanderEnum, changeSupplier,
changeSupplier, changeExecUser); changeExecUser);
log.debug("[queryCommanderEmail] queryChangeSupplier:{}", JSON.toJSONString(supplierResponseRpc)); log.debug("[queryCommanderEmail] queryChangeSupplier:{}", JSON.toJSONString(supplierResponseRpc));
commanderResponse.setName(supplierResponseRpc.getName()); commanderResponse.setName(supplierResponseRpc.getName());
commanderResponse.setEmail(supplierResponseRpc.getEmail()); commanderResponse.setEmail(supplierResponseRpc.getEmail());
...@@ -393,7 +411,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -393,7 +411,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
/** /**
* 请求数据解析以及装载 * 请求数据解析以及装载
* *
* @param type 1:BU 2:计划 * @param type
* 1:BU 2:计划
* @param map * @param map
* @param response * @param response
*/ */
...@@ -403,7 +422,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -403,7 +422,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
if (rpcMap == null) { if (rpcMap == null) {
throw ExceptionFactory.createBiz(ResponseCode.OPERATOR_NOT_EXIST); throw ExceptionFactory.createBiz(ResponseCode.OPERATOR_NOT_EXIST);
} }
for (String rpc : rpcMap.keySet()) { for (String rpc: rpcMap.keySet()) {
ChangeGoodsPrincipalPO goodsRpc = map.get(Long.parseLong(rpc)); ChangeGoodsPrincipalPO goodsRpc = map.get(Long.parseLong(rpc));
String uid = null; String uid = null;
if (type.equals(ChangePrincipalEnum.GOODS_BU.getType())) { if (type.equals(ChangePrincipalEnum.GOODS_BU.getType())) {
...@@ -432,6 +451,22 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -432,6 +451,22 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
} }
private void getGoodsPrincipalNameEmailV2(Map<Long, ChangeGoodsPrincipalPO> map, List<ItemManagerTO> product) {
for (ItemManagerTO rpc : product) {
ChangeGoodsPrincipalPO goodsRpc = map.get(rpc.getItemId());
String uid = null;
try {
uid = rpc.getUid();
goodsRpc.setFunctionaryName(rpc.getName());
goodsRpc.setFunctionaryEmail(uid);
} catch (Exception e) {
log.error("[getGoodsPrincipalNameEmailV2] query error,rpc:{}", rpc, e);
goodsRpc.setFunctionaryName(null);
goodsRpc.setFunctionaryEmail(null);
}
goodsRpc(ChangePrincipalEnum.GOODS_BU.getType(), uid, goodsRpc);
}
}
/** /**
* 负责人兜底方法 * 负责人兜底方法
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment