From 74472c9d22dddcb41383794caf0011043b20f817 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期二, 31 三月 2020 13:25:47 +0800
Subject: [PATCH] fix  数据权限

---
 src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java |   73 +++++++++++++++++++++++++++---------
 1 files changed, 55 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java b/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java
index 461ddb6..f2c023b 100644
--- a/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java
+++ b/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java
@@ -1,25 +1,29 @@
 package com.highdatas.mdm.controller;
 
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.highdatas.mdm.entity.Maintain;
 import com.highdatas.mdm.entity.MaintainField;
-import com.highdatas.mdm.entity.SysField;
+import com.highdatas.mdm.entity.MenuMapping;
 import com.highdatas.mdm.mapper.TableInfoMapper;
+import com.highdatas.mdm.pojo.CodeMsg;
 import com.highdatas.mdm.pojo.Result;
 import com.highdatas.mdm.service.IMaintainFieldService;
 import com.highdatas.mdm.service.IMaintainService;
+import com.highdatas.mdm.service.IMenuMappingService;
 import com.highdatas.mdm.service.ISysFieldService;
 import com.highdatas.mdm.util.Constant;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import java.text.MessageFormat;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -40,8 +44,28 @@
     ISysFieldService fieldService;
     @Autowired
     TableInfoMapper tableInfoMapper;
+    @Autowired
+    IMenuMappingService menuMappingService;
 
-    @RequestMapping(value = "/getMaintainList/{tableName}", method = RequestMethod.GET)
+    @RequestMapping(value = "/getMaintainListByMenu/{menuId}", method = RequestMethod.GET)
+    public Result getMaintainListByTable(@PathVariable String menuId)  {
+        MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("menu_id", menuId).orderBy("create_time"));
+        if (menuMapping == null){
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        String tableName = menuMapping.getTableName();
+
+        JSONArray array = maintainFieldService.getMaintainListByTable(tableName);
+        return Result.success(array);
+    }
+
+    @RequestMapping(value = "/getMaintainListByMaintainField/{id}", method = RequestMethod.GET)
+    public Result getMaintainListByMaintainField(@PathVariable String id, @RequestParam String tableName)  {
+        List<Maintain> maintainList = maintainFieldService.getMaintainListByMaintainField(id, tableName);
+        return Result.success(maintainList);
+    }
+
+    @RequestMapping(value = "/getMaintainListByTable/{tableName}", method = RequestMethod.GET)
     public Result deleteModel(@PathVariable String tableName)  {
         List<MaintainField> maintainFieldList = maintainFieldService.selectList(new EntityWrapper<MaintainField>().eq("table_name", tableName).orderBy("order_no"));
         int preOrderNo = -1;
@@ -65,20 +89,33 @@
             resultMap.put(maintainField.getId(), maintainList);
             preOrderNo = orderNo;
         }
-        return Result.success(resultMap);
+        Set<String> keySet = resultMap.keySet();
+        JSONArray array = new JSONArray();
+        for (String s : keySet) {
+            List<Maintain> maintainList = resultMap.get(s);
+            Maintain max = maintainList.stream().max(new Comparator<Maintain>() {
+                @Override
+                public int compare(Maintain o1, Maintain o2) {
+                    return o1.getOrderNo() - o2.getOrderNo();
+                }
+            }).get();
+            Maintain min = maintainList.stream().min(new Comparator<Maintain>() {
+                @Override
+                public int compare(Maintain o1, Maintain o2) {
+                    return o1.getOrderNo() - o2.getOrderNo();
+                }
+            }).get();
+            JSONObject object = new JSONObject();
+            object.fluentPut("maintainFieldId", s);
+            object.fluentPut("version", MessageFormat.format(Constant.extent, min.getVersion(), max.getVersion()));
+
+            array.add(object);
+        }
+        return Result.success(array);
     }
 
 
-    @RequestMapping(value = "/getFieldByMaintainFieldId/{id}", method = RequestMethod.GET)
-    public Result getFieldByMaintainFieldId(@PathVariable String id)  {
-        List<SysField> result;
-        if (Constant.Default.equalsIgnoreCase(id)) {
-            result = fieldService.getFieldByMaintainField(null);
-        }
-        if (Constant.All.equalsIgnoreCase(id)) {
 
-        }
-        result = fieldService.getFieldByMaintainField(id);
-        return null;
-    }
+
+
 }

--
Gitblit v1.8.0