Commit f05bf9e3 by “zcwang”

Merge remote-tracking branch 'origin/feature-changeFlow-221110' into feature-changeFlow-221110

# Conflicts:
#	yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/InteriorChangeConfigServiceImpl.java
parents 7b120928 84a89c72
......@@ -18,6 +18,7 @@ import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangePrincipalEnum;
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.meta.model.po.ChangeCommanderPO;
......@@ -33,6 +34,13 @@ import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplier
import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierRelatedUserReq;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierUserRsp;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/**
* @author WangJiaXiang
......@@ -73,17 +81,19 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
}
//查询出当前模板配置中选择的 角色
ChangeCommanderEnum changeCommanderEnum = ChangeCommanderEnum.getChangeCommanderEnum(changeConfig.getChangeCommanderType());
if (changeCommanderEnum == null){
return null;
}
//直接排除 选项为固定人 或者发起人
if (changeCommanderEnum.getId() == 1 || changeCommanderEnum.getId() == 2){
if (changeConfig.getChangeCommanderType() == ChangeCommanderEnum.COMMANDER_ORIGINATOR.getId() || changeConfig.getChangeCommanderType() == ChangeCommanderEnum.FIXED_PERSON.getId() ){
//固定人或者发起人;
rpc.setEmail(changeConfig.getChangeCommander());
return rpc;
}
ChangeSubjectEnum changeSubjectEnum = ChangeSubjectEnum.getChangeSubjectEnum(changeConfig.getChangeSubject());
if (changeSubjectEnum.getType() == 1){
if (ChangeSubjectEnum.PRODUCT.getType() == changeConfig.getChangeSubject()){
//商品变更
return queryGoodsCommander(changeCommanderEnum,changeCommander.getGoodsInfos(),changeConfig.getChangeCommander());
}else if (changeSubjectEnum.getType() == 2){
}else if (ChangeSubjectEnum.SUPPLIER.getType() == changeConfig.getChangeSubject()){
//供应商 采购 计划 SQE
return queryChangeSupplier(changeCommanderEnum,changeCommander.getChangeSupplierId(),changeConfig.getChangeCommander());
}
......@@ -95,11 +105,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* 商品的最终角色查询
* @param commanderEnum 查询方向 枚举
* @param goodsInfos 商品的列表
* @param commander 商品的关联角色
* @param commander 商品的关联角色 ChangeCommanderEnum
* @return
*/
public GoodsResponseRpc queryGoodsCommander(ChangeCommanderEnum commanderEnum,List<Long> goodsInfos,String commander){
if (commanderEnum.getId() != 3 || goodsInfos == null || goodsInfos.size() == 0 || commander == null){
private GoodsResponseRpc queryGoodsCommander(ChangeCommanderEnum commanderEnum,List<Long> goodsInfos,String commander){
if (commanderEnum.getId() != ChangeCommanderEnum.GOODS_ASSOCIATED.getId() || CollectionUtils.isEmpty(goodsInfos) || commander == null){
return null;
}
Map<String,GoodsResponseRpc> map = new HashMap<String,GoodsResponseRpc>();
......@@ -110,11 +120,13 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//记录出现的所有值
List<GoodsResponseRpc> emails = new ArrayList<GoodsResponseRpc>();
//遍历取出所有商品关联的人
if (commander.equals("商品BU")) {
if (ChangePrincipalEnum.GOODS_BU.getName().equals(commander)) {
String detail = itemcenterApiRpcService.getDetail(goodsInfos);
logger.error("根据商品查看商品负责BU接口返回值\t"+detail);
getGoodsNameEmail(emails,detail);
} else if (commander.equals("采购")) {
} else if (ChangePrincipalEnum.PURCHASE.getName().equals(commander)) {
//采购返回值处理逻辑
String detail = supplierSendService.queryGoodsPurchase(goodsInfos);
logger.error("根据商品查看商品负责采购接口返回值\t"+detail);
......@@ -126,11 +138,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
goodsRpc.setName(purchaseRpc.getSupplierName());
emails.add(goodsRpc);
}
} else if (commander.equals("计划")) {
} else if (ChangePrincipalEnum.PROSPECTUS.getName().equals(commander)) {
String detail = pfuApiRpcService.getDetail(goodsInfos);
logger.error("根据商品查看商品负责计划接口返回值\t"+detail);
getGoodsNameEmail(emails,detail);
} else if (commander.equals("SQE")) {
} else if (ChangePrincipalEnum.SQE.getName().equals(commander)) {
for (Long goods:goodsInfos) {
String detail = qcApiRpcService.getDetail(goods.intValue());
logger.error("根据商品查看商品负责SQE接口返回值\t"+detail);
......@@ -184,11 +196,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
List<String> supplierIdList = new ArrayList<>();
supplierIdList.add(changeSupplierId);
//changeSupplier 根据提供的信息去查询 最终返回
if (commander.equals("采购")){
if (ChangePrincipalEnum.PURCHASE.getName().equals(commander)){
req.setSearchType(1);
}else if (commander.equals("计划")){
}else if (ChangePrincipalEnum.PROSPECTUS.getName().equals(commander)){
req.setSearchType(2);
}else if (commander.equals("SQE")){
}else if (ChangePrincipalEnum.SQE.getName().equals(commander)){
req.setSearchType(3);
}
req.setSupplierIdList(supplierIdList);
......@@ -231,11 +243,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//商品BU
String functionary = itemcenterApiRpcService.getDetail(itemIds);
logger.error("请求商品BU结果"+functionary);
getGoodsPrincipalNameEmail(1,map,functionary);
getGoodsPrincipalNameEmail(ChangePrincipalEnum.GOODS_BU.getType(),map,functionary);
//计划
String project = pfuApiRpcService.getDetail(itemIds);
logger.error("请求商品计划结果"+project);
getGoodsPrincipalNameEmail(2,map,project);
getGoodsPrincipalNameEmail(ChangePrincipalEnum.PURCHASE.getType(),map,project);
//商品采购
String GoodsPurchase = supplierSendService.queryGoodsPurchase(itemIds);
JSONObject jsonObject = JSONObject.parseObject(GoodsPurchase);
......
package com.netease.mail.yanxuan.change.common.enums;
/**
* @author WangJiaXiang
* @date 2022/12/6/006$
*/
public enum ChangePrincipalEnum {
GOODS_BU(1,"商品BU"),
PURCHASE(2,"采购"),
PROSPECTUS(3,"计划"),
SQE(4,"SQE");
ChangePrincipalEnum(Integer type, String name) {
this.type = type;
this.name = name;
}
private Integer type;
private String name;
public Integer getType() {
return type;
}
public String getName() {
return name;
}
}
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