From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 27 五月 2020 09:59:29 +0800
Subject: [PATCH] merage

---
 src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 152 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java b/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java
index 60d5602..88a9c61 100644
--- a/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java
+++ b/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java
@@ -12,6 +12,7 @@
 import com.highdatas.mdm.service.*;
 import com.highdatas.mdm.util.Constant;
 import com.highdatas.mdm.util.DbUtils;
+import com.highdatas.mdm.util.RedisClient;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -36,8 +37,7 @@
     IMasterAuthorService authorService;
     @Autowired
     IMasterAuthorDetailService authorDetailService;
-    @Autowired
-    ITUserRoleService userRoleService;
+
     @Autowired
     IMenuMappingService menuMappingService;
     @Autowired
@@ -50,6 +50,10 @@
     IMasterAuthorUnactiveService masterAuthorUnactiveService;
     @Autowired
     IMasterAuthorSubscribeService masterAuthorSubscribeService;
+    @Autowired
+    IMaintainService maintainService;
+    @Autowired
+    RedisClient redisClient;
 
     public static final String masterAuthorType = "masterAuthorType";
     public static final String masterId = "masterId";
@@ -60,8 +64,17 @@
     private String maintainFieldId = "maintainFieldId";
     private String maintain_field_id = "maintain_field_id";
 
+    /**
+     *
+     * @description: 娣诲姞鎴栬�呮洿鏂版潈闄�
+     * @return 鏉冮檺鏁版嵁
+     *
+     */
     @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST)
     public Result deleteModel(@RequestBody MasterAuthor masterAuthor)  {
+        if (StringUtils.isEmpty(masterAuthor.getMaintainFieldId())) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
         if (!StringUtils.isEmpty(masterAuthor.getId())) {
             masterAuthor.setUpdateTime(new Date());
         }else {
@@ -82,12 +95,21 @@
 
         boolean b = masterAuthor.insertOrUpdate();
         if (b) {
+            redisClient.delByCharacter(masterAuthor.getCharacterId());
             return Result.success(masterAuthor);
         }else {
             return Result.error(CodeMsg.UPDATE_ERROR);
         }
     }
-
+    /**
+     *
+     * @description: 閫氳繃绯荤粺鐢ㄦ埛鑾峰彇鏉冮檺
+     * @param characterId 绯荤粺鐢ㄦ埛
+     * @param isGroup 鏄惁涓虹敤鎴风粍鏁版嵁
+    *  @param type 鐢ㄦ埛绫诲瀷
+     * @return 鍏蜂綋鏁版嵁
+     *
+     */
     @RequestMapping(value = "/get/{characterId}", method = RequestMethod.GET)
     public Result get(@PathVariable String characterId,@RequestParam boolean isGroup, @RequestParam MasterAuthorType type, HttpServletRequest request){
         List<MasterAuthor> masterAuthorList = authorService.selectList(new EntityWrapper<MasterAuthor>().eq("user_group", isGroup).eq("type", type.name()).eq("character_id", characterId));
@@ -131,7 +153,6 @@
                             .eq(Constant.PARENT_ID, masterAuthor.getId()));
             masterAuthor.setFields(masterAuthorDetails);
         }
-
         JSONObject object = new JSONObject();
         object.fluentPut("type", type);
         object.fluentPut("author",masterAuthorList);
@@ -146,7 +167,14 @@
         object.fluentPut("audit",sysMenus);
         return Result.success(object);
     }
-
+    /**
+     *
+     * @description: 閫氳繃绯荤粺鐢ㄦ埛鍒犻櫎鏉冮檺
+     * @param characterId 绯荤粺鐢ㄦ埛
+     *  @param type 鐢ㄦ埛绫诲瀷
+     * @return 鏄惁鍒犻櫎鎴愬姛
+     *
+     */
     @RequestMapping(value = "/delete/{characterId}", method = RequestMethod.GET)
     public Result delete(@PathVariable String characterId, @RequestParam MasterAuthorType type){
         List<MasterAuthor> masterAuthorList = authorService.selectList(new EntityWrapper<MasterAuthor>()
@@ -163,13 +191,22 @@
         }
 
         if (delete) {
+            redisClient.delByCharacter(characterId);
             return Result.success(CodeMsg.DELETE_SUCCESS);
         }else  {
             return Result.error(CodeMsg.DELETE_ERROR);
         }
     }
 
