Commit d1401310 authored by 胡秀武's avatar 胡秀武

模型列表增加统推自建

parent 50c28b0a
...@@ -40,11 +40,12 @@ public class TreeNode implements Serializable { ...@@ -40,11 +40,12 @@ public class TreeNode implements Serializable {
@ApiModelProperty("子类") @ApiModelProperty("子类")
private int belongLevel; private int belongLevel;
@ApiModelProperty("统推,自建")
private Integer modelPromotion;
@ApiModelProperty("子类") @ApiModelProperty("子类")
private List<TreeNode> children; private List<TreeNode> children;
public String getCode() { public String getCode() {
return code == null ? "":code; return code == null ? "":code;
} }
...@@ -55,6 +56,10 @@ public class TreeNode implements Serializable { ...@@ -55,6 +56,10 @@ public class TreeNode implements Serializable {
return companyCode == null ? "":companyCode; return companyCode == null ? "":companyCode;
} }
public Integer getModelPromotion() {
return modelPromotion == null ? -1 : modelPromotion;
}
public String getModelGroupCode() { public String getModelGroupCode() {
return modelGroupCode == null ? "":modelGroupCode; return modelGroupCode == null ? "":modelGroupCode;
} }
......
package com.pms.ocp.model.vo;
import lombok.Data;
import java.util.LinkedList;
import java.util.List;
/**
* @author huxiuwu
* @version 1.0
* @date 2022/4/2 15:28
*/
@Data
public class ModelListNavigationVO<T> {
//统推
private List<T> unifiedPush = new LinkedList<>();
//自建
private List<T> selfBuilt = new LinkedList<>();
}
...@@ -53,14 +53,6 @@ public interface ModelSubscribeService { ...@@ -53,14 +53,6 @@ public interface ModelSubscribeService {
*/ */
List<ModelSubscribe> getModelSubscribeList(String objId, String modelCode, String subsCompanyCode); List<ModelSubscribe> getModelSubscribeList(String objId, String modelCode, String subsCompanyCode);
/**
* 获取模型订阅列表
*
* @param modelId
* @return
*/
ModelSubscribeDTO getModelSubscribe(String modelId);
ResponseVO modelListNavigation(String searchCondition); ResponseVO modelListNavigation(String searchCondition);
} }
package com.pms.ocp.service.impl; package com.pms.ocp.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.CodeEnum; import com.pms.ocp.common.constants.Constant;
import com.pms.ocp.common.utils.TreeUtils; import com.pms.ocp.common.utils.TreeUtils;
import com.pms.ocp.mapper.ModelSubscribeMapper; import com.pms.ocp.mapper.ModelSubscribeMapper;
import com.pms.ocp.model.dto.ModelSubscribeDTO; import com.pms.ocp.model.dto.ModelSubscribeDTO;
import com.pms.ocp.model.entity.ModelSubscribe; import com.pms.ocp.model.entity.ModelSubscribe;
import com.pms.ocp.model.entity.TreeNode; import com.pms.ocp.model.entity.TreeNode;
import com.pms.ocp.model.vo.ModelListNavigationVO;
import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelSubscribeService; import com.pms.ocp.service.ModelSubscribeService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -18,7 +18,9 @@ import javax.annotation.Resource; ...@@ -18,7 +18,9 @@ import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import java.util.stream.Collectors;
/** /**
* @Auther: wangjian * @Auther: wangjian
...@@ -84,12 +86,6 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -84,12 +86,6 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
return modelSubscribeMapper.selectList(queryWrapper); return modelSubscribeMapper.selectList(queryWrapper);
} }
@Override
public ModelSubscribeDTO getModelSubscribe(String modelId) {
return null;
}
/** /**
* 服务列表导航树 * 服务列表导航树
* @author huxiuwu * @author huxiuwu
...@@ -99,26 +95,39 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -99,26 +95,39 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
**/ **/
@Override @Override
public ResponseVO modelListNavigation(String searchCondition) { public ResponseVO modelListNavigation(String searchCondition) {
ModelListNavigationVO<TreeNode> modelNavigationVO = new ModelListNavigationVO<>();
//查询模型和模型属性表列表 //查询模型和模型属性表列表
List<TreeNode> modelGroupList = modelSubscribeMapper.selectModelAndModelGroup(); List<TreeNode> modelGroupList = modelSubscribeMapper.selectModelAndModelGroup();
List<TreeNode> modelList = modelSubscribeMapper.getModelList(searchCondition); List<TreeNode> modelList = modelSubscribeMapper.getModelList(searchCondition);
List<TreeNode> groupAndChildrenList = setChildren(modelList,modelGroupList , (org, group) -> //统推自建分组
org.getModelGroupCode().equals(group.getModelGroupCode()) Map<Integer,List<TreeNode>> modelGroupMap = modelList.stream().collect(Collectors.groupingBy(TreeNode::getModelPromotion));
); //统推list
if (CollectionUtil.isEmpty(groupAndChildrenList)){ List<TreeNode> unifiedPushList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ZERO)),modelGroupList ,(org, group) ->
return ResponseVO.error(CodeEnum.NO_DATA); org.getModelGroupCode().equals(group.getModelGroupCode()));
} List<TreeNode> newModelGroupList = TreeUtils.build(unifiedPushList);
List<TreeNode> newModelGroupList = TreeUtils.build(groupAndChildrenList); modelNavigationVO.setUnifiedPush(newModelGroupList);
List<TreeNode> selfModelBuildList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ONE)),modelGroupList ,(org, group) ->
org.getModelGroupCode().equals(group.getModelGroupCode()));
//查询组织机构表 //查询组织机构表
List<TreeNode> organList = modelSubscribeMapper.selectOrganData(); List<TreeNode> organList = modelSubscribeMapper.selectOrganData();
//将分类放入各自所属于的组织机构下 //将分类放入各自所属于的组织机构下
List<TreeNode> groupOrgList = setChildren(newModelGroupList, organList,(org, group) -> List<TreeNode> groupOrgList = setChildren(selfModelBuildList, organList,(org, group) ->
org.getCompanyCode().equals(group.getCompanyCode()) org.getCompanyCode().equals(group.getCompanyCode())
); );
List<TreeNode> result = TreeUtils.build(groupOrgList); List<TreeNode> selfBuildList = TreeUtils.build(groupOrgList);
return ResponseVO.ok(result); modelNavigationVO.setSelfBuilt(selfBuildList);
return ResponseVO.ok(modelNavigationVO);
}
/**
* 处理空指针问题
* @author huxiuwu
* @date 2022/4/6
* @param list
* @return List<com.pms.ocp.model.entity.TreeNode>
**/
private List<TreeNode> HandlingNullPointers(List<TreeNode> list){
return list == null ? new LinkedList<>() : list;
} }
/** /**
* 合并list设置子类 * 合并list设置子类
* @param modelGroupList * @param modelGroupList
...@@ -129,7 +138,7 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -129,7 +138,7 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
private List<TreeNode> setChildren(List<TreeNode> modelGroupList, List<TreeNode> organList, BiFunction<TreeNode,TreeNode,Boolean> function) { private List<TreeNode> setChildren(List<TreeNode> modelGroupList, List<TreeNode> organList, BiFunction<TreeNode,TreeNode,Boolean> function) {
organList.forEach(org -> { organList.forEach(org -> {
modelGroupList.forEach(group -> { modelGroupList.forEach(group -> {
if (function.apply(org, group)) { if (function.apply(org, group) ) {
if (org.getChildren() == null) { if (org.getChildren() == null) {
org.setChildren(new LinkedList<>()); org.setChildren(new LinkedList<>());
} }
......
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
3 as belongLevel, 3 as belongLevel,
model_name as name , model_name as name ,
model_code as code, model_code as code,
model_group_code as modelGroupCode model_group_code as modelGroupCode,
model_promotion as modelPromotion
from from
ocp_model_base ocp_model_base
<if test="searchCondition != null and searchCondition != '' "> <if test="searchCondition != null and searchCondition != '' ">
...@@ -34,7 +35,7 @@ ...@@ -34,7 +35,7 @@
org_id AS code, org_id AS code,
org_code AS companyCode org_code AS companyCode
from from
t_public_organization ocp_organization
where where
trim(org_level) != '' trim(org_level) != ''
and and
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
is_delete, is_delete,
apply_version, apply_version,
pre_api_version pre_api_version
from ocp_api_audit from ocp_api_audit
</select> </select>
<select id="sById" resultType="com.pms.ocp.model.entity.PmsApiAudit"> <select id="sById" resultType="com.pms.ocp.model.entity.PmsApiAudit">
......
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