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/AssembleController.java |  279 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 242 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/AssembleController.java b/src/main/java/com/highdatas/mdm/controller/AssembleController.java
index 32a0729..b02e33a 100644
--- a/src/main/java/com/highdatas/mdm/controller/AssembleController.java
+++ b/src/main/java/com/highdatas/mdm/controller/AssembleController.java
@@ -7,16 +7,15 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.highdatas.mdm.entity.*;
-import com.highdatas.mdm.pojo.CodeMsg;
-import com.highdatas.mdm.pojo.Result;
-import com.highdatas.mdm.pojo.SysAssembleStatus;
-import com.highdatas.mdm.pojo.SysAssembleUpdateType;
+import com.highdatas.mdm.job.JobClient;
+import com.highdatas.mdm.pojo.*;
 import com.highdatas.mdm.pojo.kettle.BigDataDataSourceInfo;
 import com.highdatas.mdm.pojo.kettle.DataSourceInfo;
 import com.highdatas.mdm.pojo.kettle.UnBigDataDataSourceInfo;
 import com.highdatas.mdm.service.*;
 import com.highdatas.mdm.util.Constant;
 import com.highdatas.mdm.util.DbUtils;
+import com.highdatas.mdm.util.RuleClient;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,24 +59,100 @@
     BigDataDataSourceInfo bigDataDataSourceInfo;
     @Autowired
     UnBigDataDataSourceInfo unBigDataDataSourceInfo;
+    @Autowired
+    JobClient client;
+    @Autowired
+    RuleClient ruleClient;
 
+    /**
+     *
+     * @description:  绔嬪嵆鎵ц姹囬泦娴佺▼
+     * @param  id  姹囬泦娴佺▼鐨刬d
+     * @return: result 鏄惁璋冭捣xxljob鎴愬姛
+     *
+     */
     @RequestMapping(value = "run/{id}", method = RequestMethod.GET)
