Commit 10d62aa1 by “zcwang”

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

# Conflicts:
#	yanxuan-qc-change-system-dal/src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
parents 4fc4ddfc 779ebe73
...@@ -2,14 +2,14 @@ package com.netease.mail.yanxuan.change.biz.service.impl.change; ...@@ -2,14 +2,14 @@ package com.netease.mail.yanxuan.change.biz.service.impl.change;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeExecConfigService;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
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.biz.service.change.ChangeConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeExecConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService; import com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean; import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode; import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum; import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum;
...@@ -32,6 +32,7 @@ import org.springframework.data.redis.core.StringRedisTemplate; ...@@ -32,6 +32,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -43,43 +44,38 @@ import java.util.concurrent.TimeUnit; ...@@ -43,43 +44,38 @@ import java.util.concurrent.TimeUnit;
@Service @Service
public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
private static final String CHANGE_CONFIG = "changeConfig:";
@Autowired @Autowired
public ChangeConfigMapper mapper; public ChangeConfigMapper mapper;
Logger logger = LoggerFactory.getLogger(AdminChangeConfigServiceImpl.class);
@Autowired @Autowired
private ChangeTypeService typeService; private ChangeTypeService typeService;
@Autowired @Autowired
private ChangeConfigService changeConfigService; private ChangeConfigService changeConfigService;
@Autowired @Autowired
private ChangeExecConfigService execConfigService; private ChangeExecConfigService execConfigService;
@Autowired @Autowired
private StringRedisTemplate redisTemplate; private StringRedisTemplate redisTemplate;
private ValueOperations<String, String> value; private ValueOperations<String, String> value;
private static final String CHANGE_CONFIG = "changeConfig:";
Logger logger = LoggerFactory.getLogger(AdminChangeConfigServiceImpl.class);
@Override @Override
public AjaxResult queryChanges(Integer pageNum, Integer pageSize, ChangeConfigQueryReq req) { public AjaxResult queryChanges(Integer pageNum, Integer pageSize, ChangeConfigQueryReq req) {
ChangeConfigArrayVO vo = new ChangeConfigArrayVO(); ChangeConfigArrayVO vo = new ChangeConfigArrayVO();
//进行分页 //进行分页
PageHelper.startPage(pageNum,pageSize); PageHelper.startPage(pageNum, pageSize);
List<ChangeConfigPo> changeConfigPos = mapper.selectChangeConfigPo(req); List<ChangeConfigPo> changeConfigPos = mapper.selectChangeConfigPo(req);
PageInfo<ChangeConfigPo> pageInfo = new PageInfo<>(changeConfigPos); PageInfo<ChangeConfigPo> pageInfo = new PageInfo<>(changeConfigPos);
Long total = pageInfo.getTotal(); Long total = pageInfo.getTotal();
PageVO pageVO = buildPageVo(total.intValue(), pageSize, pageNum); PageVO pageVO = buildPageVo(total.intValue(), pageSize, pageNum);
vo.setChangeConfigs(pageInfo.getList()); List<ChangeConfigPo> changeConfig = pageInfo.getList();
changeConfig.forEach(i -> i.getParticipateChangeExecDepartment().replace("[", "").replace("]", ""));
vo.setChangeConfigs(changeConfig);
vo.setPageVo(pageVO); vo.setPageVo(pageVO);
return AjaxResult.success(vo); return AjaxResult.success(vo);
} }
@Override @Override
public AjaxResult queryDetail(Long id,Long sonChangeClassId) { public AjaxResult queryDetail(Long id, Long sonChangeClassId) {
String changeConfigVO; String changeConfigVO;
//尝试从reids里面 获取 如果获取到了直接返回 //尝试从reids里面 获取 如果获取到了直接返回
if (id != null) { if (id != null) {
...@@ -89,63 +85,63 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -89,63 +85,63 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
} }
} }
//从数据库中取出数据 //从数据库中取出数据
ChangeConfig changeConfig = changeConfigService.queryChangeConfig(id,sonChangeClassId); ChangeConfig changeConfig = changeConfigService.queryChangeConfig(id, sonChangeClassId);
if (changeConfig == null){ if (changeConfig == null) {
return AjaxResult.of(ResponseCodeEnum.NO_FOUND); return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
} }
List<ChangeType> changeTypes = typeService.queryChangeType(changeConfig.getParentChangeClassId(), changeConfig.getSonChangeClassId(), true); List<ChangeType> changeTypes = typeService.queryChangeType(changeConfig.getParentChangeClassId(), changeConfig.getSonChangeClassId(), true);
if (changeTypes == null || changeTypes.size() != 2){ if (changeTypes == null || changeTypes.size() != 2) {
return AjaxResult.of(ResponseCodeEnum.NO_FOUND); return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
} }
List<ChangeExecConfig> changeExecConfigs = execConfigService.queryChangeExecConfig(changeConfig.getId()); List<ChangeExecConfig> changeExecConfigs = execConfigService.queryChangeExecConfig(changeConfig.getId());
if (changeExecConfigs == null || changeExecConfigs.size() == 0){ if (changeExecConfigs == null || changeExecConfigs.size() == 0) {
return AjaxResult.of(ResponseCodeEnum.NO_FOUND); return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
} }
//组装数据 //组装数据
changeConfigVO = getChangeConfigVO(changeConfig, changeTypes, changeExecConfigs); changeConfigVO = getChangeConfigVO(changeConfig, changeTypes, changeExecConfigs);
//如果没有查询后返回redis //如果没有查询后返回redis
getValue().set(CHANGE_CONFIG+id,changeConfigVO,1, TimeUnit.DAYS); getValue().set(CHANGE_CONFIG + id, changeConfigVO, 1, TimeUnit.DAYS);
return AjaxResult.success(JSON.parseObject(changeConfigVO, ChangeConfigVO.class)); return AjaxResult.success(JSON.parseObject(changeConfigVO, ChangeConfigVO.class));
} }
@Override @Override
@Transactional @Transactional
public AjaxResult createChange(ChangeConfigReq changeConfigReq) { public AjaxResult createChange(ChangeConfigReq changeConfigReq) {
logger.info("查看入参值"+changeConfigReq.toString()); logger.info("查看入参值" + changeConfigReq.toString());
//添加一级二级类目 //添加一级二级类目
List<ChangeType> changeTypes = typeService.addChangeType(changeConfigReq.getChangeTypes()); List<ChangeType> changeTypes = typeService.addChangeType(changeConfigReq.getChangeTypes());
ChangeConfig changeConfig = parameterSplicing(changeTypes,changeConfigReq); ChangeConfig changeConfig = parameterSplicing(changeTypes, changeConfigReq);
changeConfig = changeConfigService.addChangeConfig(changeConfig); changeConfig = changeConfigService.addChangeConfig(changeConfig);
List<ChangeExecConfig> changeExecConfigs = execConfigService.addChangeExecConfig(changeConfig.getId(), changeConfigReq.getChangeExeConfig()); List<ChangeExecConfig> changeExecConfigs = execConfigService.addChangeExecConfig(changeConfig.getId(), changeConfigReq.getChangeExeConfig());
//参数拼装 //参数拼装
String changeConfigVO = getChangeConfigVO(changeConfig, changeTypes, changeExecConfigs); String changeConfigVO = getChangeConfigVO(changeConfig, changeTypes, changeExecConfigs);
//新增后添加到redis //新增后添加到redis
getValue().set(CHANGE_CONFIG+changeConfig.getId(),changeConfigVO,1, TimeUnit.DAYS); getValue().set(CHANGE_CONFIG + changeConfig.getId(), changeConfigVO, 1, TimeUnit.DAYS);
return AjaxResult.success(); return AjaxResult.success();
} }
@Override @Override
@Transactional @Transactional
public AjaxResult modifyChange(ChangeConfigReq changeConfigReq) { public AjaxResult modifyChange(ChangeConfigReq changeConfigReq) {
if (changeConfigReq.getId() == null){ if (changeConfigReq.getId() == null) {
return AjaxResult.of(9001,"修改变更模板主键id不能为空"); return AjaxResult.of(9001, "修改变更模板主键id不能为空");
} }
//先查询注入ID后在修改 //先查询注入ID后在修改
ChangeConfig config = changeConfigService.queryChangeConfig(changeConfigReq.getId()); ChangeConfig config = changeConfigService.queryChangeConfig(changeConfigReq.getId());
if (config == null){ if (config == null) {
return AjaxResult.of(9001,"未找到变更类型配置"); return AjaxResult.of(9001, "未找到变更类型配置");
} }
changeConfigReq.getChangeTypes().get(0).setId(config.getParentChangeClassId()); changeConfigReq.getChangeTypes().get(0).setId(config.getParentChangeClassId());
changeConfigReq.getChangeTypes().get(1).setId(config.getSonChangeClassId()); changeConfigReq.getChangeTypes().get(1).setId(config.getSonChangeClassId());
//新增类似 //新增类似
List<ChangeType> changeTypes = typeService.updateChangeType(changeConfigReq.getChangeTypes()); List<ChangeType> changeTypes = typeService.updateChangeType(changeConfigReq.getChangeTypes());
ChangeConfig changeConfig = parameterSplicing(changeTypes,changeConfigReq); ChangeConfig changeConfig = parameterSplicing(changeTypes, changeConfigReq);
changeConfigService.updateChangeConfig(changeConfig); changeConfigService.updateChangeConfig(changeConfig);
//修改 //修改
List<ChangeExecConfig> changeExecConfigs = execConfigService.updateChangeExecConfig(changeConfigReq.getId(), changeConfigReq.getChangeExeConfig()); List<ChangeExecConfig> changeExecConfigs = execConfigService.updateChangeExecConfig(changeConfigReq.getId(), changeConfigReq.getChangeExeConfig());
//装在reids //装在reids
String changeConfigVO = getChangeConfigVO(changeConfig, changeTypes, changeExecConfigs); String changeConfigVO = getChangeConfigVO(changeConfig, changeTypes, changeExecConfigs);
getValue().set(CHANGE_CONFIG+changeConfig.getId(),changeConfigVO,1, TimeUnit.DAYS); getValue().set(CHANGE_CONFIG + changeConfig.getId(), changeConfigVO, 1, TimeUnit.DAYS);
//修改后更新redis //修改后更新redis
return AjaxResult.success(); return AjaxResult.success();
} }
...@@ -153,11 +149,11 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -153,11 +149,11 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
@Override @Override
@Transactional @Transactional
public AjaxResult deleteChange(ChangeConfigDeleteReq id) { public AjaxResult deleteChange(ChangeConfigDeleteReq id) {
if (id == null && id.getId() == null){ if (id == null && id.getId() == null) {
return AjaxResult.of(ResponseCodeEnum.PARAM_ERROR); return AjaxResult.of(ResponseCodeEnum.PARAM_ERROR);
} }
ChangeConfig changeConfig = changeConfigService.queryChangeConfig(id.getId()); ChangeConfig changeConfig = changeConfigService.queryChangeConfig(id.getId());
if (changeConfig == null){ if (changeConfig == null) {
return AjaxResult.of(ResponseCodeEnum.NO_FOUND); return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
} }
changeConfigService.deleteChangeConfig(id.getId()); changeConfigService.deleteChangeConfig(id.getId());
...@@ -165,7 +161,7 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -165,7 +161,7 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
typeService.deleteChangeTypes(changeTypes); typeService.deleteChangeTypes(changeTypes);
execConfigService.deleteChangeConfig(id.getId()); execConfigService.deleteChangeConfig(id.getId());
// 缓存内删除 // 缓存内删除
redisTemplate.delete(CHANGE_CONFIG+id.getId()); redisTemplate.delete(CHANGE_CONFIG + id.getId());
return AjaxResult.success(); return AjaxResult.success();
} }
...@@ -181,56 +177,57 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -181,56 +177,57 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
/** /**
* 添加变更模板并参数拼接 * 添加变更模板并参数拼接
*
* @param changeTypes * @param changeTypes
* @param changeConfigReq * @param changeConfigReq
* @return * @return
*/ */
private ChangeConfig parameterSplicing(List<ChangeType> changeTypes,ChangeConfigReq changeConfigReq){ private ChangeConfig parameterSplicing(List<ChangeType> changeTypes, ChangeConfigReq changeConfigReq) {
ChangeConfig changeConfig = new ChangeConfig(); ChangeConfig changeConfig = new ChangeConfig();
changeConfig.setParentChangeClassId(changeTypes.get(0).getId()); changeConfig.setParentChangeClassId(changeTypes.get(0).getId());
changeConfig.setSonChangeClassId(changeTypes.get(1).getId()); changeConfig.setSonChangeClassId(changeTypes.get(1).getId());
if (changeConfigReq.getId() != null){ if (changeConfigReq.getId() != null) {
changeConfig.setId(changeConfigReq.getId()); changeConfig.setId(changeConfigReq.getId());
} }
if (changeConfigReq.getChangeSubject() == null){ if (changeConfigReq.getChangeSubject() == null) {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
} }
//验证变更主体 //验证变更主体
ChangeSubjectEnum containsChangeSubject = ChangeSubjectEnum.getByType(changeConfigReq.getChangeSubject()); ChangeSubjectEnum containsChangeSubject = ChangeSubjectEnum.getByType(changeConfigReq.getChangeSubject());
if (containsChangeSubject == null){ if (containsChangeSubject == null) {
throw ExceptionFactory.createBiz(ResponseCode.CANT_FOUND,"变更主体不存在"); throw ExceptionFactory.createBiz(ResponseCode.CANT_FOUND, "变更主体不存在");
} }
changeConfig.setChangeSubject(changeConfigReq.getChangeSubject()); changeConfig.setChangeSubject(changeConfigReq.getChangeSubject());
if (changeConfigReq.getChangeLevel() == null){ if (changeConfigReq.getChangeLevel() == null) {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
} }
changeConfig.setChangeLevel(changeConfigReq.getChangeLevel()); changeConfig.setChangeLevel(changeConfigReq.getChangeLevel());
if (changeConfigReq.getChangeDepartment() == null){ if (changeConfigReq.getChangeDepartment() == null) {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
} }
changeConfig.setChangeDepartment(changeConfigReq.getChangeDepartment()); changeConfig.setChangeDepartment(changeConfigReq.getChangeDepartment());
if (changeConfigReq.getChangeCommanderType() == null){ if (changeConfigReq.getChangeCommanderType() == null) {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
//如果是执行人就从head里面把邮箱装载 //如果是执行人就从head里面把邮箱装载
}else if (changeConfigReq.getChangeCommanderType() == 1){ } else if (changeConfigReq.getChangeCommanderType() == 1) {
changeConfigReq.setChangeCommander(RequestLocalBean.getUid()); changeConfigReq.setChangeCommander(RequestLocalBean.getUid());
} }
changeConfig.setChangeCommanderType(changeConfigReq.getChangeCommanderType()); changeConfig.setChangeCommanderType(changeConfigReq.getChangeCommanderType());
if (changeConfigReq.getChangeCommander() == null){ if (changeConfigReq.getChangeCommander() == null) {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
} }
changeConfig.setChangeCommander(changeConfigReq.getChangeCommander()); changeConfig.setChangeCommander(changeConfigReq.getChangeCommander());
if (changeConfigReq.getNeedFile() == null){ if (changeConfigReq.getNeedFile() == null) {
throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY); throw ExceptionFactory.createBiz(ResponseCode.PARAMETER_DEFICIENCY);
} }
changeConfig.setNeedFile(changeConfigReq.getNeedFile()); changeConfig.setNeedFile(changeConfigReq.getNeedFile());
changeConfig.setCreateTime(System.currentTimeMillis()); changeConfig.setCreateTime(System.currentTimeMillis());
changeConfig.setUpdateTime(System.currentTimeMillis()); changeConfig.setUpdateTime(System.currentTimeMillis());
if (changeConfigReq.getChangeExeConfig() == null || changeConfigReq.getChangeExeConfig().size() >=21){ if (changeConfigReq.getChangeExeConfig() == null || changeConfigReq.getChangeExeConfig().size() >= 21) {
throw ExceptionFactory.createBiz(ResponseCode.EXEC_CONFIG_LENGTH); throw ExceptionFactory.createBiz(ResponseCode.EXEC_CONFIG_LENGTH);
} }
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (ChangeExecConfig execConfig : changeConfigReq.getChangeExeConfig()){ for (ChangeExecConfig execConfig : changeConfigReq.getChangeExeConfig()) {
list.add(execConfig.getChangeExecDepartment()); list.add(execConfig.getChangeExecDepartment());
} }
changeConfig.setParticipateChangeExecDepartment(list.toString()); changeConfig.setParticipateChangeExecDepartment(list.toString());
...@@ -238,14 +235,14 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -238,14 +235,14 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
} }
private ValueOperations<String, String> getValue(){ private ValueOperations<String, String> getValue() {
if (value == null){ if (value == null) {
value = redisTemplate.opsForValue(); value = redisTemplate.opsForValue();
} }
return value; return value;
} }
private String getChangeConfigVO(ChangeConfig changeConfig,List<ChangeType> changeTypes,List<ChangeExecConfig> changeExecConfigs){ private String getChangeConfigVO(ChangeConfig changeConfig, List<ChangeType> changeTypes, List<ChangeExecConfig> changeExecConfigs) {
ChangeConfigVO vo = new ChangeConfigVO(); ChangeConfigVO vo = new ChangeConfigVO();
vo.setChangeConfig(changeConfig); vo.setChangeConfig(changeConfig);
vo.setChangeTypes(changeTypes); vo.setChangeTypes(changeTypes);
......
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
</if> </if>
1=1 1=1
</where> </where>
order by create_time desc
</select> </select>
<select id="queryByparentChangeClassId" resultType="com.netease.mail.yanxuan.change.dal.entity.ChangeType"> <select id="queryByparentChangeClassId" resultType="com.netease.mail.yanxuan.change.dal.entity.ChangeType">
......
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