Commit 6d4d2bf9 by jx-art

跟进商品列表查询 商品对应负责人信息~

parent 946c4a0c
package com.netease.mail.yanxuan.change.biz.service; package com.netease.mail.yanxuan.change.biz.service;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc;
import java.util.List;
import java.util.Map;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
* @date 2022/11/18/018$ * @date 2022/11/18/018$
...@@ -12,5 +16,6 @@ public interface InteriorChangeConfigService { ...@@ -12,5 +16,6 @@ public interface InteriorChangeConfigService {
GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander); GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander);
Map<Long, ChangeGoodsPrincipalPO> queryGoodsPrincipalInfo(List<Long> itemIds);
} }
...@@ -9,6 +9,7 @@ import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum; ...@@ -9,6 +9,7 @@ import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig; import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsPurchaseRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsPurchaseRpc;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseSqeRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseSqeRpc;
...@@ -81,7 +82,6 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -81,7 +82,6 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
//其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 changeConfig.getChangeCommander(); //其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 changeConfig.getChangeCommander();
return null; return null;
} }
/** /**
...@@ -215,5 +215,68 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -215,5 +215,68 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
} }
@Override
public Map<Long, ChangeGoodsPrincipalPO> queryGoodsPrincipalInfo(List<Long> itemIds){
Map<Long, ChangeGoodsPrincipalPO> map = new HashMap<>();
//商品BU
String functionary = itemcenterApiRpcService.getDetail(itemIds);
logger.error("请求商品BU结果"+functionary);
getGoodsPrincipalNameEmail(1,map,functionary);
//计划
String project = pfuApiRpcService.getDetail(itemIds);
logger.error("请求商品计划结果"+project);
getGoodsPrincipalNameEmail(2,map,project);
//商品采购
String GoodsPurchase = supplierSendService.queryGoodsPurchase(itemIds);
JSONObject jsonObject = JSONObject.parseObject(GoodsPurchase);
List<GoodsPurchaseRpc> purchaseRpcs = JSONObject.parseArray(jsonObject.get("data").toString(), GoodsPurchaseRpc.class);
for (GoodsPurchaseRpc rpc: purchaseRpcs){
map.get(rpc.getItemId()).setPurchaseName(rpc.getSupplierName());
map.get(rpc.getItemId()).setPurchaseEmail(rpc.getSupplierTraceBusiness());
}
//SQE
for(Long itemId : itemIds){
String sqe = qcApiRpcService.getDetail(itemId.intValue());
logger.error("根据商品查看商品负责SQE接口返回值\t"+sqe);
JSONObject jsonObject1 = JSONObject.parseObject(sqe);
GoodsResponseSqeRpc data = jsonObject1.getObject("data", GoodsResponseSqeRpc.class);
if (data != null){
//需要验证返回值 是否正确
map.get(itemId).setGoodsSqeName(data.getRealName());
map.get(itemId).setGoodsSqeEmail(data.getUserName());
}
}
return map;
}
/**
*
* @param type 1:BU 2:计划
* @param map
* @param response
*/
private void getGoodsPrincipalNameEmail(Integer type,Map<Long, ChangeGoodsPrincipalPO> map,String response){
JSONObject jsonObject = JSONObject.parseObject(response);
Map<String,JSONObject> rpcMap = JSONObject.parseObject(jsonObject.get("data").toString(), Map.class);
if (rpcMap == null){
throw ExceptionFactory.createBiz(ResponseCode.OPERATOR_NOT_EXIST);
}
for (String rpc : rpcMap.keySet()){
ChangeGoodsPrincipalPO goodsRpc;
if (map.containsKey(rpc)){
goodsRpc = map.get(rpc);
}else{
goodsRpc = new ChangeGoodsPrincipalPO();
}
if (type == 1){
goodsRpc.setFunctionaryName(rpcMap.get(rpc).get("uid").toString());
goodsRpc.setFunctionaryEmail(rpcMap.get(rpc).get("name").toString());
}else {
goodsRpc.setGoodsProjectName(rpcMap.get(rpc).get("uid").toString());
goodsRpc.setGoodsProjectEmail(rpcMap.get(rpc).get("name").toString());
}
map.put(Long.parseLong(rpc),goodsRpc);
}
}
} }
package com.netease.mail.yanxuan.change.dal.meta.model.po;
import lombok.Data;
/**
* @author WangJiaXiang
* @date 2022/12/2/002$
*/
@Data
public class ChangeGoodsPrincipalPO {
/**
* 负责人名称
*/
private String functionaryName;
/**
* 负责人邮箱
*/
private String functionaryEmail;
/**
* 采购名称
*/
private String purchaseName;
/**
* 采购邮箱
*/
private String purchaseEmail;
/**
* SQE 名称
*/
private String goodsSqeName;
/**
* SQE 邮箱
*/
private String goodsSqeEmail;
/**
* 计划负责人名称
*/
private String goodsProjectName;
/**
* 计划负责人邮箱
*/
private String goodsProjectEmail;
}
...@@ -12,7 +12,7 @@ public class GoodsPurchaseRpc { ...@@ -12,7 +12,7 @@ public class GoodsPurchaseRpc {
private String supplierName; private String supplierName;
private String itemId; private Integer itemId;
private String supplierTraceBusiness; private String supplierTraceBusiness;
......
...@@ -6,10 +6,11 @@ ...@@ -6,10 +6,11 @@
*/ */
package com.netease.mail.yanxuan.change.web.controller; package com.netease.mail.yanxuan.change.web.controller;
import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService;
import com.netease.mail.yanxuan.change.common.bean.AdminUserHolder;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.netease.mail.yanxuan.change.biz.service.rpc.TodoService; import com.netease.mail.yanxuan.change.biz.service.rpc.TodoService;
...@@ -19,6 +20,9 @@ import com.netease.mail.yanxuan.change.dal.entity.ChangeRecord; ...@@ -19,6 +20,9 @@ import com.netease.mail.yanxuan.change.dal.entity.ChangeRecord;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.Map;
/** /**
* @Author zcwang * @Author zcwang
* @Date 2022/11/28 * @Date 2022/11/28
...@@ -44,4 +48,12 @@ public class TestController { ...@@ -44,4 +48,12 @@ public class TestController {
todoService.progressTodoTask(entity, operateType); todoService.progressTodoTask(entity, operateType);
return AjaxResult.success(); return AjaxResult.success();
} }
@Autowired
private InteriorChangeConfigService service;
@GetMapping("/test1")
public Map<Long, ChangeGoodsPrincipalPO> test1(@RequestParam List<Long> itemIds){
return service.queryGoodsPrincipalInfo(itemIds);
}
} }
\ No newline at end of file
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