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/SysViewController.java |  546 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 542 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/SysViewController.java b/src/main/java/com/highdatas/mdm/controller/SysViewController.java
index bcd7cd4..c606a77 100644
--- a/src/main/java/com/highdatas/mdm/controller/SysViewController.java
+++ b/src/main/java/com/highdatas/mdm/controller/SysViewController.java
@@ -1,20 +1,558 @@
 package com.highdatas.mdm.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.highdatas.mdm.entity.*;
+import com.highdatas.mdm.mapper.TableInfoMapper;
+import com.highdatas.mdm.pojo.CodeMsg;
+import com.highdatas.mdm.pojo.Result;
+import com.highdatas.mdm.pojo.ViewMapFieldItem;
+import com.highdatas.mdm.service.*;
+import com.highdatas.mdm.util.Constant;
+import com.highdatas.mdm.util.DbUtils;
+import lombok.SneakyThrows;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.stereotype.Controller;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
  *  鍓嶇鎺у埗鍣�
  * </p>
- *
+ * @desctiption 瑙嗗浘鎺ュ彛
  * @author kimi
  * @since 2020-04-15
  */
-@Controller
+@RestController
 @RequestMapping("/sysView")
 public class SysViewController {
+    @Autowired
+    ISysViewService viewService;
+    @Autowired
+    ISysViewJoinService sysViewJoinService;
+    @Autowired
+    IMaintainService maintainService;
+    @Autowired
+    ISysMenuService menuService;
+    @Autowired
+    IMasterAuthorService masterAuthorService;
+    @Autowired
+    MasterDataService masterDataService;
+    @Autowired
+    TableInfoMapper tableInfoMapper;
+    @Autowired
+    IMenuMappingService menuMappingService;
+    @Autowired
+    ISysViewLogicService logicService;
+    @Autowired
+    ISysViewLogicmapService logicmapService;
 
+    /**
+     *
+     * @description:  By鐢ㄦ埛鑾峰彇瑙嗗浘list
+     * @param userId  鐢ㄦ埛id
+     * @return: 瑙嗗浘list
+     *
+     */
+    @RequestMapping(value = "/all/{userId}",  method = RequestMethod.GET)
+    public Result getAll(@PathVariable String userId, HttpServletRequest request) {
+        //ByuserId 鑾峰彇瑙嗗浘鍒楄〃
+        Wrapper<SysView> eq = new EntityWrapper<SysView>().eq(Constant.USERID, userId);
+        List<SysView> records = viewService.selectList(eq);
+        for (SysView record : records) {
+            String id = record.getId();
+            Maintain baseMaintain = viewService.getBaseMaintain(record);
+            //鏍¢獙鍩哄噯鐗堟湰鏄惁瀛樺湪
+            if (baseMaintain == null) {
+                continue;
+            }
+            //鑾峰彇 鐗堟湰鍙凤紝琛ㄥ悕杩斿洖鍓嶇
+            record.setBaseTableName(baseMaintain.getTableName());
+            record.setBaseVersion(baseMaintain.getVersion());
+            String menuId = record.getMenuId();
+            SysMenu sysMenu = menuService.selectById(menuId);
+            //鏍¢獙涓婚鏄惁瀛樺湪
+            if (sysMenu == null) {
+                continue;
+            }
+            //鑾峰彇涓婚鍚嶇О杩斿洖鍓嶇
+            record.setMenuName(sysMenu.getName());
+            //鑾峰彇鍏宠仈涓婚
+            List<SysViewJoin> sysViewJoins = sysViewJoinService.selectList(new EntityWrapper<SysViewJoin>().eq(Constant.PARENT_ID, id));
+            List<String> menuIds = sysViewJoins.stream()
+                    .map(sysViewJoin -> sysViewJoin.getMenuId())
+                    .collect(Collectors.toList());
+            if (!menuIds.isEmpty()) {
+                List<SysMenu> sysMenus = menuService.selectBatchIds(menuIds);
+                Collections.reverse(sysMenus);
+                String subMenuName = sysMenus.stream().map(subMenu -> subMenu.getName()).collect(Collectors.joining(Constant.SEMICOLON));
+                //鑾峰彇鍏宠仈涓婚鐨勫悕绉扮粍鍚堝悗杩斿洖缁欏墠绔�
+                record.setSubMenuName(subMenuName);
+            }
+
+        }
+        return Result.success(records);
+    }
+
+    /**
+     *
+     * @description:  鏇存柊瑙嗗浘鏁版嵁
+     * @param id 瑙嗗浘id
+     * @return: 鏄惁鏇存柊鎴愬姛
+     *
+     */
+    @RequestMapping(value = "/refreshData/{id}",  method = RequestMethod.GET)
+    public Result createView(@RequestParam String id, @RequestParam Boolean active) {
+        //鑾峰彇瑙嗗浘淇℃伅
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        //浠庢柊鍒涘缓瑙嗗浘
+        viewService.createView(sysView.getId());
+        return Result.success(sysView);
+    }
+
+    /**
+     *
+     * @description:  淇濆瓨鍏宠仈瀛楁淇℃伅
+     * @param id 瑙嗗浘id
+     * @param mapField 鍏宠仈瀛楁
+     * @return: 鏄惁淇濆瓨鎴愬姛
+     *
+     */
+    @RequestMapping(value = "/saveMapField/{id}",  method = RequestMethod.GET)
+    public Result saveMapField(@RequestParam String id, @RequestParam String mapField) {
+        //鑾峰彇瑙嗗浘淇℃伅
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        //淇濆瓨鍏宠仈瀛楁
+        sysView.setMappingField(mapField).updateById();
+        return Result.success(sysView);
+    }
+
+    /**
+     *
+     * @description:  鍒涘缓瑙嗗浘
+     * @param id 瑙嗗浘id
+     * @return: 鏄惁鍒涘缓鎴愬姛
+     *
+     */
+
+    @RequestMapping(value = "/createView/{id}",  method = RequestMethod.GET)
+    public Result createView(@PathVariable String id) {
+        //鑾峰彇瑙嗗浘淇℃伅
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        //鍒涘缓瑙嗗浘
+        boolean view = viewService.createView(sysView.getId());
+        if (view) {
+            return Result.success(null);
+        } else {
+            return Result.error(CodeMsg.CREATE_ERROR);
+        }
+
+    }
+
+    /**
+     *
+     * @description:  鏇存柊瑙嗗浘婵�娲荤姸鎬�
+     * @param id 瑙嗗浘id
+     * @return: 鏄惁鏇存柊鎴愬姛
+     *
+     */
+    @RequestMapping(value = "/active/{id}",  method = RequestMethod.GET)
+    public Result active(@PathVariable String id, @RequestParam Boolean active) {
+        //鑾峰彇瑙嗗浘淇℃伅
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        //鏇存柊婵�娲荤姸鎬�
+        sysView.setActive(active).updateById();
+        return Result.success(sysView);
+    }
+
+    /**
+     *
+     * @description:  鑾峰彇瑙嗗浘鏁版嵁
+     * @param id 瑙嗗浘id
+     * @param pageNo 椤垫暟
+     * @return: 瑙嗗浘鏈悗鎹�
+     *
+     */
+
+    @RequestMapping(value = "/getViewData/{id}/page/{pageNo}",  method = RequestMethod.GET)
+    public Result getViewData(@PathVariable String id, @PathVariable Integer pageNo, HttpServletRequest request) {
+        //pageSize 锛屾瘡椤垫暟鎹噺
+        String pageSizeStr = request.getParameter("pageSize");
+        //鑾峰彇瑙嗗浘鏁版嵁
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        int pageSize = 15;
+        if (!StringUtils.isEmpty(pageSizeStr)) {
+            pageSize = Integer.valueOf(pageSizeStr);
+        }
+        //鍒嗛〉鑾峰彇瑙嗗浘鏁版嵁
+        return viewService.getViewData(sysView, pageNo, pageSize);
+
+    }
+
+    /**
+     *
+     * @description:  鑾峰彇瑙嗗浘涓�瀵逛竴杞崲鐨刴ap鏁版嵁
+     * @param id 瑙嗗浘id
+     * @param pageNo 椤垫暟
+     * @return: map鏁版嵁
+     *
+     */
+    @RequestMapping(value = "/getMapData/{id}/page/{pageNo}",  method = RequestMethod.GET)
+    public Result getMapData(@PathVariable String id, @PathVariable Integer pageNo, @RequestParam String changedField, HttpServletRequest request) {
+        //pageSize 姣忛〉鏁版嵁
+        String pageSizeStr = request.getParameter("pageSize");
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        int pageSize = 15;
+        if (!StringUtils.isEmpty(pageSizeStr)) {
+            pageSize = Integer.valueOf(pageSizeStr);
+        }
+        //鑾峰彇maping鐨勬暟鎹�
+        return viewService.getMapData(sysView, changedField, pageNo, pageSize);
+
+    }
+
+    /**
+     *
+     * @description:  閫氳繃鐢ㄦ埛鑾峰彇鏈夋潈闄愮殑瀛楁
+     * @param userId 鐢ㄦ埛id
+     * @param needUpdate 鏄惁闇�瑕佷粠鏂拌幏鍙栦竴閬嶆暟鎹�
+     * @param maintainId 鐗堟湰id
+     * @return: 瀛楁鍒楄〃
+     *
+     */
+
+    @RequestMapping(value = "/field/{userId}", method = RequestMethod.GET)
+    public Result<List<SysField>> fieldList(@PathVariable String userId, @RequestParam boolean needUpdate,  @RequestParam String maintainId, HttpServletRequest request) {
+        //璇锋眰澶撮噷鑾峰彇鐢ㄦ埛淇℃伅
+        TUser user = DbUtils.getUserById(userId);
+        if (user == null) {
+            return Result.error(CodeMsg.USER_NOT_MATHED);
+        }
+
+        if (needUpdate) {
+            //浠庢柊鑾峰彇涓�閬嶆渶鏂扮殑鐗堟湰瀛楁
+            Maintain nowVersion = maintainService.getNowVersion(maintainId);
+            List<SysField> field = masterAuthorService.getField(user, nowVersion.getId());
+            return Result.success(field) ;
+        }
+        //鏍规嵁鏉冮檺鑾峰彇瀛楁
+        List<SysField> field = masterAuthorService.getField(user, maintainId);
+        return Result.success(field) ;
+    }
+
+    /**
+     *
+     * @description:  鑾峰彇瑙嗗浘涓�瀵逛竴杞崲鐨刴ap鏁版嵁
+     * @param id 瑙嗗浘id
+     * @return: map鏁版嵁
+     *
+     */
+    @RequestMapping(value = "/mapFieldList/{id}",  method = RequestMethod.GET)
+    public Result active(@PathVariable String id) {
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+
+        List<ViewMapFieldItem> mapField = viewService.getMapField(sysView);
+        return Result.success(mapField);
+    }
+
+    /**
+     *
+     * @description:  鑾峰彇瑙嗗浘鏁版嵁
+     * @param id 瑙嗗浘id
+     * @return: 瑙嗗浘鏁版嵁
+     *
+     */
+    @RequestMapping(value = "/get/{id}",  method = RequestMethod.GET)
+    public Result get(@PathVariable String id) {
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        String menuId = sysView.getMenuId();
+        //鑾峰彇涓婚鐨勭埗绾т富棰橀摼
+        LinkedHashSet<String> parentIdSet = new LinkedHashSet<>();
+        parentIdSet.add(menuId);
+        LinkedHashSet<String> byParentId = menuService.getByParentId(parentIdSet);
+        ArrayList<String> strings = new ArrayList<>(byParentId);
+        Collections.reverse(strings);
+        String collect = strings.stream().collect(Collectors.joining(Constant.SEMICOLON));
+        sysView.setMenuName(collect);
+        //鑾峰彇鍏宠仈涓婚
+        List<SysViewJoin> sysViewJoins = sysViewJoinService.selectList(new EntityWrapper<SysViewJoin>().eq(Constant.PARENT_ID, id));
+        for (SysViewJoin sysViewJoin : sysViewJoins) {
+            //鑾峰彇鍏宠仈涓婚鐨勭埗绾т富棰橀摼
+            parentIdSet.clear();
+            parentIdSet.add(sysViewJoin.getMenuId());
+            LinkedHashSet<String> subParent = menuService.getByParentId(parentIdSet);
+            ArrayList<String> subList = new ArrayList<>(subParent);
+            Collections.reverse(subList);
+            String subMenuName = subList.stream().collect(Collectors.joining(Constant.SEMICOLON));
+            sysViewJoin.setMenuName(subMenuName);
+        }
+        sysView.setViewJoinList(sysViewJoins);
+
+        List<SysViewLogicmap> sysViewLogicmaps = logicmapService.selectList(new EntityWrapper<SysViewLogicmap>().eq(Constant.PARENT_ID, sysView.getId()));
+        sysView.setLogicmapList(sysViewLogicmaps);
+        return Result.success(sysView);
+    }
+    /**
+     *
+     * @description:  鑾峰彇鍙敤瑙嗗浘
+     * @param userId 鐢ㄦ埛id
+     * @return: 瑙嗗浘鏁�
+     *
+     */
+    @RequestMapping(value = "/getCnt/{userId}",  method = RequestMethod.GET)
+    public Result cnt(@PathVariable String userId, HttpServletRequest request) {
+        //鑾峰彇鐢ㄦ埛淇℃伅
+        TUser user = DbUtils.getUserById(userId);
+        if (user == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        Wrapper<SysView> userWrapper = new EntityWrapper<SysView>().eq("user_id", userId);
+        //鑾峰彇瑙嗗浘鎬绘暟
+        int totalCnt = viewService.selectCount(userWrapper);
+        //鍙敤瑙嗗浘鏁�
+        userWrapper.eq("active", true);
+        int activeCnt = viewService.selectCount(userWrapper);
+        //宸叉敞鍐岃鍥炬暟
+        userWrapper.eq("subscribe", true);
+        int subscribeCnt = viewService.selectCount(userWrapper);
+        JSONObject object = new JSONObject();
+        object.fluentPut("totalCnt", totalCnt);
+        object.fluentPut("activeCnt", activeCnt);
+        object.fluentPut("subscribeCnt", subscribeCnt);
+        return Result.success(object);
+    }
+
+    /**
+     *
+     * @description:  鍒涘缓瑙嗗浘
+     * @param userId 鐢ㄦ埛id
+     * @return: 瑙嗗浘鏁版嵁
+     *
+     */
+    @RequestMapping(value = "/create/{userId}",  method = RequestMethod.GET)
+    public Result add(@PathVariable String userId, HttpServletRequest request) {
+        SysView sysView = new SysView();
+        //璁剧疆瑙嗗浘鍒濆鏁版嵁
+        sysView.setId(DbUtils.getUUID())
+                .setUserId(userId)
+                .setCreateTime(new Date())
+                .setStatus(ViewStatus.edit)
+                .setEmptyData(true)
+                .insert();
+        //鐢熸垚骞朵繚瀛榤apping琛� 琛ㄥ悕
+        viewService.getMappingTableName(sysView);
+        return Result.success(sysView);
+    }
+
+    /**
+     *
+     * @description:  鍒犻櫎涓�瀵逛竴mapping
+     * @param id 瑙嗗浘id
+     * @return: map鏁版嵁
+     *
+     */
+    @SneakyThrows
+    @RequestMapping(value = "/deleteMap/{id}",  method = RequestMethod.GET)
+    public Result deleteMap(@PathVariable String id, @RequestParam String changedField) {
+        //鑾峰彇瑙嗗浘鏁版嵁
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        //鍒犻櫎mapping瀛楁
+        viewService.deleteMapField(sysView, changedField);
+        logicmapService.delete(new EntityWrapper<SysViewLogicmap>().eq(Constant.PARENT_ID, id).eq(Constant.FIELD, changedField));
+        List<SysViewLogicmap> sysViewLogicmaps = logicmapService.selectList(new EntityWrapper<SysViewLogicmap>().eq(Constant.PARENT_ID, sysView.getId()));
+        sysView.setLogicmapList(sysViewLogicmaps);
+        return Result.success(sysView);
+    }
+    /**
+     *
+     * @description:  鍒犻櫎鍏宠仈涓婚鏁版嵁
+     * @param id 瑙嗗浘鍏宠仈涓婚id
+     * @return: 鏄惁鍒犻櫎鎴愬姛
+     *
+     */
+
+    @SneakyThrows
+    @RequestMapping(value = "/delete/detail/{id}",  method = RequestMethod.GET)
+    public Result deleteDetail(@PathVariable String id) {
+        //鑾峰彇鍏宠仈涓婚鏁版嵁
+        SysViewJoin sysViewJoin = sysViewJoinService.selectById(id);
+        if (sysViewJoin == null) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        String parentId = sysViewJoin.getParentId();
+        SysView sysView = viewService.selectById(parentId);
+        String userId = sysView.getUserId();
+        //鑾峰彇鐢ㄦ埛淇℃伅
+        TUser user = DbUtils.getUserById(userId);
+
+        //鑾峰彇鍏宠仈涓婚淇℃伅
+        Maintain joinMaintain = viewService.getJoinMaintain(sysViewJoin);
+        List<String> subFieldList = viewService.getSubFieldList(sysViewJoin, user);
+        boolean delete = false;
+
+        for (String subField: subFieldList) {
+            String changeFieldName = viewService.changeFieldName(joinMaintain.getTableName(), subField);
+            logicmapService.delete(new EntityWrapper<SysViewLogicmap>()
+                    .eq(Constant.PARENT_ID, sysView.getId())
+                    .eq(Constant.FIELD, changeFieldName)
+            );
+            //鍒犻櫎1瀵�1mapping 琛ㄥ唴鏁版嵁
+            delete = viewService.deleteMapField(sysView, changeFieldName);
+        }
+        if (delete) {
+            return  Result.success(CodeMsg.DELETE_SUCCESS);
+        } else {
+            return  Result.error(CodeMsg.DELETE_ERROR);
+        }
+    }
+    /**
+     *
+     * @description:  鍒犻櫎瑙嗗浘
+     * @param id 瑙嗗浘id
+     * @return: 鏄惁鍒犻櫎
+     *
+     */
+
+    @SneakyThrows
+    @RequestMapping(value = "/delete/{id}",  method = RequestMethod.GET)
+    public Result delete(@PathVariable String id) {
+        return viewService.deleteView(id);
+    }
+
+    /**
+     *
+     * @description:  閫氳繃鐢ㄦ埛鑾峰彇鏌愪富棰樹笅鐨勭増鏈唱椋�
+     * @param userId 鐢ㄦ埛id
+     * @param menuId 涓婚
+     * @return: map鏁版嵁
+     *
+     */
+    @RequestMapping(value = "/maintainList/{userId}", method = RequestMethod.GET)
+    public Result add(@PathVariable String userId, @RequestParam String menuId, HttpServletRequest request) {
+        //鑾峰彇鐢ㄦ埛淇℃伅
+        TUser user = DbUtils.getUserById(userId);
+        if (user == null) {
+            return Result.error(CodeMsg.USER_NOT_MATHED);
+        }
+        //鑾峰彇琛ㄥ悕
+        String tableNameByMenu = menuMappingService.getTableNameByMenu(menuId);
+        if (StringUtils.isEmpty(tableNameByMenu)) {
+            return Result.error(CodeMsg.SELECT_ERROR_NOTFOUND);
+        }
+        //鑾峰彇鐗堟湰list
+        LinkedHashSet<Maintain> maintainSet = masterAuthorService.getMaintainSet(tableNameByMenu, user);
+        ArrayList<Maintain> maintains = new ArrayList<>(maintainSet);
+        for (Maintain maintain : maintains) {
+            maintain.setNeedUpdate(false);
+        }
+        Maintain max = new Maintain();
+        max.setId(tableNameByMenu);
+        max.setTableName(tableNameByMenu);
+        max.setNeedUpdate(true);
+        maintains.add(0, max);
+        return Result.success(maintains);
+    }
+    /**
+     *
+     * @description: 鏇存柊瑙嗗浘
+     * @return: 瑙嗗浘鏁版嵁
+     *
+     */
+    @RequestMapping(value = "/update",  method = RequestMethod.POST)
+    public Result add(@RequestBody SysView view) {
+        //鏍¢獙蹇呬紶瀛楁
+        if (StringUtils.isEmpty(view.getId())) {
+            return Result.error(CodeMsg.SELECT_ERROR_NOTFOUND);
+        }
+        if (StringUtils.isEmpty(view.getMenuId()) || StringUtils.isEmpty(view.getBaseMaintain()) ) {
+            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
+        }
+        if (StringUtils.isEmpty(view.getViewTableName())) {
+            viewService.getViewTableName(view);
+        }
+        List<SysViewLogicmap> logicmapList = view.getLogicmapList();
+        //delete 涔嬪墠鍏宠仈鐨勯�昏緫杞崲 鏁版嵁
+        logicmapService.delete(new EntityWrapper<SysViewLogicmap>().eq(Constant.PARENT_ID, view.getId()));
+        if (logicmapList != null) {
+            for (SysViewLogicmap logicmap : logicmapList) {
+                logicmap.setId(DbUtils.getUUID()).setParentId(view.getId()).insert();
+            }
+        }
+
+        view.setEmptyData(false).setStatus(ViewStatus.edit);
+        //delete 涔嬪墠鍏宠仈涓婚鏁版嵁
+        sysViewJoinService.delete(new EntityWrapper<SysViewJoin>().eq(Constant.PARENT_ID, view.getId()));
+
+        List<SysViewJoin> viewJoinList = view.getViewJoinList();
+        boolean insert;
+        for (SysViewJoin sysViewJoin : viewJoinList) {
+            insert = sysViewJoin.setId(DbUtils.getUUID()).insert();
+            if (!insert) {
+                return Result.error(CodeMsg.INSERT_ERROR);
+            }
+        }
+        view.setUpdateTime(new Date());
+        view.updateById();
+        return Result.success(view);
+    }
+    /**
+     *
+     * @description:  涓嬭浇瑙嗗浘涓�瀵逛竴杞崲鐨刴ap鏁版嵁
+     * @param id 瑙嗗浘id
+     * @param menuId 涓婚id
+     * @param field 瀛楁
+     * @return: map鏁版嵁
+     *
+     */
+    @SneakyThrows
+    @RequestMapping(value = "/download/{id}",  method = RequestMethod.GET)
+    public void download(@PathVariable String id,  @RequestParam String menuId, @RequestParam String field, HttpServletResponse response) {
+        //鑾峰彇瑙嗗浘淇℃伅
+        SysView sysView = viewService.selectById(id);
+        if (sysView == null) {
+            return;
+        }
+        String userId = sysView.getUserId();
+        //鑾峰彇鐢ㄦ埛淇℃伅
+        TUser user = DbUtils.getUserById(userId);
+        if (user == null) {
+            return;
+        }
+        //涓嬭浇鏌愪釜涓婚涓嬬殑瀛楁鍏宠仈鐨�1瀵�1 mapping鏁版嵁
+        viewService.downlodMap(sysView,user, response, field, menuId);
+    }
 }

--
Gitblit v1.8.0