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