-
+    /**
+     *
+     * @description: 閫氳繃涓婚鍒犻櫎鏉冮檺
+     * @param characterId 绯荤粺鐢ㄦ埛
+     * @param menuId 涓婚id
+     *  @param type 鐢ㄦ埛绫诲瀷
+     * @return 鍏蜂綋鏁版嵁
+     *
+     */
     @RequestMapping(value = "/delete/menu/{menuId}", method = RequestMethod.GET)
     public Result deleteTable(@PathVariable String menuId, @RequestParam String characterId, @RequestParam MasterAuthorType type, HttpServletRequest request){
         String maintainFieldId = request.getParameter(this.maintainFieldId);
@@ -189,27 +226,36 @@
         if (count == 1 && !StringUtils.isEmpty(maintainFieldId)) {
             only = true;
         }
-        MasterAuthor masterAuthor = authorService.selectOne(masterAuthorWrapper);
-        if (masterAuthor == null) {
+        List<MasterAuthor> masterAuthors = authorService.selectList(masterAuthorWrapper);
+        if (masterAuthors == null || masterAuthors.isEmpty()) {
             return Result.success(null);
         }
-
-        boolean delete = authorDetailService.delete(new EntityWrapper<MasterAuthorDetail>().eq(Constant.PARENT_ID, masterAuthor.getId()));
-        if (delete) {
-            if (only){
-                delete = masterAuthor.setMaintainFieldId(null).setFieldAuto(false).setMaintainAuto(false).setUpdateTime(new Date()).updateById();
-            }else {
-                delete = masterAuthor.deleteById();
+        boolean delete = false;
+        for (MasterAuthor masterAuthor : masterAuthors) {
+            delete = authorDetailService.delete(new EntityWrapper<MasterAuthorDetail>().eq(Constant.PARENT_ID, masterAuthor.getId()));
+            if (delete) {
+                if (only){
+                    delete = masterAuthor.setMaintainFieldId(null).setFieldAuto(false).setMaintainAuto(false).setUpdateTime(new Date()).updateById();
+                }else {
+                    delete = masterAuthor.deleteById();
+                }
             }
         }
-
         if (delete) {
+            redisClient.delByCharacter(characterId);
             return Result.success(CodeMsg.DELETE_SUCCESS);
         }else  {
             return Result.error(CodeMsg.DELETE_ERROR);
         }
     }
-
+    /**
+     *
+     * @description: 鐢ㄦ埛缁勬坊鍔犺鑹插叧鑱�
+     * @param groupId 鐢ㄦ埛缁刬d
+     * @param roleId 瑙掕壊id
+     * @return 鏄惁娣诲姞鎴愬姛
+     *
+     */
     @RequestMapping(value = "/groupAddRole/{roleId}", method = RequestMethod.GET)
     public Result addGroupRole(@PathVariable String roleId, @RequestParam String groupId, HttpServletRequest request){
         TUser user = DbUtils.getUser(request);
@@ -233,7 +279,14 @@
         }
         return Result.success(tableMasterAuthor.values());
     }
-
+    /**
+     *
+     * @description: 鐢ㄦ埛娣诲姞瑙掕壊鍏宠仈
+     * @param userId 鐢ㄦ埛id
+     * @param roleId 瑙掕壊id
+     * @return 鏄惁娣诲姞鎴愬姛
+     *
+     */
     @RequestMapping(value = "/userAddRole/{roleId}", method = RequestMethod.GET)
     public Result addRole(@PathVariable String roleId, @RequestParam String userId, HttpServletRequest request){
         TUser user = DbUtils.getUserById(userId);
@@ -258,7 +311,14 @@
         return Result.success(tableMasterAuthor.values());
     }
 
-
+    /**
+     *
+     * @description: 鐢ㄦ埛鍒犻櫎瑙掕壊鍏宠仈
+     * @param userId 鐢ㄦ埛id
+     * @param roleId 瑙掕壊id
+     * @return 鏄惁鍒犻櫎鎴愬姛
+     *
+     */
     @RequestMapping(value = "/userDelRole/{roleId}", method = RequestMethod.GET)
     public Result delRole(@PathVariable String roleId, @RequestParam String userId, HttpServletRequest request){
         ArrayList<String> delRoleList = new ArrayList<>();
@@ -276,7 +336,14 @@
         }
         return Result.success(tableMasterAuthor.values());
     }
-
+    /**
+     *
+     * @description: 鐢ㄦ埛缁勫垹闄よ鑹插叧鑱�
+     * @param groupId 鐢ㄦ埛缁刬d
+     * @param roleId 瑙掕壊id
+     * @return 鏄惁鍒犻櫎鎴愬姛
+     *
+     */
     @RequestMapping(value = "/groupDelRole/{roleId}", method = RequestMethod.GET)
     public Result delGroupRole(@PathVariable String roleId, @RequestParam String groupId, HttpServletRequest request){
         ArrayList<String> delRoleList = new ArrayList<>();
@@ -295,6 +362,13 @@
         return Result.success(tableMasterAuthor.values());
     }
 
+    /**
+     *
+     * @description: 閫氳繃鐢ㄦ埛id鑾峰彇宸茬粡娉ㄥ唽list
+     * @param userId 鐢ㄦ埛id
+     * @return 宸叉敞鍐宭ist
+     *
+     */
     @RequestMapping(value = "/subscribeList/{userId}", method = RequestMethod.GET)
     public Result subscribeList(@PathVariable  String userId,  HttpServletRequest request){
         TUser user = DbUtils.getUserById(userId);
@@ -331,11 +405,25 @@
             if (i > 0) {
                 menu.setSubscribe(true);
             }
-
         }
-
         return Result.success(result);
     }
