Commit c41e0af9 authored by huxiuwu's avatar huxiuwu

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

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