Selaa lähdekoodia

1、节点管理员创建节点数据接口;2、获取节点基础数据接口;3、获取所有基础功能数据接口。

guanzi 3 vuotta sitten
vanhempi
commit
66bd89bff5

+ 46 - 11
saas-backen/src/main/java/com/pavis/app/saasbacken/controller/CommonController.java

@@ -1,7 +1,9 @@
 package com.pavis.app.saasbacken.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.pavis.app.saasbacken.aop.PreSaveLog;
 import com.pavis.app.saasbacken.exception.GlobalExceptionHandler;
+import com.pavis.app.saasbacken.form.ModuleTree;
 import com.pavis.app.saasbacken.http.ResultBody;
 import com.pavis.app.saasbacken.service.*;
 import com.pavis.app.saasbacken.utils.HttpContextUtils;
@@ -9,12 +11,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 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;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * @program: push-saas
@@ -54,7 +54,7 @@ public class CommonController {
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         String uri = request.getRequestURI();
         try {
-            log.info("param:{}", test);
+            log.info("param dic:{}", test);
             return ResultBody.ok().path(uri).data(dicService.createDic());
         } catch (Exception e) {
             return GlobalExceptionHandler.resolveException(e, uri);
@@ -72,7 +72,7 @@ public class CommonController {
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         String uri = request.getRequestURI();
         try {
-            log.info("init:{}", "init");
+            log.info("init initDataParent:{}", "init");
             return ResultBody.ok().path(uri).data(initDataParentService.initDataParent());
         } catch (Exception e) {
             return GlobalExceptionHandler.resolveException(e, uri);
@@ -90,7 +90,7 @@ public class CommonController {
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         String uri = request.getRequestURI();
         try {
-            log.info("init:{}", "init");
+            log.info("init initDataChild:{}", "init");
             return ResultBody.ok().path(uri).data(initDataChildService.initDataChild());
         } catch (Exception e) {
             return GlobalExceptionHandler.resolveException(e, uri);
@@ -109,7 +109,7 @@ public class CommonController {
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         String uri = request.getRequestURI();
         try {
-            log.info("init:{}", "init");
+            log.info("init initDataThird:{}", "init");
             return ResultBody.ok().path(uri).data(initDataThirdService.initDataThird());
         } catch (Exception e) {
             return GlobalExceptionHandler.resolveException(e, uri);
@@ -120,18 +120,53 @@ public class CommonController {
      * 通用配置:
      *  key-value。通用配置。
      */
-    @PreSaveLog("获取基础功能数据")
-    @ApiOperation(value = "获取基础功能数据信息接口", notes = "获取基础功能数据信息接口")
+    @PreSaveLog("获取所有基础功能数据")
+    @ApiOperation(value = "获取所有基础功能数据信息接口", notes = "获取所有基础功能数据信息接口")
     @GetMapping("/get/lib")
     public ResultBody getLibrary() {
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         String uri = request.getRequestURI();
         try {
-            log.info("init:{}", "init");
+            log.info("getLibrary:{}", "init");
             return ResultBody.ok().path(uri).data(checkModuleService.selModules());
         } catch (Exception e) {
             return GlobalExceptionHandler.resolveException(e, uri);
         }
     }
 
+    /**
+     * 通用配置:
+     *  key-value。通用配置。
+     */
+    @PreSaveLog("节点管理员动态创建节点数据")
+    @ApiOperation(value = "节点管理员动态创建节点数据接口", notes = "节点管理员动态创建节点数据接口")
+    @PostMapping("/add/init")
+    // public ResultBody addInitFunction(@RequestBody List<ModuleParam> moduleParams) {
+    // public ResultBody addInitFunction(@RequestBody Object o) {
+    public ResultBody addInitFunction(@RequestBody List<ModuleTree> moduleParams) {
+        HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+        String uri = request.getRequestURI();
+        try {
+            log.info("addInitFunction:{}", JSON.toJSONString(moduleParams));
+            // return ResultBody.ok().path(uri).data(null);
+            return ResultBody.ok().path(uri).data(checkModuleService.addInitData(moduleParams));
+        } catch (Exception e) {
+            return GlobalExceptionHandler.resolveException(e, uri);
+        }
+    }
+
+    @PreSaveLog("获取节点基础数据")
+    @ApiOperation(value = "获取节点基础数据接口", notes = "获取节点基础数据接口")
+    @GetMapping("/node/data")
+    public ResultBody getNodeData() {
+        HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+        String uri = request.getRequestURI();
+        try {
+            log.info("getNodeData:{}", "");
+            // return ResultBody.ok().path(uri).data(null);
+            return ResultBody.ok().path(uri).data(checkModuleService.getNodeData());
+        } catch (Exception e) {
+            return GlobalExceptionHandler.resolveException(e, uri);
+        }
+    }
 }

+ 5 - 3
saas-backen/src/main/java/com/pavis/app/saasbacken/entity/CheckModule.java

@@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Builder;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
+import lombok.*;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
@@ -27,6 +25,10 @@ import java.io.Serializable;
 @TableName("check_module")
 @ApiModel(value="CheckModule对象", description="")
 @Builder
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
 public class CheckModule extends Model<CheckModule> {
 
     @ApiModelProperty(value = "主键自增id")

+ 5 - 2
saas-backen/src/main/java/com/pavis/app/saasbacken/form/ModuleData.java

@@ -15,7 +15,7 @@ import lombok.Setter;
 @Setter
 @NoArgsConstructor
 @AllArgsConstructor
-public class ModuleData {
+public class ModuleData{
 
     @ApiModelProperty(value = "主键")
     private String id;
@@ -29,4 +29,7 @@ public class ModuleData {
     @ApiModelProperty(value = "图标")
     private String icon;
 
-}
+    @ApiModelProperty(value = "上级节点id")
+    private String parentId;
+
+}

+ 1 - 3
saas-backen/src/main/java/com/pavis/app/saasbacken/form/ModuleParam.java

@@ -18,6 +18,4 @@ import java.util.List;
 @AllArgsConstructor
 public class ModuleParam extends ModuleData{
     List<ModuleData> trees;
-    // List<ModuleData> childs;
-    // List<ModuleData> thirds;
-}
+}

+ 21 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/form/ModuleTree.java

@@ -0,0 +1,21 @@
+package com.pavis.app.saasbacken.form;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @description: 前端获取所有基础功能及子字段
+ * @author: Guanzi
+ * @created: 2021/11/04 14:12
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+public class ModuleTree extends ModuleData{
+    List<ModuleParam> trees;
+}

+ 13 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/service/CheckModuleService.java

@@ -3,6 +3,7 @@ package com.pavis.app.saasbacken.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.pavis.app.saasbacken.entity.CheckModule;
 import com.pavis.app.saasbacken.form.ModuleParam;
+import com.pavis.app.saasbacken.form.ModuleTree;
 
 import java.util.List;
 
@@ -21,4 +22,16 @@ public interface CheckModuleService extends IService<CheckModule> {
      * @return
      */
     List<ModuleParam> selModules();
+
+    /**
+     * 初始化节点管理员所选数据。
+     * @return
+     */
+    List<CheckModule> addInitData(List<ModuleTree> moduleTrees);
+
+    /**
+     * 获取节点数据。
+     * @return
+     */
+    List<ModuleParam> getNodeData();
 }

+ 104 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/CheckModuleServiceImpl.java

@@ -13,6 +13,7 @@ import com.pavis.app.saasbacken.entity.InitDataParent;
 import com.pavis.app.saasbacken.entity.InitDataThird;
 import com.pavis.app.saasbacken.form.ModuleData;
 import com.pavis.app.saasbacken.form.ModuleParam;
+import com.pavis.app.saasbacken.form.ModuleTree;
 import com.pavis.app.saasbacken.service.CheckModuleService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -91,4 +92,107 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
         System.err.println("*****" + JSON.toJSONString(moduleParams));
         return moduleParams;
     }
+
+    @Override
+    public List<CheckModule> addInitData(List<ModuleTree> moduleTrees) {
+
+        CheckModule firstCheck;
+        List<CheckModule> firstCheckModules = new ArrayList<>();
+        List<CheckModule> thirdCheckModules = new ArrayList<>();
+        List<CheckModule> secCheckModules = new ArrayList<>();
+        for (ModuleTree moduleTree : moduleTrees) {
+            firstCheck = new CheckModule();
+            BeanUtils.copyProperties(moduleTree,firstCheck);
+            firstCheck.setResType(moduleTree.getTitleCode());
+            firstCheck.setParentId("0");
+            firstCheckModules.add(firstCheck);
+
+            CheckModule secCheck;
+            for (ModuleParam tree : moduleTree.getTrees()) {
+                secCheck = new CheckModule();
+                BeanUtils.copyProperties(tree,secCheck);
+                secCheck.setResType(tree.getId());
+                secCheckModules.add(secCheck);
+
+                CheckModule thirdCheck;
+                for (ModuleData treeTree : tree.getTrees()) {
+                    thirdCheck = new CheckModule();
+                    BeanUtils.copyProperties(treeTree,thirdCheck);
+                    thirdCheck.setResType(treeTree.getId());
+                    thirdCheckModules.add(thirdCheck);
+
+                    System.err.println("****:>" + treeTree.getTitle());
+                }
+            }
+        }
+        log.info("firstCheckModules:{}",JSON.toJSONString(firstCheckModules));
+        log.info("secCheckModules:{}",JSON.toJSONString(secCheckModules));
+        log.info("thirdCheckModules:{}",JSON.toJSONString(thirdCheckModules));
+
+        // 增删改查。
+        // 提交的数据结构。
+        // 返回的数据结构
+        CheckModule checkModule = CheckModule.builder()
+                .resType("")
+                .title("")
+                .titleCode("")
+                .parentId("")
+                .icon("")
+                .isEnabled("")
+                .isMust("")
+                .isSorted("")
+                .weatherChild("")
+                .showType("")
+                .build();
+        // 是否必填,手动设置。还是前端展示,节点管理员可选。
+
+        boolean b = saveBatch(firstCheckModules);
+        boolean b1 = saveBatch(secCheckModules);
+        boolean b2 = saveBatch(thirdCheckModules);
+        log.info("b:{}",b);
+        log.info("b1:{}",b1);
+        log.info("b2:{}",b2);
+
+        List<CheckModule> checkModules = checkModuleMapper.selectList(new QueryWrapper<CheckModule>().lambda().isNotNull(CheckModule::getId));
+        return checkModules;
+    }
+
+    @Override
+    public List<ModuleParam> getNodeData() {
+        // 构建返回信息。
+        List<CheckModule> checkModules1 = checkModuleMapper.selectList(new QueryWrapper<CheckModule>().lambda().eq(CheckModule::getParentId,"0"));
+        ModuleParam moduleParam;
+        List<ModuleParam> moduleParams = new ArrayList<>();
+        for (CheckModule module : checkModules1) {
+            moduleParam = new ModuleParam();
+            BeanUtils.copyProperties(module, moduleParam);
+
+            List<ModuleData> childs = new ArrayList<>();
+            ModuleParam moduleParamChild;
+            List<CheckModule> checkModules2 = checkModuleMapper.selectList(new QueryWrapper<CheckModule>()
+                    .lambda().eq(CheckModule::getParentId,module.getId()));
+            for (CheckModule checkModule1 : checkModules2) {
+                moduleParamChild = new ModuleParam();
+                BeanUtils.copyProperties(checkModule1, moduleParamChild);
+                childs.add(moduleParamChild);
+
+                ModuleParam moduleParamThird;
+                List<ModuleData> thirds = new ArrayList<>();
+                List<CheckModule> checkModules3 = checkModuleMapper.selectList(new QueryWrapper<CheckModule>()
+                        .lambda().eq(CheckModule::getParentId,checkModule1.getId()));
+                for (CheckModule checkModule2 : checkModules3) {
+                    moduleParamThird = new ModuleParam();
+                    BeanUtils.copyProperties(checkModule2, moduleParamThird);
+                    thirds.add(moduleParamThird);
+                }
+                moduleParamChild.setTrees(thirds);
+            }
+            moduleParam.setTrees(childs);
+            moduleParams.add(moduleParam);
+        }
+        log.info("******moduleParams:{}",JSON.toJSONString(moduleParams));
+        return moduleParams;
+    }
+
+
 }