Commit c41e0af9 authored by huxiuwu's avatar huxiuwu

胡秀武:模型分类接口修改bug

parent e135f2be
......@@ -37,8 +37,8 @@ public class ModelClassifyController {
**/
@ApiOperation("模型分类导航")
@GetMapping("/navigation")
public ResponseVO<List<OcpModelGroupVO>> getModelNavigation(String searchCondition) {
return modelClassifyService.getModelNavigation(searchCondition);
public ResponseVO<List<OcpModelGroupVO>> getModelNavigation() {
return modelClassifyService.getModelNavigation();
}
/**
......@@ -50,12 +50,12 @@ public class ModelClassifyController {
**/
@ApiOperation("右侧子类详情列表")
@GetMapping("/subclassDetailsList")
public ResponseVO<PageInfo<OcpModelGroupVO>> subclassDetailsList(@RequestParam(required = false) int pageSize,
@RequestParam(required = false) int pageNum,
public ResponseVO<PageInfo<OcpModelGroupVO>> subclassDetailsList(@RequestParam int currentPage,
@RequestParam int pageSize,
@RequestParam(required = false,defaultValue = "") String parentGroupCode,
@RequestParam(required = false) String subclassGroupName
@RequestParam(required = false,defaultValue = "") String subclassGroupName
) {
return modelClassifyService.subclassDetailsList(pageSize, pageNum, parentGroupCode, subclassGroupName);
return modelClassifyService.subclassDetailsList(currentPage, pageSize, parentGroupCode, subclassGroupName);
}
/**
......
......@@ -95,7 +95,13 @@ public class OcpModelGroupVO implements Serializable {
@ApiModelProperty(value = "子类集合")
List<OcpModelGroupVO> childrenList;
public String getModelGroupCode() {
return modelGroupCode == null ? "" : modelGroupCode;
}
public String getModelGroupPcode() {
return modelGroupPcode == null ? "" : modelGroupPcode;
}
}
......
......@@ -12,11 +12,11 @@ import java.util.List;
* @date 2022/3/8 15:19
*/
public interface ModelClassifyService {
ResponseVO<List<OcpModelGroupVO>> getModelNavigation(String searchCondition);
ResponseVO<List<OcpModelGroupVO>> getModelNavigation();
ResponseVO insert(List<ModelType> list);
ResponseVO subclassDetailsList(int pageSize,int pageNum,String parentGroupCode,String subclassGroupName);
ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName);
ResponseVO update(List<ModelType> list);
}
......@@ -34,17 +34,17 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
private OcpModelGroupService ocpService;
/**
* currentPage pageSize
* 模型分类-导航树
*
* @param searchCondition 搜索条件
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/8
**/
@Override
public ResponseVO<List<OcpModelGroupVO>> getModelNavigation(String searchCondition) {
public ResponseVO<List<OcpModelGroupVO>> getModelNavigation() {
//根据是否传入搜索条件创建构造器进行查询
List<OcpModelGroupVO> modelTypeList = this.selectByCondition(searchCondition, null);
List<OcpModelGroupVO> modelTypeList = this.selectByCondition(null, null);
if (CollectionUtil.isEmpty(modelTypeList)) {
return ResponseVO.error(CodeEnum.NO_DATA);
}
......@@ -55,18 +55,27 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
/**
* 右侧子类详情列表
*
* 这边是右侧详情页,需求是点击右侧导航树上的分类显示该分类的所有子集,
* 所以第一次查询查询到所有并将其转换为key为其分类编码,value为其本身
* 的map.第二次是根据搜素框的值进行模糊查询
* @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@Override
public ResponseVO<PageInfo<OcpModelGroupVO>> subclassDetailsList(int pageSize,int pageNum,String parentGroupCode,String subclassGroupName) {
PageHelper.startPage(pageSize,pageNum);
List<OcpModelGroupVO> ocpModelGroupVOList = this.selectByCondition(null,subclassGroupName);
public ResponseVO<PageInfo<OcpModelGroupVO>> subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName) {
//查询所有
List<OcpModelGroupVO> ocpModelGroupVOList = this.selectByCondition(null,null);
//将查询到所有数据的list转换为key为分类code,value为本身的map
Map<String, OcpModelGroupVO> groupByCode = ocpModelGroupVOList.stream().collect(Collectors.toMap(OcpModelGroupVO::getModelGroupCode, Function.identity(), (key1, key2) -> key2));
//根据key获取前端传入code的对象
OcpModelGroupVO ocpModelGroupVO = groupByCode.get(parentGroupCode);
List<OcpModelGroupVO> childrenList = findChildren(ocpModelGroupVOList, ocpModelGroupVO, new LinkedList<>());
//模糊查询
PageHelper.startPage(currentPage,pageSize);
List<OcpModelGroupVO> dimConditionList = this.selectByCondition(null,subclassGroupName);
//递归获取模糊查询后属于parentGroupCode子集
List<OcpModelGroupVO> childrenList = findChildren(dimConditionList, ocpModelGroupVO, new LinkedList<>());
PageInfo<OcpModelGroupVO> pageInfo = new PageInfo<>(childrenList);
return ResponseVO.ok(pageInfo);
}
......@@ -109,21 +118,23 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* 获取父节点下的所有子节点放入list中
* @author huxiuwu
* @date 2022/3/9
* @param menuList
* @param childMenu
* @param groupList
* @param childList
* @return void
**/
private List<OcpModelGroupVO> findChildren(List<OcpModelGroupVO> menuList, OcpModelGroupVO parent,List<OcpModelGroupVO> childMenu) {
for (OcpModelGroupVO vo : menuList) {
private List<OcpModelGroupVO> findChildren(List<OcpModelGroupVO> groupList, OcpModelGroupVO parent,List<OcpModelGroupVO> childList) {
for (OcpModelGroupVO vo : groupList) {
//遍历出父id等于参数的id,add进子节点集合
if (parent.getModelGroupCode() != null && parent.getModelGroupCode().equals(vo.getModelGroupPcode())) {
if (parent!= null
&& parent.getModelGroupCode()
.equals(vo.getModelGroupPcode())) {
//递归遍历下一级
vo.setModelGroupPName(parent.getModelGroupName());
childMenu.add(vo);
childMenu = findChildren(menuList, vo, childMenu);
childList.add(vo);
childList = findChildren(groupList,vo,childList);
}
}
return childMenu;
return childList;
}
......@@ -155,8 +166,8 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
private List<OcpModelGroupVO> selectByCondition(String... searchCondition) {
QueryWrapper<OcpModelGroupVO> queryWrapper = new QueryWrapper<>();
//根据是否传入搜索条件创建构造器进行查询
queryWrapper.eq(StringUtils.isNotEmpty(searchCondition[0]), "model_group_pcode", searchCondition[1])
.like(StringUtils.isNotEmpty(searchCondition[1]), "model_group_name", searchCondition[0]);
queryWrapper.eq(StringUtils.isNotEmpty(searchCondition[0]), "model_group_pcode", searchCondition[0])
.like(StringUtils.isNotEmpty(searchCondition[1]),"model_group_name", searchCondition[1]).orderBy(false,false,"group_ctime");
return classifyMapper.selectList(queryWrapper);
}
}
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