-    public Result delete(@PathVariable String id, HttpServletRequest request) {
-        Result run = assembleService.run(id, request.getSession());
-        return run;
+    public Result trigger(@PathVariable String id, HttpServletRequest request) {
+        //閫氳繃id鑾峰彇姹囬泦淇℃伅
+        SysAssemble assemble = assembleService.selectById(id);
+        if (assemble == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        //璋冭捣xxljob 鎵ц涓�娆� 鎺ュ彛
+        boolean trigger = client.trigger(assemble);
+        if (trigger) {
+            return Result.success(null);
+        }else {
+            return Result.error(CodeMsg.OPERATR_ERROR);
+        }
     }
 
+    /**
+     *
+     * @description:  淇敼xxljob jobGroup淇℃伅 鎵嬪姩鑾峰彇ip淇℃伅
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
+    @RequestMapping(value = "saveJobGroup", method = RequestMethod.GET)
+    public Result saveJobGroup(HttpServletRequest request) {
+        boolean b = client.saveJobGroup();
+        if (b) {
+            return Result.success(null);
+        }else {
+            return Result.error(CodeMsg.OPERATR_ERROR);
+        }
+    }
 
+    /**
+     *
+     * @description:  淇敼xxljob jobGroup淇℃伅 鑷姩鑾峰彇ip淇℃伅
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
+    @RequestMapping(value = "saveAutoJobGroup", method = RequestMethod.GET)
+    public Result saveAutoJobGroup(HttpServletRequest request) {
+        boolean b = client.saveAutoJobGroup();
+        if (b) {
+            return Result.success(null);
+        }else {
+            return Result.error(CodeMsg.OPERATR_ERROR);
+        }
+    }
 
+    /**
+     *
+     * @description:  鍒犻櫎xxljob jobGroup淇℃伅
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
+    @RequestMapping(value = "deleteJobGroup", method = RequestMethod.GET)
+    public Result deleteJobGroup(HttpServletRequest request) {
+        boolean b = client.saveJobGroup();
+        if (b) {
+            return Result.success(null);
+        }else {
+            return Result.error(CodeMsg.OPERATR_ERROR);
+        }
+    }
+
+    /**
+     *
+     * @description:  鏂板缓姹囬泦璁板綍
+     * @return: result 鏂板缓鏄惁鎴愬姛
+     *
+     */
     @RequestMapping(value = "new", method = RequestMethod.GET)
-    public Result delete(HttpServletRequest request) {
+    public Result newAssemble(HttpServletRequest request) {
         SysAssemble assemble = new SysAssemble();
-        TUser user = (TUser) request.getSession().getAttribute(Constant.USER);
+        //鑾峰彇鐢ㄦ埛淇℃伅
+        TUser user = DbUtils.getUser(request);
+        //淇濆瓨鍒濆姹囬泦淇℃伅
         assemble.setStatus(SysAssembleStatus.edit).setCreateTime(new Date()).setUserId(user.getUserId()).setUpdateType(SysAssembleUpdateType.All);
-        boolean insert = assemble.setId(DbUtils.getUUID()).insert();
+        //淇濆瓨杩涙暟鎹簱
+        boolean insert = assemble.setId(DbUtils.getUUID()).setEmptyData(true).insert();
         if (insert) {
             String assembleId = assemble.getId();
-            // 鍒涘缓job鐨勬椂鍊欏皢鎵�鏈� 閫氱敤鍙傛暟鎼竴浠借繃鍘�
+            // 鍒涘缓job鐨勬椂鍊欏皢鎵�鏈� 閫氱敤鍙傛暟鎼竴浠借繃鍘� 閫氱敤鍙傛暟 瑙� sys_assemble_commonparams
             List<SysAssembleCommonparams> sysAssembleCommonparams = commonparamsService.selectList(null);
             for (SysAssembleCommonparams commonParam : sysAssembleCommonparams) {
                 SysAssembleParams sysAssembleParams = new SysAssembleParams();
@@ -96,16 +171,31 @@
     }
 
 
-
+    /**
+     *
+     * @description:  淇濆瓨姹囬泦鐨勫熀纭�淇℃伅
+     * @param menuId :  涓婚id
+     * @param id 姹囬泦id
+     * @param bigData 淇濆瓨鏁版嵁搴撻�夋嫨
+     * @param updateType 鏇存柊绫诲瀷
+     * @param updateFields  鍞竴瀛楁
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
     @RequestMapping(value = "/saveCommon/{id}", method = RequestMethod.GET)
-    public Result add(@PathVariable String id, @RequestParam String menuId, @RequestParam SysAssembleUpdateType updateType, @RequestParam Boolean bigData, @RequestParam String updateFields, HttpServletRequest request) {
+    public Result saveCommon(@PathVariable String id, @RequestParam String menuId, @RequestParam SysAssembleUpdateType updateType, @RequestParam Boolean bigData, @RequestParam String updateFields, HttpServletRequest request) {
+        //閫氳繃id鑾峰彇姹囬泦璁板綍
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
+        //淇濆瓨璇锋眰杩囨潵鐨勬暟鎹�
         assemble.setUpdateType(updateType).setUpdateFields(updateFields);
+        assemble.setEmptyData(false);
         assemble.setBigdata(Boolean.valueOf(bigData));
-        TUser user = (TUser) request.getSession().getAttribute(Constant.USER);
+        //璇锋眰澶撮噷闈㈣幏鍙栫敤鎴蜂俊鎭�
+        TUser user = DbUtils.getUser(request);
+        //鏇存柊鏁版嵁搴撻噷鐨勪俊鎭�
         boolean insert = assemble.setUserId(user.getUserId()).setMenuId(menuId).setUpdateTime(new Date()).updateById();
 
         if (insert) {
@@ -114,14 +204,23 @@
             return Result.error(CodeMsg.INSERT_ERROR);
         }
     }
+    /**
+     *
+     * @description:  鍒犻櫎姹囬泦浠诲姟
+     * @param id 姹囬泦id
+     * @return: result 鍒犻櫎鏄惁鎴愬姛
+     *
+     */
 
     @Transactional(rollbackFor=Exception.class)
     @RequestMapping(value = "delete/{id}", method = RequestMethod.GET)
-    public Result add(@PathVariable String id) {
+    public Result delete(@PathVariable String id) throws Exception {
+        //閫氳繃id鑾峰彇姹囬泦璁板綍
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
+        //鑾峰彇姹囬泦鏁版嵁淇濆瓨鍦ㄥ摢涓暟鎹簱
         Boolean bigdata = assemble.getBigdata();
         DataSourceInfo dataSourceInfo;
         if (bigdata) {
@@ -129,17 +228,17 @@
         }else {
             dataSourceInfo = unBigDataDataSourceInfo;
         }
-        //delete db
+        //寰幆鍒犻櫎  姹囬泦鏁版嵁婧愪俊鎭�
         List<SysAssembleDb> dbList = dbService.selectList(new EntityWrapper<SysAssembleDb>().eq(Constant.PARENT_ID, id));
         for (SysAssembleDb sysAssembleDb : dbList) {
             String dbId = sysAssembleDb.getId();
-            //delete table
+            //寰幆鍒犻櫎姹囬泦鏁版嵁婧愪腑閫変腑鐨勮〃淇℃伅
 
             Wrapper<SysAssembleDbTable> eq = new EntityWrapper<SysAssembleDbTable>().eq(Constant.PARENT_ID, dbId);
             List<SysAssembleDbTable> tableList = tableService.selectList(eq);
             for (SysAssembleDbTable dbTable : tableList) {
                 String tableId = dbTable.getId();
-                //delete field
+                //鍒犻櫎姹囬泦姹囬泦鏁版嵁婧愪腑閫変腑琛ㄧ殑閫変腑瀛楁淇℃伅锛屽鍔犲垹闄ゆ暟鎹簱涓凡缁忓垱寤虹殑鐗╃悊琛�
                 String tempTableName = dbTable.getTempTableName();
                 dataSourceInfo.dropData(tempTableName);
 
@@ -152,11 +251,17 @@
             }
             sysAssembleDb.deleteById();
         }
-        //TODO delete api
+        //鍒犻櫎姹囬泦浠巃pi涓幏鍙栫殑鏁版嵁淇℃伅
         apiService.delete(new EntityWrapper<SysAssembleApi>().eq(Constant.PARENT_ID, id));
-        //delete param
+        //鍒犻櫎 姹囬泦浠诲姟鐩稿叧鐨勫弬鏁颁俊鎭�
         paramsService.delete(new EntityWrapper<SysAssembleParams>().eq(Constant.PARENT_ID, id));
-
+        boolean b = true;
+        String jobId = assemble.getJobId();
+        if (!StringUtils.isEmpty(jobId)) {
+            //xxljob涓垹闄� 姹囬泦浠诲姟
+            b = client.deleteJob(jobId);
+        }
+        //鏈�鍚庡垹闄ゆ眹闆嗕换鍔�
         boolean deleted = assemble.deleteById();
         if (deleted) {
             return Result.success(assemble);
@@ -164,16 +269,33 @@
             return Result.error(CodeMsg.DELETE_ERROR);
         }
     }
-
-
-
-    @RequestMapping(value = "updateJob/{id}", method = RequestMethod.GET)
-    public Result updateStatus(@RequestParam String jobId,@RequestParam String id) {
+    /**
+     *
+     * @description:  淇濆瓨姹囬泦璐ㄩ噺妫�楠岀被鍨�
+     * @param id 姹囬泦id
+     * @param type 姹囬泦璐ㄩ噺妫�楠岀殑绫诲瀷鍏蜂綋淇℃伅瑙丼ysAssembleType
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
+    @RequestMapping(value = "saveCheckType/{id}", method = RequestMethod.GET)
+    public Result saveUpdateType(@RequestParam SysAssembleCheckType type, @PathVariable String id,HttpServletRequest request) {
+        //閫氳繃id鑾峰彇姹囬泦浠诲姟
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
-        assemble.setJobId(jobId);
+        //淇濆瓨type淇℃伅
+        assemble.setCheckType(type);
+
+        if (type.equals(SysAssembleCheckType.partSuccessAdd)) {
+            //閮ㄥ垎閫氳繃闇�瑕佷繚瀛� 椤甸潰閫変腑鐨勫瓧娈典俊鎭�
+            String fields = request.getParameter("fields");
+            if (StringUtils.isEmpty(fields)) {
+                return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+            }
+            assemble.setCheckFields(fields);
+        }
+        //鏇存柊鏁版嵁搴撲俊鎭�
         boolean updated = assemble.updateById();
         if (updated) {
             return Result.success(assemble);
@@ -182,13 +304,22 @@
         }
     }
 
-
+    /**
+     *
+     * @description:  鏇存柊姹囬泦浠诲姟鐘舵��
+     * @param id 姹囬泦id
+     * @param status 浠诲姟鐘舵��
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
     @RequestMapping(value = "updateStatus/{id}", method = RequestMethod.GET)
     public Result updateStatus(@RequestParam SysAssembleStatus status,@RequestParam String id) {
+        //閫氳繃id鑾峰彇姹囬泦浠诲姟
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
+        //淇濆瓨鐘舵��
         assemble.setStatus(status);
         boolean updated = assemble.updateById();
         if (updated) {
@@ -198,13 +329,23 @@
         }
     }
 
+    /**
+     *
+     * @description:  淇濆瓨姹囬泦娓呮礂sql
+     * @param id 姹囬泦id
+     * @param object 娓呮礂sql
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
     @RequestMapping(value = "loadPurgeSql/{id}", method = RequestMethod.POST)
     public Result loadPurgeSql(@RequestBody JSONObject object,@PathVariable String id) {
         String sql = object.getString("sql");
+        //閫氳繃id鑾峰彇姹囬泦淇℃伅
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
+        //淇濆瓨娓呮礂sql
         assemble.setPurgeSql(sql);
         boolean updated = assemble.updateById();
         if (updated) {
@@ -214,16 +355,26 @@
         }
     }
 
+    /**
+     *
+     * @description:  鑾峰彇鏁版嵁婧愰�変腑鐨勮〃淇℃伅
+     * @param id 姹囬泦id
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
+
     @RequestMapping(value = "getTables/{id}", method = RequestMethod.GET)
     public Result getTables(@PathVariable String id) {
+        //鑾峰彇姹囬泦浠诲姟淇℃伅
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
         //TODO  ONLY db 缂哄皯 api鐨�
+        //鑾峰彇鏁版嵁婧愪俊鎭�
         List<SysAssembleDb> dbList = dbService.selectList(new EntityWrapper<SysAssembleDb>().eq(Constant.PARENT_ID, id));
         JSONArray sourceTables = new JSONArray();
-
+        //寰幆浠庢簮涓幏鍙� 婧愯〃淇℃伅
         for (SysAssembleDb sysAssembleDb : dbList) {
             List<SysAssembleDbTable> tableList = tableService.selectList(new EntityWrapper<SysAssembleDbTable>().eq(Constant.PARENT_ID, sysAssembleDb.getId()));
             for (SysAssembleDbTable dbTable : tableList) {
@@ -233,9 +384,11 @@
                 sourceTables.add(object);
             }
         }
+        //閫氳繃menuId 鑾峰彇 鐩爣琛ㄥ悕
         MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("menu_id", assemble.getMenuId()));
         String tableName = menuMapping.getTableName();
         String tempTableName = Constant.Temp + tableName;
+        //缁勮杩斿洖淇℃伅
         JSONObject object = new JSONObject();
         object.fluentPut(Constant.ID, null);
         object.fluentPut(Constant.tableName, tempTableName);
@@ -245,23 +398,49 @@
         return Result.success(result);
     }
 
+    /**
+     *
+     * @description:  淇濆瓨姹囬泦鐨勫畾鏃朵换鍔′俊鎭�
+     * @param cron :  瀹氭椂浠诲姟鐨刢orn琛ㄨ揪寮�
+     * @param id 姹囬泦id
+     * @return: result 淇濆瓨鏄惁鎴愬姛
+     *
+     */
+
+    @Transactional(rollbackFor=Exception.class)
     @RequestMapping(value = "saveCorn/{id}", method = RequestMethod.GET)
-    public Result add(@RequestParam String cron,@PathVariable String id) {
+    public Result add(@RequestParam String cron,@PathVariable String id) throws Exception {
+        //鑾峰彇姹囬泦浠诲姟淇℃伅
         SysAssemble assemble = assembleService.selectById(id);
         if (assemble == null) {
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
+        //鏍¢獙琛ㄨ揪寮�
         boolean validExpression = CronSequenceGenerator.isValidExpression(cron);
         if (!validExpression) {
             return Result.error(new CodeMsg(6006, "corn 琛ㄨ揪寮忎笉瑙勮寖"));
         }
         assemble.setCron(cron);
+        //鏇存柊cron鍙傛暟
         boolean b = paramsService.updateCornVal(assemble.getId(), cron);
         if (!b) {
             return Result.error(new CodeMsg(6007, "corn 琛ㄨ揪寮忔洿鏂板�奸敊璇�"));
         }
-        assemble.setStatus(SysAssembleStatus.working);
 
+        assemble.setStatus(SysAssembleStatus.working);
+        String jobId = assemble.getJobId();
+        boolean xxljobStatus = true;
+        //淇濆瓨姹囬泦浠诲姟鍒皒xljob鍐�
+        if (StringUtils.isEmpty(jobId)) {
+            xxljobStatus = client.addJob(assemble);
+        }
+        else {
+            xxljobStatus = client.updateJob(assemble);
+        }
+        if (!xxljobStatus) {
+            throw new Exception("add or update xxxljob fail");
+        }
+        //鏇存柊姹囬泦淇℃伅
         boolean updated = assemble.updateById();
         if (updated) {
             return Result.success(assemble);
@@ -270,14 +449,24 @@
         }
     }
 
+    /**
+     *
+     * @description:  椤甸潰姹囬泦淇℃伅
+     * @param id 姹囬泦id
+     * @return: result 姹囬泦浠诲姟淇℃伅
+     *
+     */
+
     @RequestMapping(value = "get/{id}", method = RequestMethod.GET)
     public Result get(@PathVariable String id) {
         SysAssemble assemble = assembleService.selectById(id);
         String menuId = assemble.getMenuId();
         JSONObject o = (JSONObject) JSON.toJSON(assemble);
         if (!StringUtils.isEmpty(menuId)) {
+            //閫氳繃menu Id 灏� 姝や富棰樼殑鐖剁骇涓婚鎵惧埌杩斿洖缁欏墠绔�
             LinkedHashSet<String> ids = new LinkedHashSet<>();
             ids.add(menuId);
+            //鑾峰彇鎵�鏈夌殑鐖剁骇涓婚
             Set<String> byParentId = menuService.getByParentId(ids);
             ArrayList<String> strings = new ArrayList<>(byParentId);
             Collections.reverse(strings);
@@ -291,9 +480,17 @@
         return Result.success(o);
     }
 
+    /**
+     *
+     * @description:  鑾峰彇姹囬泦list
+     * @param pageNo 椤垫暟
+     * @return: result 鍒嗛〉鍚庣殑姹囬泦list
+     *
+     */
     @RequestMapping(value = "/{pageNo}", method = RequestMethod.GET)
     public Result page(@PathVariable Integer pageNo, HttpServletRequest request)  {
         EntityWrapper<SysAssemble> wrapper = new EntityWrapper<>();
+        //dbName 绛涢��---鏁版嵁搴撴簮淇℃伅
         String dbName = request.getParameter("dbName");
         if (!StringUtils.isEmpty(dbName)) {
             List<SysAssembleDb> dbList = dbService.selectList(new EntityWrapper<SysAssembleDb>().eq("datasource_name", dbName));
@@ -302,56 +499,64 @@
                 wrapper.in(Constant.ID, collect);
             }
         }
-
+        //娣诲姞绛涢��--涓婚淇℃伅
         String menuId = request.getParameter("menuId");
         if (!StringUtils.isEmpty(menuId)) {
             wrapper.eq("menu_id", menuId);
         }
+        //绛涢��-- 淇濆瓨鍐嶅摢涓暟鎹簱
         String bigdata = request.getParameter("bigdata");
         if (!StringUtils.isEmpty(bigdata)) {
             wrapper.eq("bigdata", Boolean.valueOf(bigdata));
         }
+        //绛涢��-- 褰撳墠鐘舵��
         String status = request.getParameter("status");
         if (!StringUtils.isEmpty(status)) {
             wrapper.eq("status", status);
         }
 
         Page<SysAssemble> page;
+        //姣忛〉鏁版嵁閲�
         String pageSize = request.getParameter("pageSize");
         if (!StringUtils.isEmpty(pageSize)) {
             page = new Page(pageNo, Integer.valueOf(pageSize));
         }else {
             page = new Page(pageNo, 15);
         }
-
+        //閫氳繃鏇存柊鏃堕棿锛屽垱寤烘椂闂村�掑彊
+        wrapper.orderBy("update_time desc, create_time desc");
         Page<SysAssemble> resultPage = assembleService.selectPage(page,wrapper);
         List<SysAssemble> records = resultPage.getRecords();
 
         List<JSONObject> array = new ArrayList<>();
         for (SysAssemble record : records) {
             String id = record.getId();
+            //鎵惧埌corn鍙傛暟  鑾峰彇涓嬫鎵ц鏃堕棿 缁勮鍚庤繑鍥炵粰鍓嶇
             Wrapper<SysAssembleParams> eq = new EntityWrapper<SysAssembleParams>().eq(Constant.PARENT_ID, id).eq(Constant.Code, Constant.Cron);
             JSONObject o = (JSONObject) JSON.toJSON(record);
 
             SysAssembleParams sysAssembleParams = paramsService.selectOne(eq);
-            String val = sysAssembleParams.getVal();
-            o.fluentPut("nextTime", val);
+            if(sysAssembleParams != null) {
+                String val = sysAssembleParams.getVal();
+                o.fluentPut("nextTime", val);
+            }
 
             String realMenuId = record.getMenuId();
             if (!StringUtils.isEmpty(realMenuId)) {
+                //鑾峰彇閫変腑涓婚鐨勭埗绾т富棰橀摼锛岀粍瑁呭悗杩斿洖缁欏墠绔�
                 LinkedHashSet<String> menuSet = new LinkedHashSet<>();
                 menuSet.add(realMenuId);
                 LinkedHashSet<String> byParentId = menuService.getByParentId(menuSet);
                 List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId);
                 o.fluentPut("menuList", sysMenus);
             }
-
-
+            //鏈眹闆嗕换鍔℃墍鏈夌殑婧愪俊鎭�
             List<SysAssembleDb> dbList = dbService.selectList(new EntityWrapper<SysAssembleDb>().eq(Constant.PARENT_ID, record.getId()));
             o.fluentPut("dbList", dbList);
 
             array.add(o);
         }
+        //缁勮杩斿洖缁欏墠绔殑淇℃伅
         Page<JSONObject> jsonObjectPage = new Page<>();
         jsonObjectPage.setCurrent(resultPage.getCurrent());
         jsonObjectPage.setSize(resultPage.getSize());

--
Gitblit v1.8.0