Commit c10e2cab by jx-art

查询 变更详情

查询 一级二级类目
parent ce0c65bd
......@@ -46,9 +46,6 @@ public interface AdminChangeConfigService {
*/
AjaxResult deleteChange(Long id);
/**
* 查询出所哟一级二级类目
* @return
*/
AjaxResult queryConfigType();
AjaxResult queryConfigType();
}
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.meta.model.po.ChangeTypePo;
import java.util.List;
import java.util.Map;
/**
* @author WangJiaXiang
......@@ -13,10 +13,11 @@ public interface ChangeTypeService {
/**
* 查询变更类型表
* @param id id
* @Param sonChangeClassId 二级ID
* @param deleteTab 是否查伪删除数据
* @return
*/
List<ChangeType> queryChangeType(Long id,Boolean deleteTab);
List<ChangeType> queryChangeType(Long id,Long sonChangeClassId,Boolean deleteTab);
/**
* 添加类型 如果遇到内容一样的情况下不能覆盖直接修改伪删状态 涉及到二级关联信息
......@@ -43,5 +44,5 @@ public interface ChangeTypeService {
* 二级目录类型查询出所有一级二级
* @return
*/
Map<ChangeType,List<ChangeType>> queryConfigType();
List<ChangeTypePo> queryConfigType();
}
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.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.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.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.ChangeConfigReq;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeConfigVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
......@@ -26,6 +33,12 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
@Autowired
private ChangeTypeService typeService;
@Autowired
private ChangeConfigService changeConfigService;
@Autowired
private ChangeExecConfigService execConfigService;
@Override
public AjaxResult queryChanges(Integer pageNum, Integer pageSize, ChangeConfigQueryReq req) {
//进行分页
......@@ -38,16 +51,31 @@ public class AdminChangeConfigServiceImpl implements AdminChangeConfigService {
@Override
public AjaxResult queryDetail(Long id, Long sonChangeClassId) {
if (id == null || sonChangeClassId == null){
// return AjaxResult.with(ResponseCode.BAD_REQUEST);
return AjaxResult.of(ResponseCodeEnum.PARAM_ERROR);
}
//尝试从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
......
package com.netease.mail.yanxuan.change.biz.service.impl.change;
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.service.change.ChangeTypeService;
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.meta.model.po.ChangeTypePo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author WangJiaXiang
......@@ -26,14 +27,9 @@ public class ChangeTypeServiceImpl implements ChangeTypeService {
private ChangeTypeMapper mapper;
@Override
public List<ChangeType> queryChangeType(Long id, Boolean deleteTab) {
Example example = new Example(ChangeType.class);
Example.Criteria criteria = example.createCriteria();
criteria.orEqualTo("id",id);
criteria.orEqualTo("parentId",id);
//0和1 定义需要同步
criteria.andEqualTo("delete",deleteTab?1:0);
return mapper.selectByExample(example);
public List<ChangeType> queryChangeType(Long id,Long sonChangeClassId, Boolean deleteTab) {
Integer delete = deleteTab?0:1;
return mapper.queryTypes(id,sonChangeClassId,delete);
}
......@@ -78,27 +74,50 @@ public class ChangeTypeServiceImpl implements ChangeTypeService {
*
* @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
public Map<ChangeType, List<ChangeType>> queryConfigType() {
public List<ChangeTypePo> queryConfigType() {
//获取数据,创建目录集合,遍历分组
List<ChangeType> changeTypes = mapper.queryArrayChangeType();
Map<ChangeType,List<ChangeType>> typeMap = new HashMap<ChangeType,List<ChangeType>>();
for (ChangeType changeType : changeTypes) {
List<ChangeTypePo> changeTypes = mapper.queryArrayChangeTypes();
List<ChangeTypePo> pos = new ArrayList<>();
for (ChangeTypePo changeType : changeTypes) {
if (changeType.getParentId() == 0){
//如果是一级 插入MAP 并创建List列表
typeMap.put(changeType,new ArrayList<ChangeType>());
changeType.setChangeTypes(new ArrayList<>());
pos.add(changeType);
}else{
//二级 就找到父类的一级 并add进入一级的列表
for(ChangeType tpye : typeMap.keySet()){
if (tpye.getId() == changeType.getParentId()){
typeMap.get(tpye).add(changeType);
}
}
for (ChangeTypePo po : pos){
if (po.getId() == changeType.getParentId()){
po.getChangeTypes().add(changeType);
}
}
}
}
//MAP 去重如果父类下边包裹的List数量为0的时候就自动剔除
typeMap.entrySet().removeIf(next -> next.getValue().size() == 0);
return typeMap;
//去重如果父类下边包裹的List数量为0的时候就自动剔除
pos.removeIf(changeTypePo -> changeTypePo.getChangeTypes().size() == 0);
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 @@
*/
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 com.netease.mail.yanxuan.change.dal.entity.ChangeType;
......@@ -24,7 +25,13 @@ public interface ChangeTypeMapper extends tk.mybatis.mapper.common.Mapper<Change
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 ")
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.meta.model.po.ChangeConfigPo;
import com.netease.mail.yanxuan.change.dal.entity.ChangeType;
import java.util.List;
import lombok.Builder;
import lombok.Data;
/**
......@@ -13,13 +11,18 @@ import lombok.Data;
* @date 2022/11/11/011$
*/
@Data
@Builder
public class ChangeConfigVO {
/**
* 主体内容
*/
private ChangeConfigPo changeConfig;
private ChangeConfig changeConfig;
/**
* 变更类型
*/
private List<ChangeType> changeTypes;
/**
* 变更执行方案
......
......@@ -19,7 +19,7 @@ public class ChangeConfigController {
private AdminChangeConfigService service;
@PostMapping("/list")
@GetMapping("/list")
public AjaxResult queryChanges(
@RequestParam(name = "pageNum",defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize",defaultValue = "10")Integer pageSize,
......@@ -41,9 +41,8 @@ public class ChangeConfigController {
@GetMapping("/detail")
public AjaxResult queryDetail(
@RequestParam(name = "id",required = false) Long id,
@RequestParam(name = "sonChangeClassId",required = false) Long sonChangeClassId){
@RequestParam(name = "id") Long id,
@RequestParam(name = "sonChangeClassId") Long sonChangeClassId){
return service.queryDetail(id, sonChangeClassId);
}
......@@ -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