+
+//    @RequestMapping(value = "/canLoadData/{userId}", method = RequestMethod.GET)
+//    public Result canLoadData(@PathVariable String userId, @RequestParam String tableName, HttpServletRequest request) {
+//        TUser user = DbUtils.getUserById(userId);
+//        if (user == null) {
+//            return Result.error(CodeMsg.USER_NOT_MATHED);
+//        }
+//    }
+
+    /**
+     *
+     * @description: 閫氳繃userid鑾峰彇鏈夋潈闄愮殑涓婚
+     * @param userId 鐢ㄦ埛id
+     * @return 涓婚鍒楄〃
+     *
+     */
     @RequestMapping(value = "/menu/{userId}", method = RequestMethod.GET)
     public Result<List<SysMenu>> menuList(@PathVariable String userId, HttpServletRequest request) {
         TUser user = DbUtils.getUserById(userId);
@@ -347,7 +435,13 @@
         return Result.success(menu) ;
     }
 
-
+    /**
+     *
+     * @description: 閫氳繃userid鑾峰彇鏈夋潈闄愮殑涓婚鏁版嵁
+     * @param userId 鐢ㄦ埛id
+     * @return 鑾峰彇鏈夋潈闄愮殑鏁版嵁鏁�
+     *
+     */
     @RequestMapping(value = "/getCnt/{userId}",  method = RequestMethod.GET)
     public Result cnt(@PathVariable String userId, HttpServletRequest request) {
         //TODO active
@@ -380,7 +474,10 @@
                     String maintainFieldId = masterAuthor.getMaintainFieldId();
                     String tableName = masterAuthor.getTableName();
                     List<Maintain> maintainByMaintainField = maintainFieldService.getMaintainByMaintainField(maintainFieldId, tableName);
-                    maintainSet.addAll(maintainByMaintainField);
+                    if (maintainByMaintainField != null) {
+                        maintainSet.addAll(maintainByMaintainField);
+                    }
+
                 }
                 int unActiveCnt = masterAuthorUnactiveService.selectCount(new EntityWrapper<MasterAuthorUnactive>().in("maintain_id", maintainSet).eq("user_id", userId));
                 if (maintainSet.size() != unActiveCnt) {
@@ -401,7 +498,15 @@
         object.fluentPut("subscribeCnt", subscribeCnt);
         return Result.success(object);
     }
-
+    /**
+     *
+     * @description: 閫氳繃鐗堟湰鑾峰彇婵�娲荤殑涓婚
+     * @param maintainId 涓婚id
+     * @param userId 鐢ㄦ埛id
+     * @param active 婵�娲荤姸鎬�
+     * @return 宸叉縺娲荤殑涓婚鏁�
+     *
+     */
     @RequestMapping(value = "/active/{maintainId}",  method = RequestMethod.GET)
     public Result active(@PathVariable String maintainId, @RequestParam String userId, @RequestParam Boolean active) {
         TUser user = DbUtils.getUserById(userId);
@@ -430,7 +535,12 @@
         }
     }
 
-
+    /**
+     *
+     * @description: 鑾峰彇鏈夋潈闄愮殑list鍜岀敤鎴穖ap
+     * @return list鍜岀敤鎴穖ap鍒楄〃
+     *
+     */
     @RequestMapping(value = "/cntList",  method = RequestMethod.GET)
     public Result cntList() {
         HashMap<String, Long> result = new HashMap<>();
@@ -476,7 +586,14 @@
         }
         return Result.success(result);
     }
-
+    /**
+     *
+     * @description: 閫氳繃琛ㄥ悕鑾峰彇鏈夋潈闄愮殑鐗堟湰list
+     * @param userId 鐢ㄦ埛id
+     * @param tableName 琛ㄥ悕
+     * @return 鑾峰彇鏈夋潈闄愮殑鐗堟湰list
+     *
+     */
     @RequestMapping(value = "/maintainList/{userId}",  method = RequestMethod.GET)
     public Result maintainList(@PathVariable String userId, @RequestParam String tableName) {
         TUser user = DbUtils.getUserById(userId);
@@ -499,7 +616,14 @@
         return Result.success(maintainSet);
     }
 
-
+    /**
+     *
+     * @description: 閫氳繃鐗堟湰鑾峰彇婵�娲荤殑涓婚
+     * @param result 缁勮鐢ㄦ埛id锛� 鏁版嵁鐨�  map
+     * @param masterUserMapList 瑙嗗浘鐨勬暟鎹甽ist map
+     * @return result 鐢ㄦ埛id锛� 鏉冮檺鏁版嵁閲忕殑  map
+     *
+     */
     private void merageUserCnt(HashMap<String, Long> result, List<Map<String, Object>> masterUserMapList) {
         for (Map<String, Object> stringStringMap : masterUserMapList) {
             String user = stringStringMap.get(Constant.USERID).toString();

--
Gitblit v1.8.0