Commit e26c439e by “zcwang”

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

parents 2337aa82 c10e2cab
...@@ -46,9 +46,6 @@ public interface AdminChangeConfigService { ...@@ -46,9 +46,6 @@ public interface AdminChangeConfigService {
*/ */
AjaxResult deleteChange(Long id); AjaxResult deleteChange(Long id);
/**
* 查询出所哟一级二级类目 AjaxResult queryConfigType();
* @return
*/
AjaxResult queryConfigType();
} }
package com.netease.mail.yanxuan.change.biz.service.change; package com.netease.mail.yanxuan.change.biz.service.change;
import com.netease.mail.yanxuan.change.dal.entity.ChangeType; import com.netease.mail.yanxuan.change.dal.entity.ChangeType;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeTypePo;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
...@@ -13,10 +13,11 @@ public interface ChangeTypeService { ...@@ -13,10 +13,11 @@ public interface ChangeTypeService {
/** /**
* 查询变更类型表 * 查询变更类型表
* @param id id * @param id id
* @Param sonChangeClassId 二级ID
* @param deleteTab 是否查伪删除数据 * @param deleteTab 是否查伪删除数据
* @return * @return
*/ */
List<ChangeType> queryChangeType(Long id,Boolean deleteTab); List<ChangeType> queryChangeType(Long id,Long sonChangeClassId,Boolean deleteTab);
/** /**
* 添加类型 如果遇到内容一样的情况下不能覆盖直接修改伪删状态 涉及到二级关联信息 * 添加类型 如果遇到内容一样的情况下不能覆盖直接修改伪删状态 涉及到二级关联信息
...@@ -43,5 +44,5 @@ public interface ChangeTypeService { ...@@ -43,5 +44,5 @@ public interface ChangeTypeService {
* 二级目录类型查询出所有一级二级 * 二级目录类型查询出所有一级二级
* @return * @return
*/ */
Map<ChangeType,List<ChangeType>> queryConfigType(); List<ChangeTypePo> queryConfigType();
} }
package com.netease.mail.yanxuan.change.biz.service.impl; package com.netease.mail.yanxuan.change.biz.service.impl;
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.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.service.AdminChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.AdminChangeConfigService;
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.ResponseCodeEnum;
import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig;
import com.netease.mail.yanxuan.change.dal.entity.ChangeExecConfig;
import com.netease.mail.yanxuan.change.dal.entity.ChangeType;
import com.netease.mail.yanxuan.change.dal.mapper.ChangeConfigMapper; import com.netease.mail.yanxuan.change.dal.mapper.ChangeConfigMapper;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeConfigPo; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeConfigPo;
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.dal.meta.model.vo.ChangeConfigVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -26,6 +33,12 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -26,6 +33,12 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
@Autowired @Autowired
private ChangeTypeService typeService; private ChangeTypeService typeService;
@Autowired
private ChangeConfigService changeConfigService;
@Autowired
private ChangeExecConfigService execConfigService;
@Override @Override
public AjaxResult queryChanges(Integer pageNum, Integer pageSize, ChangeConfigQueryReq req) { public AjaxResult queryChanges(Integer pageNum, Integer pageSize, ChangeConfigQueryReq req) {
//进行分页 //进行分页
...@@ -38,16 +51,31 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService { ...@@ -38,16 +51,31 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
@Override @Override
public AjaxResult queryDetail(Long id, Long sonChangeClassId) { public AjaxResult queryDetail(Long id, Long sonChangeClassId) {
if (id == null || sonChangeClassId == null){ if (id == null || sonChangeClassId == null){
// return AjaxResult.with(ResponseCode.BAD_REQUEST); return AjaxResult.of(ResponseCodeEnum.PARAM_ERROR);
} }
//尝试从reids里面 获取 如果获取到了直接返回 //尝试从reids里面 获取 如果获取到了直接返回
//从数据库中取出数据 //从数据库中取出数据
ChangeConfig changeConfig = changeConfigService.queryChangeConfig(id);
if (changeConfig == null){
return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
}
List<ChangeType> changeTypes = typeService.queryChangeType(changeConfig.getParentChangeClassId(), changeConfig.getSonChangeClassId(), true);
if (changeTypes == null || changeTypes.size() != 2){
return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
}
List<ChangeExecConfig> changeExecConfigs = execConfigService.queryChangeExecConfig(id);
if (changeExecConfigs == null || changeExecConfigs.size() == 0){
return AjaxResult.of(ResponseCodeEnum.NO_FOUND);
}
//组装数据
ChangeConfigVO vo = new ChangeConfigVO();
vo.setChangeConfig(changeConfig);
vo.setChangeTypes(changeTypes);
vo.setChangeExecConfigs(changeExecConfigs);
//放入缓存并返回 //放入缓存并返回
return null; return AjaxResult.success(vo);
} }
@Override @Override
......
package com.netease.mail.yanxuan.change.biz.service.impl.change; package com.netease.mail.yanxuan.change.biz.service.impl.change;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode; import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory; import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
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.dal.entity.ChangeType; import com.netease.mail.yanxuan.change.dal.entity.ChangeType;
import com.netease.mail.yanxuan.change.dal.mapper.ChangeTypeMapper; import com.netease.mail.yanxuan.change.dal.mapper.ChangeTypeMapper;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeTypePo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
...@@ -26,14 +27,9 @@ public class ChangeTypeServiceImpl implements ChangeTypeService { ...@@ -26,14 +27,9 @@ public class ChangeTypeServiceImpl implements ChangeTypeService {
private ChangeTypeMapper mapper; private ChangeTypeMapper mapper;
@Override @Override
public List<ChangeType> queryChangeType(Long id, Boolean deleteTab) { public List<ChangeType> queryChangeType(Long id,Long sonChangeClassId, Boolean deleteTab) {
Example example = new Example(ChangeType.class); Integer delete = deleteTab?0:1;
Example.Criteria criteria = example.createCriteria(); return mapper.queryTypes(id,sonChangeClassId,delete);
criteria.orEqualTo("id",id);
criteria.orEqualTo("parentId",id);
//0和1 定义需要同步
criteria.andEqualTo("delete",deleteTab?1:0);
return mapper.selectByExample(example);
} }
...@@ -78,27 +74,50 @@ public class ChangeTypeServiceImpl implements ChangeTypeService { ...@@ -78,27 +74,50 @@ public class ChangeTypeServiceImpl implements ChangeTypeService {
* *
* @return * @return
*/ */
// @Override
// public Map<ChangeType, List<ChangeType>> queryConfigType() {
// //获取数据,创建目录集合,遍历分组
// List<ChangeType> changeTypes = mapper.queryArrayChangeType();
// Map<ChangeType,List<ChangeType>> typeMap = new HashMap<ChangeType,List<ChangeType>>();
// for (ChangeType changeType : changeTypes) {
// if (changeType.getParentId() == 0){
// //如果是一级 插入MAP 并创建List列表
// typeMap.put(changeType,new ArrayList<ChangeType>());
// }else{
// //二级 就找到父类的一级 并add进入一级的列表
// for(ChangeType tpye : typeMap.keySet()){
// if (tpye.getId() == changeType.getParentId()){
// typeMap.get(tpye).add(changeType);
// }
// }
// }
// }
// //MAP 去重如果父类下边包裹的List数量为0的时候就自动剔除
// typeMap.entrySet().removeIf(next -> next.getValue().size() == 0);
// return typeMap;
// }
@Override @Override
public Map<ChangeType, List<ChangeType>> queryConfigType() { public List<ChangeTypePo> queryConfigType() {
//获取数据,创建目录集合,遍历分组 //获取数据,创建目录集合,遍历分组
List<ChangeType> changeTypes = mapper.queryArrayChangeType(); List<ChangeTypePo> changeTypes = mapper.queryArrayChangeTypes();
Map<ChangeType,List<ChangeType>> typeMap = new HashMap<ChangeType,List<ChangeType>>(); List<ChangeTypePo> pos = new ArrayList<>();
for (ChangeType changeType : changeTypes) { for (ChangeTypePo changeType : changeTypes) {
if (changeType.getParentId() == 0){ if (changeType.getParentId() == 0){
//如果是一级 插入MAP 并创建List列表 //如果是一级 插入MAP 并创建List列表
typeMap.put(changeType,new ArrayList<ChangeType>()); changeType.setChangeTypes(new ArrayList<>());
pos.add(changeType);
}else{ }else{
//二级 就找到父类的一级 并add进入一级的列表 for (ChangeTypePo po : pos){
for(ChangeType tpye : typeMap.keySet()){ if (po.getId() == changeType.getParentId()){
if (tpye.getId() == changeType.getParentId()){ po.getChangeTypes().add(changeType);
typeMap.get(tpye).add(changeType); }
} }
}
} }
} }
//MAP 去重如果父类下边包裹的List数量为0的时候就自动剔除 //去重如果父类下边包裹的List数量为0的时候就自动剔除
typeMap.entrySet().removeIf(next -> next.getValue().size() == 0); pos.removeIf(changeTypePo -> changeTypePo.getChangeTypes().size() == 0);
return typeMap; return pos;
} }
/** /**
......
package com.netease.mail.yanxuan.change.common.enums;
/**
* @author WangJiaXiang
* @date 2022/11/16/016$
*/
public enum ChangeLevelEnum {
PRINCIPAL(1,"重要变更"),
ORDINARY(2,"一般变更");
private Integer type;
private String desc;
ChangeLevelEnum(Integer status, String desc) {
this.type = status;
this.desc = desc;
}
public Integer getStatus() {
return type;
}
public String getDesc() {
return desc;
}
}
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
*/ */
package com.netease.mail.yanxuan.change.dal.mapper; package com.netease.mail.yanxuan.change.dal.mapper;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeTypePo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.netease.mail.yanxuan.change.dal.entity.ChangeType; import com.netease.mail.yanxuan.change.dal.entity.ChangeType;
...@@ -24,7 +25,13 @@ public interface ChangeTypeMapper extends tk.mybatis.mapper.common.Mapper<Change ...@@ -24,7 +25,13 @@ public interface ChangeTypeMapper extends tk.mybatis.mapper.common.Mapper<Change
Integer queryTypeName(@Param("typeName") String typeName); Integer queryTypeName(@Param("typeName") String typeName);
@Select("select * from TB_YX_QC_CHANGE_TYPE where id in(#{id},#{sonChangeClassId}) and `delete` = #{delete} ")
List<ChangeType> queryTypes(
@Param("id") Long id,
@Param("sonChangeClassId")Long sonChangeClassId,
@Param("delete")Integer delete);
@Select("select * from TB_YX_QC_CHANGE_TYPE where `delete` = 0 ") @Select("select * from TB_YX_QC_CHANGE_TYPE where `delete` = 0 ")
List<ChangeType> queryArrayChangeType(); List<ChangeTypePo> queryArrayChangeTypes();
} }
\ No newline at end of file
package com.netease.mail.yanxuan.change.dal.meta.model.po;
import lombok.Data;
import java.util.List;
/**
* @author WangJiaXiang
* @date 2022/11/16/016$
*/
@Data
public class ChangeTypePo {
private Long id;
/**
* 类型名
*/
private String typeName;
/**
* 父类id
*/
private Long parentId;
/**
* 是否删除
*/
private Integer delete;
/**
* 创建时间
*/
private Long createTime;
/**
* 更新时间
*/
private Long updateTime;
private List<ChangeTypePo> changeTypes;
}
package com.netease.mail.yanxuan.change.web.meta.model.vo; package com.netease.mail.yanxuan.change.dal.meta.model.vo;
import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig;
import com.netease.mail.yanxuan.change.dal.entity.ChangeExecConfig; import com.netease.mail.yanxuan.change.dal.entity.ChangeExecConfig;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeConfigPo; import com.netease.mail.yanxuan.change.dal.entity.ChangeType;
import java.util.List; import java.util.List;
import lombok.Builder;
import lombok.Data; import lombok.Data;
/** /**
...@@ -13,13 +11,18 @@ import lombok.Data; ...@@ -13,13 +11,18 @@ import lombok.Data;
* @date 2022/11/11/011$ * @date 2022/11/11/011$
*/ */
@Data @Data
@Builder
public class ChangeConfigVO { public class ChangeConfigVO {
/** /**
* 主体内容 * 主体内容
*/ */
private ChangeConfigPo changeConfig; private ChangeConfig changeConfig;
/**
* 变更类型
*/
private List<ChangeType> changeTypes;
/** /**
* 变更执行方案 * 变更执行方案
......
...@@ -19,7 +19,7 @@ public class ChangeConfigController { ...@@ -19,7 +19,7 @@ public class ChangeConfigController {
private AdminChangeConfigService service; private AdminChangeConfigService service;
@PostMapping("/list") @GetMapping("/list")
public AjaxResult queryChanges( public AjaxResult queryChanges(
@RequestParam(name = "pageNum",defaultValue = "1") Integer pageNum, @RequestParam(name = "pageNum",defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize",defaultValue = "10")Integer pageSize, @RequestParam(name = "pageSize",defaultValue = "10")Integer pageSize,
...@@ -41,9 +41,8 @@ public class ChangeConfigController { ...@@ -41,9 +41,8 @@ public class ChangeConfigController {
@GetMapping("/detail") @GetMapping("/detail")
public AjaxResult queryDetail( public AjaxResult queryDetail(
@RequestParam(name = "id",required = false) Long id, @RequestParam(name = "id") Long id,
@RequestParam(name = "sonChangeClassId",required = false) Long sonChangeClassId){ @RequestParam(name = "sonChangeClassId") Long sonChangeClassId){
return service.queryDetail(id, sonChangeClassId); return service.queryDetail(id, sonChangeClassId);
} }
...@@ -74,8 +73,4 @@ public class ChangeConfigController { ...@@ -74,8 +73,4 @@ public class ChangeConfigController {
} }
} }
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