Commit 3eeeb2bd by “zcwang”

add: 查询负责人详情

parent 258bda37
......@@ -66,14 +66,12 @@ import com.netease.mail.yanxuan.change.dal.mapper.ChangeRecordMapper;
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.req.ChangeExecConfigReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeExecProject;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCancelReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCreateReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowDeliverReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowFile;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowListQueryReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowSubmitReq;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.CommanderResponse;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.BasicChangeFlowVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.CategoryInfoVO;
......@@ -200,8 +198,7 @@ public class ChangeFlowBiz {
ChangeRecord changeRecord = buildChangeRecord(flowId, nodeId, changeFlowCreateReq, changeCommander, uid);
changeFlowService.saveRecord(changeRecord);
// 保存变更行动方案记录
List<ChangeExecRecord> changeExecRecords = buildChangeExecRecord(changeRecord.getId(), changeExecProject,
changeFlowCreateReq, uid);
List<ChangeExecRecord> changeExecRecords = buildChangeExecRecord(changeRecord.getId(), changeExecProject);
changeExecRecords.forEach(exec->changeFlowExecService.saveRecord(exec));
List<ChangeFile> allFiles = new ArrayList<>();
// 变更前后图片/视频,非必填
......@@ -254,41 +251,14 @@ public class ChangeFlowBiz {
}
private List<ChangeExecRecord> buildChangeExecRecord(Long changeRecordId,
List<ChangeExecConfigReq> changeExecProject, ChangeFlowCreateReq changeFlowCreateReq, String uid) {
return changeExecProject.stream().map(c -> {
ChangeExecRecord changeExecRecord = new ChangeExecRecord();
changeExecRecord.setChangeRecordId(changeRecordId);
changeExecRecord.setChangeExecDepartment(c.getChangeExecDepartment());
changeExecRecord.setChangeExecUserType(c.getChangeExecUserType());
changeExecRecord.setChangeExecUser(c.getChangeExecUser());
// 查询对应的负责人
CommanderResponse commanderResponse = null;
try {
commanderResponse = interiorChangeConfigService
.queryCommanderEmail(c.getChangeExecUserType(), c.getChangeExecUser(), changeFlowCreateReq, uid);
changeExecRecord.setChangeExecUserEmail(commanderResponse.getEmail());
} catch (Exception e) {
log.error("[op:queryCommanderEmail] error, e:{}",e);
changeExecRecord.setChangeExecUserEmail(appConfig.getTestEmail());
}
changeExecRecord.setChangeRiskDesc(c.getChangeRiskDesc());
changeExecRecord.setChangeExecProject(c.getChangeExecProject());
changeExecRecord.setChangeChecking(c.getChangeChecking());
changeExecRecord.setChangeExecFinishTime(c.getChangeExecFinishTime());
changeExecRecord.setChangeExecFinishDesc(c.getChangeExecFinishDesc());
changeExecRecord.setCreateTime(DateUtils.getCurrentTime());
changeExecRecord.setUpdateTime(DateUtils.getCurrentTime());
return changeExecRecord;
}).collect(Collectors.toList());
}
private List<ChangeExecRecord> buildChangeExecUpdateRecord(Long changeRecordId, List<ChangeExecProject> changeExecProject) {
List<ChangeExecConfigReq> changeExecProject) {
return changeExecProject.stream().map(c -> {
ChangeExecRecord changeExecRecord = new ChangeExecRecord();
changeExecRecord.setChangeRecordId(changeRecordId);
changeExecRecord.setChangeExecDepartment(c.getChangeExecDepartment());
changeExecRecord.setChangeExecUserType(c.getChangeExecUserType());
changeExecRecord.setChangeExecUser(c.getChangeExecUser());
changeExecRecord.setChangeExecUserEmail(c.getChangeExecUserEmail());
changeExecRecord.setChangeRiskDesc(c.getChangeRiskDesc());
changeExecRecord.setChangeExecProject(c.getChangeExecProject());
changeExecRecord.setChangeChecking(c.getChangeChecking());
......@@ -408,12 +378,12 @@ public class ChangeFlowBiz {
Assert.notEmpty(changeFlowSubmitReq.getFiles(), "必须上传资料");
}
// 变更行动项不可为空,最多20项
List<ChangeExecProject> changeExecProjectList = changeFlowSubmitReq.getChangeExecProjectList();
List<ChangeExecConfigReq> changeExecProjectList = changeFlowSubmitReq.getChangeExecProjectList();
Assert.isTrue(changeExecProjectList.size() <= appConfig.getChangeExecLimit(),
"变更行动方案配置数超限");
changeRecord.setParentChangeClassId(changeFlowSubmitReq.getParentChangeClassId());
changeRecord.setSonChangeClassId(changeFlowSubmitReq.getSonChangeClassId());
List<String> execDepartmentList = changeExecProjectList.stream().map(ChangeExecProject::getChangeExecDepartment)
List<String> execDepartmentList = changeExecProjectList.stream().map(ChangeExecConfigReq::getChangeExecDepartment)
.collect(Collectors.toList());
changeRecord.setParticipateChangeExecDepartment(JSON.toJSONString(execDepartmentList));
changeRecord.setChangeItem(changeFlowSubmitReq.getChangeItems());
......@@ -437,7 +407,8 @@ public class ChangeFlowBiz {
Integer changeExecCount = changeFlowExecService.deleteByChangeRecordId(changeRecord.getId());
log.info("[CHANGE_FLOW_SUBMIT] delete changeExecCount:{}", changeExecCount);
// 保存变更行动方案记录
List<ChangeExecRecord> changeExecRecords = buildChangeExecUpdateRecord(changeRecord.getId(), changeFlowSubmitReq.getChangeExecProjectList());
List<ChangeExecRecord> changeExecRecords = buildChangeExecRecord(changeRecord.getId(),
changeFlowSubmitReq.getChangeExecProjectList());
changeExecRecords.forEach(exec->changeFlowExecService.saveRecord(exec));
// 更新附件,覆盖操作,先删除,后插入
List<ChangeFlowFile> files = changeFlowSubmitReq.getFiles();
......@@ -460,7 +431,7 @@ public class ChangeFlowBiz {
switch (changeResultStatus) {
case FINISH_ALL:
case FINISH_PART:
List<ChangeExecProject> execProjectList = changeFlowSubmitReq.getChangeExecProjectList();
List<ChangeExecConfigReq> execProjectList = changeFlowSubmitReq.getChangeExecProjectList();
List<ChangeExecRecord> changeExecRecordList = execProjectList.stream().map(exec -> {
Long changeExecFinishTime = exec.getChangeExecFinishTime();
Assert.notNull(changeExecFinishTime, "行动完成时间不可为空" + exec.getChangeTemplateId());
......@@ -501,7 +472,7 @@ public class ChangeFlowBiz {
long changeConfirmResultTime = changeFlowSubmitReq.getChangeConfirmResultTime();
Long tomorrowSpecificTime = DateUtils.getTomorrowSpecificTime("09:00:00");
Assert.isTrue(changeConfirmResultTime >= tomorrowSpecificTime, "时间不可晚于下次执行时间");
List<ChangeExecProject> execProjectList1 = changeFlowSubmitReq.getChangeExecProjectList();
List<ChangeExecConfigReq> execProjectList1 = changeFlowSubmitReq.getChangeExecProjectList();
List<ChangeExecRecord> changeExecRecords1 = execProjectList1.stream().map(exec -> {
Long changeExecFinishTime = exec.getChangeExecFinishTime();
Assert.notNull(changeExecFinishTime, "行动完成时间不可为空" + exec.getChangeTemplateId());
......
......@@ -5,6 +5,7 @@ import java.util.Map;
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.po.QueryCommanderEmailReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCreateReq;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.CommanderResponse;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc;
......@@ -22,11 +23,9 @@ public interface InteriorChangeConfigService {
/**
* 查询负责人信息
* @param changeExecUserType
* @param changeExecUser
* @param req
* @return
*/
CommanderResponse queryCommanderEmail(Integer changeExecUserType, String changeExecUser,
ChangeFlowCreateReq changeFlowCreateReq, String uid);
CommanderResponse queryCommanderEmail(QueryCommanderEmailReq req);
}
......@@ -27,6 +27,7 @@ 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;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO;
import com.netease.mail.yanxuan.change.dal.meta.model.po.QueryCommanderEmailReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCreateReq;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.CommanderResponse;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsPurchaseRpc;
......@@ -274,22 +275,16 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
}
@Override
public CommanderResponse queryCommanderEmail(Integer changeExecUserType, String changeExecUser,
ChangeFlowCreateReq changeFlowCreateReq, String uid) {
log.debug("[queryCommanderEmail] changeExecUserType:{}, changeExecUser:{}, changeFlowCreateReq:{}, uid:{}",
changeExecUserType, changeExecUser, changeFlowCreateReq, uid);
public CommanderResponse queryCommanderEmail(QueryCommanderEmailReq req) {
log.debug("[queryCommanderEmail] req:{}",JSON.toJSONString(req));
Integer changeExecUserType = req.getChangeExecUserType();
String changeExecUser = req.getChangeExecUser();
ChangeCommanderEnum changeCommanderEnum = ChangeCommanderEnum.getChangeCommanderEnum(changeExecUserType);
Assert.notNull(changeCommanderEnum, "变更负责人类型错误");
CommanderResponse commanderResponse = new CommanderResponse();
switch (changeCommanderEnum) {
case COMMANDER_ORIGINATOR:
commanderResponse.setEmail(uid);
break;
case FIXED_PERSON:
commanderResponse.setEmail(changeExecUser);
break;
case GOODS_ASSOCIATED:
String changeItems = changeFlowCreateReq.getChangeItems();
String changeItems = req.getChangeItems();
Assert.isTrue(StringUtils.isNotBlank(changeItems), "变更负责人为商品时,商品列表不可为空");
List<ItemVO> itemVOS = JSON.parseArray(changeItems, ItemVO.class);
List<Long> itemIdList = itemVOS.stream().map(ItemVO::getItemId).collect(Collectors.toList());
......@@ -297,8 +292,10 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
commanderResponse.setEmail(goodsResponseRpc.getEmail());
break;
case SUPPLIERS_ASSOCIATED:
String changeSupplier = req.getChangeSupplier();
Assert.isTrue(StringUtils.isNotBlank(changeSupplier), "变更负责人为商品时,商品列表不可为空");
GoodsResponseRpc supplierResponseRpc = queryChangeSupplier(changeCommanderEnum,
changeFlowCreateReq.getChangeSupplier(), changeExecUser);
changeSupplier, changeExecUser);
commanderResponse.setEmail(supplierResponseRpc.getEmail());
break;
default:
......
/**
* @(#)QueryCommanderEmailReq.java, 2022/12/6.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.dal.meta.model.po;
import lombok.Data;
/**
* @Author zcwang
* @Date 2022/12/6
*/
@Data
public class QueryCommanderEmailReq {
/**
* 变更行动人类型
*/
private Integer changeExecUserType;
/**
* 变更行动人二级类型
*/
private String changeExecUser;
/**
* 变更商品列表,JSON格式
*/
private String changeItems;
/**
* 变更供应商
*/
private String changeSupplier;
}
\ No newline at end of file
......@@ -41,6 +41,11 @@ public class ChangeExecConfigReq {
private String changeExecUser;
/**
* 变更行动人邮箱
*/
private String changeExecUserEmail;
/**
* 变更风险描述
*/
private String changeRiskDesc;
......
......@@ -86,7 +86,7 @@ public class ChangeFlowSubmitReq {
/**
* 变更行动项
*/
private List<ChangeExecProject> changeExecProjectList;
private List<ChangeExecConfigReq> changeExecProjectList;
/**
* 变更结论
*/
......
......@@ -41,7 +41,7 @@ public class ChangeFlowExecVO {
private String changeExecUser;
/**
* 变更行动人(不同类型存储不同内容)
* 变更负责人邮箱
*/
private String changeExecUserEmail;
......
......@@ -21,12 +21,15 @@ import com.github.pagehelper.PageInfo;
import com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz;
import com.netease.mail.yanxuan.change.biz.config.TitleConfig;
import com.netease.mail.yanxuan.change.biz.service.ChangeFlowService;
import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.dal.meta.model.po.QueryCommanderEmailReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCancelReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCreateReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowDeliverReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowListQueryReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowSubmitReq;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.CommanderResponse;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.BasicChangeFlowVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowListVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO;
......@@ -50,6 +53,9 @@ public class ChangeFlowController {
@Autowired
private ChangeFlowBiz changeFlowBiz;
@Autowired
private InteriorChangeConfigService interiorChangeConfigService;
/**
* 变更工单详情查询
*
......@@ -194,4 +200,14 @@ public class ChangeFlowController {
public AjaxResult<UserBaseContainerDTO> getOperator(@RequestBody InterfaceInputDTO interfaceInput) {
return AjaxResult.success(changeFlowBiz.getOperator(interfaceInput));
}
/**
* 查询负责人信息
* @param req
* @return
*/
@PostMapping("/queryCommanderInfo")
public AjaxResult<CommanderResponse> queryCommanderInfo(@RequestBody QueryCommanderEmailReq req) {
return AjaxResult.success(interiorChangeConfigService.queryCommanderEmail(req));
}
}
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