Parcourir la source

业务属性改造

wangchangsheng il y a 2 ans
Parent
commit
f6354b902d

+ 1 - 4
ims-service/ims-eval/src/main/java/com/ims/eval/controller/BinSectionController.java

@@ -4,10 +4,8 @@ package com.ims.eval.controller;
 import com.ims.eval.cache.CacheContext;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.BinSection;
-import com.ims.eval.entity.IndicatorType;
 import com.ims.eval.entity.dto.result.R;
 import com.ims.eval.service.IBinSectionService;
-import com.ims.eval.service.IIndicatorTypeService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -47,8 +45,7 @@ public class BinSectionController {
 	public R list(@RequestParam(value = "id", required = false) String id,
 				  @RequestParam(value = "sectionName", required = false) String sectionName,
 				  @RequestParam(value = "sectionCode", required = false) String sectionCode) {
-//		List<IndicatorType> list = iIndicatorTypeService.list(id, typeName, typeCode);
-		List<BinSection> list =CacheContext.bsnList;
+		List<BinSection> list = binSectionService.list(id, sectionName, sectionCode);
 		return R.ok().data(list);
 	}
 

+ 15 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/entity/BinSection.java

@@ -1,6 +1,8 @@
 package com.ims.eval.entity;
 
-import java.math.BigDecimal;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -45,5 +47,17 @@ public class BinSection extends Model {
      */
     private Integer orderNum;
 
+	/**
+	 * 父id
+	 */
+	private String parentId;
+
+
+	/**
+	 * 父id
+	 */
+	@TableField(exist = false)
+	private List<BinSection> children;
+
 
 }

+ 1 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/launch/LauncherServiceImpl.java

@@ -16,6 +16,7 @@ public class LauncherServiceImpl implements LauncherService {
 		//bash startup.sh -m standalone
 		//NACOS_ADDR=10.65.78.23:8848
 		//NACOS_ADDR=123.60.219.66:8848
+		//NACOS_ADDR=10.65.79.83:8080
 		Properties props = System.getProperties();
 		props.setProperty("spring.cloud.nacos.config.shared-dataids", "gddl_dbkp.yaml");
 	}

+ 62 - 7
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/BinSectionServiceImpl.java

@@ -1,15 +1,20 @@
 package com.ims.eval.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ims.eval.cache.CacheContext;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.BinSection;
 import com.ims.eval.dao.BinSectionMapper;
 import com.ims.eval.service.IBinSectionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -22,17 +27,18 @@ import java.util.List;
 @Service
 public class BinSectionServiceImpl extends ServiceImpl<BinSectionMapper, BinSection> implements IBinSectionService {
 
+
+
+	@Autowired
+	private CacheContext cache;
+
 	@Override
 	public List<BinSection> list(String id, String sectionName, String sectionCode) {
 
-		QueryWrapper<BinSection> qw = new QueryWrapper();
-		qw.lambda().eq(BinSection::getId, id);
-		qw.lambda().like(BinSection::getSectionName, sectionName);
-		qw.lambda().eq(BinSection::getSectionCode, sectionCode);
-		qw.lambda().orderByAsc(BinSection::getOrderNum);
-		List<BinSection> list = baseMapper.selectList(qw);
+		List<BinSection> list =CacheContext.bsnList;
+		List<BinSection> treeList = convert(list);
 
-		return list;
+		return treeList;
 	}
 
 	@Transactional
@@ -60,4 +66,53 @@ public class BinSectionServiceImpl extends ServiceImpl<BinSectionMapper, BinSect
 		return super.saveOrUpdate(entity);
 	}
 
+
+
+
+	/**
+	 * 转换为有树形结构的列表
+	 *
+	 * @param source 源数据所有数据
+	 * @return
+	 */
+	public List<BinSection> convert(List<BinSection> source) {
+		if (CollectionUtil.isEmpty(source)) {
+			return new ArrayList<>();
+		}
+		List<BinSection> result = new ArrayList<>();
+		List<String> idList = source.stream().map(BinSection::getId).collect(Collectors.toList());
+		// 设置最外层顶级
+		for (BinSection menuVO : source) {
+			// 判断所有列表里面父级未在集合中放置到一级
+			if (!idList.contains(menuVO.getParentId())) {
+				result.add(menuVO);
+			}
+		}
+		for (BinSection menuVO : result) {
+			// 循环一级之后子级
+			getChildren(source, menuVO);
+		}
+		return result;
+	}
+
+
+	/**
+	 * 循环设置子级
+	 *
+	 * @param list         所有元素列表
+	 * @param treeSelectVO 父级元素
+	 * @return 父级元素
+	 */
+	public static BinSection getChildren(List<BinSection> list, BinSection treeSelectVO) {
+		for (BinSection section : list) {
+			if (treeSelectVO.getId().equals(section.getParentId())) {
+				List<BinSection> children = CollectionUtil.isEmpty(treeSelectVO.getChildren()) ? new ArrayList<>() : treeSelectVO.getChildren();
+				children.add(getChildren(list, section));
+				treeSelectVO.setChildren(children);
+
+			}
+		}
+		return treeSelectVO;
+	}
+
 }