Commit a8176fe6 by jx-art

测试部门查询 以及修改返回执行人逻辑

parent 74cd2911
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.rpc.GoodsResponseRpc;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
...@@ -9,8 +10,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO; ...@@ -9,8 +10,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO;
*/ */
public interface InteriorChangeConfigService { public interface InteriorChangeConfigService {
String queryCommanderInfo(ChangeCommanderPO changeCommander); GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander);
} }
...@@ -11,6 +11,8 @@ public interface ChangeConfigService { ...@@ -11,6 +11,8 @@ public interface ChangeConfigService {
ChangeConfig queryChangeConfig(Long id); ChangeConfig queryChangeConfig(Long id);
ChangeConfig queryChangeType(Long parentChangeClassId,Long sonChangeClassId);
Boolean deleteChangeConfig(Long id); Boolean deleteChangeConfig(Long id);
ChangeConfig addChangeConfig(ChangeConfig changeConfig); ChangeConfig addChangeConfig(ChangeConfig changeConfig);
......
...@@ -9,16 +9,18 @@ import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum; ...@@ -9,16 +9,18 @@ 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.rpc.GoodsPurchaseRpc;
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;
import com.netease.mail.yanxuan.change.integration.flow.goods.ItemcenterApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.goods.ItemcenterApiRpcService;
import com.netease.mail.yanxuan.change.integration.flow.goods.PfuApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.goods.PfuApiRpcService;
import com.netease.mail.yanxuan.change.integration.flow.goods.QcApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.goods.QcApiRpcService;
import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
...@@ -26,6 +28,8 @@ import java.util.Map; ...@@ -26,6 +28,8 @@ import java.util.Map;
*/ */
public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigService { public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigService {
private static Logger logger = LoggerFactory.getLogger(InteriorChangeConfigServiceImpl.class);
@Autowired @Autowired
private ChangeConfigService changeConfigService; private ChangeConfigService changeConfigService;
...@@ -38,16 +42,19 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -38,16 +42,19 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//查看商品BU //查看商品BU
@Autowired @Autowired
private ItemcenterApiRpcService itemcenterApiRpcService; private ItemcenterApiRpcService itemcenterApiRpcService;
@Autowired
private FlowRpcSupplierSendService supplierSendService;
@Override @Override
public String queryCommanderInfo(ChangeCommanderPO changeCommander) { public GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander) {
//获取模板名称 通过一级变更类型 二级变更类型ID 定位模板 //获取模板名称 通过一级变更类型 二级变更类型ID 定位模板
ChangeConfig changeConfig = changeConfigService.queryChangeConfig(changeCommander.getId()); ChangeConfig changeConfig = changeConfigService.queryChangeType(changeCommander.getParentChangeClassId(), changeCommander.getSonChangeClassId());
//查询出当前模板配置中选择的 角色 //查询出当前模板配置中选择的 角色
ChangeCommanderEnum changeCommanderEnum = ChangeCommanderEnum.getChangeCommanderEnum(changeConfig.getChangeCommanderType()); ChangeCommanderEnum changeCommanderEnum = ChangeCommanderEnum.getChangeCommanderEnum(changeConfig.getChangeCommanderType());
//直接排除 选项为固定人 或者发起人 //直接排除 选项为固定人 或者发起人
if (changeCommanderEnum.getId() == 1 || changeCommanderEnum.getId() == 2){ if (changeCommanderEnum.getId() == 1 || changeCommanderEnum.getId() == 2){
return changeConfig.getChangeCommander(); //固定人或者发起人 changeConfig.getChangeCommander();
return null;
} }
ChangeSubjectEnum changeSubjectEnum = ChangeSubjectEnum.getChangeSubjectEnum(changeConfig.getChangeSubject()); ChangeSubjectEnum changeSubjectEnum = ChangeSubjectEnum.getChangeSubjectEnum(changeConfig.getChangeSubject());
if (changeSubjectEnum.getType() == 1){ if (changeSubjectEnum.getType() == 1){
...@@ -57,8 +64,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -57,8 +64,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//供应商 采购 计划 SQE //供应商 采购 计划 SQE
return queryChangeSupplier(changeCommanderEnum,changeCommander.getChangeSupplierId(),changeConfig.getChangeCommander()); return queryChangeSupplier(changeCommanderEnum,changeCommander.getChangeSupplierId(),changeConfig.getChangeCommander());
} }
//其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 //其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 changeConfig.getChangeCommander();
return changeConfig.getChangeCommander(); return null;
} }
...@@ -69,52 +76,75 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -69,52 +76,75 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* @param commander 商品的关联角色 * @param commander 商品的关联角色
* @return * @return
*/ */
private String queryGoodsCommander(ChangeCommanderEnum commanderEnum,List<Long> goodsInfos,String commander){ private GoodsResponseRpc queryGoodsCommander(ChangeCommanderEnum commanderEnum,List<Long> goodsInfos,String commander){
if (commanderEnum.getId() != 3 || goodsInfos == null || goodsInfos.size() == 0 || commander == null){ if (commanderEnum.getId() != 3 || goodsInfos == null || goodsInfos.size() == 0 || commander == null){
return "类型错误 或者未选择商品"; return null;
} }
Map<String,Integer> map = new HashMap<String,Integer>(); Map<String,GoodsResponseRpc> map = new HashMap<String,GoodsResponseRpc>();
//记录最大出现次数 //记录最大出现次数
int temp = 0; int temp = 0;
//记录最大值 //记录最大值
String name = ""; GoodsResponseRpc name = new GoodsResponseRpc();
//记录出现的所有值 //记录出现的所有值
List<String> emails = new ArrayList<String>(); List<GoodsResponseRpc> emails = new ArrayList<GoodsResponseRpc>();
//遍历取出所有商品关联的人 //遍历取出所有商品关联的人
if (commander.equals("商品BU")) { if (commander.equals("商品BU")) {
String detail = itemcenterApiRpcService.getDetail(goodsInfos); String detail = itemcenterApiRpcService.getDetail(goodsInfos);
logger.error("根据商品查看商品负责BU接口返回值\t"+detail);
getGoodsNameEmail(emails,detail); getGoodsNameEmail(emails,detail);
} else if (commander.equals("采购")) { } else if (commander.equals("采购")) {
//采购返回值处理逻辑
String detail = supplierSendService.queryGoodsPurchase(goodsInfos);
logger.error("根据商品查看商品负责采购接口返回值\t"+detail);
JSONObject jsonObject = JSONObject.parseObject(detail);
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.getSupplierName());
emails.add(goodsRpc);
}
} else if (commander.equals("计划")) { } else if (commander.equals("计划")) {
String detail = pfuApiRpcService.getDetail(goodsInfos); String detail = pfuApiRpcService.getDetail(goodsInfos);
logger.error("根据商品查看商品负责计划接口返回值\t"+detail);
getGoodsNameEmail(emails,detail); getGoodsNameEmail(emails,detail);
} else if (commander.equals("SQE")) { } else if (commander.equals("SQE")) {
for (Long goods:goodsInfos) { for (Long goods:goodsInfos) {
String detail = qcApiRpcService.getDetail(goods.intValue()); String detail = qcApiRpcService.getDetail(goods.intValue());
logger.error("根据商品查看商品负责SQE接口返回值\t"+detail);
JSONObject jsonObject = JSONObject.parseObject(detail); JSONObject jsonObject = JSONObject.parseObject(detail);
GoodsResponseSqeRpc data = jsonObject.getObject("data", GoodsResponseSqeRpc.class); GoodsResponseSqeRpc data = jsonObject.getObject("data", GoodsResponseSqeRpc.class);
if (data != null){ if (data != null){
emails.add(data.getUserName()); //需要验证返回值 是否正确
GoodsResponseRpc rpc = new GoodsResponseRpc();
rpc.setEmail(data.getUserName());
rpc.setName(data.getRealName());
} }
} }
} }
for (String email : emails){ //逻辑发生变更
if (!map.containsKey(email)){ for (GoodsResponseRpc email : emails){
map.put(email,1); if (!map.containsKey(email.getName())){
email.setOccurrenceNumber(1);
}else{ }else{
Integer integer = map.get(email); GoodsResponseRpc goodsResponseRpc = map.get(email.getName());
++integer; email.setOccurrenceNumber(goodsResponseRpc.getOccurrenceNumber()+1);
if (temp < integer){ if (temp < goodsResponseRpc.getOccurrenceNumber()){
temp = integer; temp = goodsResponseRpc.getOccurrenceNumber();
name = email; name = goodsResponseRpc;
} }
map.put(email,integer);
} }
map.put(email.getName(),email);
}
if (name == null){
Iterator<GoodsResponseRpc> iterator = map.values().iterator();
name = iterator.next();
} }
return name; return name;
} }
/** /**
* 供应商角色最终查询 * 供应商角色最终查询
* @param commanderEnum 查询方向 枚举 * @param commanderEnum 查询方向 枚举
...@@ -122,9 +152,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -122,9 +152,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* @param commander 供应商关联角色 * @param commander 供应商关联角色
* @return * @return
*/ */
private String queryChangeSupplier(ChangeCommanderEnum commanderEnum,String changeSupplierId,String commander){ private GoodsResponseRpc queryChangeSupplier(ChangeCommanderEnum commanderEnum,String changeSupplierId,String commander){
if (commanderEnum.getId() != 4 || changeSupplierId == null || commander == null){ if (commanderEnum.getId() != 4 || changeSupplierId == null || commander == null){
return "返回空值 或者指示值"; return null;
} }
//changeSupplier 根据提供的信息去查询 最终返回 //changeSupplier 根据提供的信息去查询 最终返回
if (commander.equals("采购")){ if (commander.equals("采购")){
...@@ -143,14 +173,17 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -143,14 +173,17 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* @param emails 储存邮箱队列 * @param emails 储存邮箱队列
* @param response 请求返结果 * @param response 请求返结果
*/ */
private void getGoodsNameEmail(List<String> emails,String response){ private void getGoodsNameEmail(List<GoodsResponseRpc> emails,String response){
JSONObject jsonObject = JSONObject.parseObject(response); JSONObject jsonObject = JSONObject.parseObject(response);
Map<String,JSONObject> rpcMap = JSONObject.parseObject(jsonObject.get("data").toString(), Map.class); Map<String,JSONObject> rpcMap = JSONObject.parseObject(jsonObject.get("data").toString(), Map.class);
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()){
emails.add(rpcMap.get(rpc).get("uid").toString()); GoodsResponseRpc goodsRpc = new GoodsResponseRpc();
goodsRpc.setEmail(rpcMap.get(rpc).get("uid").toString());
goodsRpc.setName(rpcMap.get(rpc).get("name").toString());
emails.add(goodsRpc);
} }
} }
......
...@@ -21,6 +21,14 @@ public class ChangeConfigServiceImpl implements ChangeConfigService { ...@@ -21,6 +21,14 @@ public class ChangeConfigServiceImpl implements ChangeConfigService {
} }
@Override @Override
public ChangeConfig queryChangeType(Long parentChangeClassId, Long sonChangeClassId) {
if (parentChangeClassId == null || sonChangeClassId == null){
return null;
}
return mapper.queryChangeType(parentChangeClassId, sonChangeClassId);
}
@Override
public Boolean deleteChangeConfig(Long id) { public Boolean deleteChangeConfig(Long id) {
mapper.deleteById(id); mapper.deleteById(id);
return true; return true;
......
...@@ -29,6 +29,9 @@ public interface ChangeConfigMapper extends tk.mybatis.mapper.common.Mapper<Chan ...@@ -29,6 +29,9 @@ public interface ChangeConfigMapper extends tk.mybatis.mapper.common.Mapper<Chan
@Delete("delete from TB_YX_QC_CHANGE_CONFIG where id = #{id}") @Delete("delete from TB_YX_QC_CHANGE_CONFIG where id = #{id}")
void deleteById(@Param("id") Long id); void deleteById(@Param("id") Long id);
@Select("select * from TB_YX_QC_CHANGE_CONFIG where parent_change_class_id = #{parentChangeClassId} and son_change_class_id = #{sonChangeClassId}")
ChangeConfig queryChangeType(Long parentChangeClassId,Long sonChangeClassId);
List<ChangeConfigPo> selectChangeConfigPo(ChangeConfigQueryReq req); List<ChangeConfigPo> selectChangeConfigPo(ChangeConfigQueryReq req);
List<ChangeType> queryByparentChangeClassId(); List<ChangeType> queryByparentChangeClassId();
......
...@@ -12,10 +12,9 @@ import java.util.List; ...@@ -12,10 +12,9 @@ import java.util.List;
@Data @Data
public class ChangeCommanderPO { public class ChangeCommanderPO {
/** private Long parentChangeClassId;
* 变更模板主键ID
*/ private Long sonChangeClassId;
private Long id;
/** /**
* 供应商信息 * 供应商信息
......
package com.netease.mail.yanxuan.change.dal.meta.model.rpc;
import lombok.Data;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
* 商品采购人返回信息
*/
@Data
public class GoodsPurchaseRpc {
private String supplierName;
private String itemId;
private String supplierTraceBusiness;
}
package com.netease.mail.yanxuan.change.dal.meta.model.rpc;
import lombok.Data;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
* 根据商品查询对应负责人的信息
*/
@Data
public class GoodsResponseRpc {
private String name;
private String email;
private Integer occurrenceNumber;
}
package com.netease.mail.yanxuan.change.integration.flow;
import com.netease.yanxuan.missa.client.annotation.MissaClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
*/
@Service
@MissaClient(serviceCode = "yanxuan-ius")
public interface FlowIusRpcService {
@GetMapping("/v1/qc/user/get")
String queryEmailInfo(@RequestParam(name = "uid")String uid);
@GetMapping("/v1/qc/user/queryLeaderChain")
String queryDepartment(@RequestParam(name = "uid")String uid);
}
...@@ -5,11 +5,10 @@ import com.netease.mail.yanxuan.change.common.bean.AjaxResult; ...@@ -5,11 +5,10 @@ import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigQueryReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigQueryReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigReq;
import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService; import com.netease.mail.yanxuan.change.integration.flow.FlowIusRpcService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
...@@ -105,12 +104,16 @@ public class ChangeConfigController { ...@@ -105,12 +104,16 @@ public class ChangeConfigController {
} }
@Autowired @Autowired
private FlowRpcSupplierSendService sendEmailService; private FlowIusRpcService iusRpcService;
@PostMapping("/test") @GetMapping("/test")
public String queryGoods(@RequestBody List<Long> longList){ public String queryGoods(){
return sendEmailService.queryGoodsPurchase(longList); return iusRpcService.queryEmailInfo("grp.gyhtest1001@corp.netease.com");
} }
@GetMapping("/test1")
public String queryGoods1(){
return iusRpcService.queryDepartment("grp.gyhtest1001@corp.netease.com");
}
} }
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