lyhzzz 6 ay önce
ebeveyn
işleme
1dbe9e38f7

+ 7 - 0
src/main/java/com/fdkankan/sale/controller/FaultController.java

@@ -5,6 +5,7 @@ import com.fdkankan.sale.common.ResultData;
 import com.fdkankan.sale.service.IFaultService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -19,4 +20,10 @@ public class FaultController {
     public ResultData allList(){
         return ResultData.ok(faultService.list());
     }
+
+    @GetMapping("/tree")
+    public ResultData getTreeByKey(){
+
+        return ResultData.ok(faultService.getTree());
+    }
 }

+ 14 - 0
src/main/java/com/fdkankan/sale/entity/Fault.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -53,5 +55,17 @@ public class Fault implements Serializable {
     @TableField("update_time")
     private String updateTime;
 
+    /**
+     */
+    @TableField("parent_Id")
+    private Integer parentId;
+
+    /**
+     */
+    @TableField("version")
+    private String version;
+
+    @TableField(exist = false)
+    private List<Fault> children;
 
 }

+ 2 - 0
src/main/java/com/fdkankan/sale/service/IFaultService.java

@@ -16,4 +16,6 @@ import java.util.List;
 public interface IFaultService extends IService<Fault> {
 
     List<Fault> getByRepairId(String repairId);
+
+    Object getTree();
 }

+ 30 - 0
src/main/java/com/fdkankan/sale/service/impl/FaultServiceImpl.java

@@ -1,5 +1,7 @@
 package com.fdkankan.sale.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.sale.entity.Dict;
 import com.fdkankan.sale.entity.Fault;
 import com.fdkankan.sale.mapper.IFaultMapper;
 import com.fdkankan.sale.service.IFaultService;
@@ -7,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -23,4 +26,31 @@ public class FaultServiceImpl extends ServiceImpl<IFaultMapper, Fault> implement
     public List<Fault> getByRepairId(String repairId) {
         return this.getBaseMapper().getByRepairId(repairId);
     }
+
+    @Override
+    public Object getTree() {
+        LambdaQueryWrapper<Fault> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Fault::getVersion,"2.0");
+        List<Fault> list = this.list(wrapper);
+        if(list.isEmpty()){
+            return list;
+        }
+        List<Fault> parent = list.stream().filter(e -> e.getParentId() == null).collect(Collectors.toList());
+        if(list.size() == parent.size()){
+            return list;
+        }
+
+        return getVoList(parent,list);
+
+    }
+
+    private List<Fault> getVoList (List<Fault> oneList,List<Fault> allList){
+        for (Fault dict : oneList) {
+            List<Fault> twoList = allList.stream().filter(e -> e.getParentId() !=null && e.getParentId().equals(dict.getFaultId())).collect(Collectors.toList());
+            if(!twoList.isEmpty()){
+                dict.setChildren(getVoList(twoList,allList));
+            }
+        }
+        return oneList;
+    }
 }