瀏覽代碼

修改表单新增接口位置,使用Feign调用

Administrator 4 年之前
父節點
當前提交
19ab10ed8e

+ 26 - 0
boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteSysMenuService.java

@@ -0,0 +1,26 @@
+package com.boman.system.api;
+
+import com.boman.common.core.constant.ServiceNameConstants;
+import com.boman.common.core.web.domain.AjaxResult;
+import com.boman.system.api.domain.SysMenu;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @author tjf
+ * @Date: 2021/04/13/9:53
+ */
+@FeignClient(contextId = "remoteSysMenuService", value = ServiceNameConstants.SYSTEM_SERVICE)
+public interface RemoteSysMenuService {
+
+    /**
+     * 新增菜单
+     * @param menu 菜单
+     * @return
+     */
+    @PostMapping("/menu")
+    public AjaxResult add(@Validated @RequestBody SysMenu menu);
+
+}

+ 258 - 0
boman-api/boman-api-system/src/main/java/com/boman/system/api/domain/SysMenu.java

@@ -0,0 +1,258 @@
+package com.boman.system.api.domain;
+
+import com.boman.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 菜单权限表 sys_menu
+ * 
+ * @author ruoyi
+ */
+public class SysMenu extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 菜单ID */
+    private Long id;
+
+    /** 菜单名称 */
+    private String menuName;
+
+    /** 父菜单名称 */
+    private String parentName;
+
+    /** 父菜单ID */
+    private Long parentId;
+
+    /** 显示顺序 */
+    private String orderNum;
+
+    /** 路由地址 */
+    private String path;
+
+    /** 组件路径 */
+    private String component;
+
+    /** 是否为外链(0是 1否) */
+    private String isFrame;
+
+    /** 是否缓存(0缓存 1不缓存) */
+    private String isCache;
+
+    /** 类型(M目录 C菜单 F按钮) */
+    private String menuType;
+
+    /** 显示状态(0显示 1隐藏) */
+    private String visible;
+    
+    /** 菜单状态(0显示 1隐藏) */
+    private String status;
+
+    /** 权限字符串 */
+    private String perms;
+
+    /** 菜单图标 */
+    private String icon;
+
+    /** 子菜单 */
+    private List<SysMenu> children = new ArrayList<SysMenu>();
+    /**
+     * 对应的表名称
+     */
+    private String sysTableName;
+
+    public String getSysTableName() {
+        return sysTableName;
+    }
+
+    public void setSysTableName(String sysTableName) {
+        this.sysTableName = sysTableName;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    @NotBlank(message = "菜单名称不能为空")
+    @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
+    public String getMenuName()
+    {
+        return menuName;
+    }
+
+    public void setMenuName(String menuName)
+    {
+        this.menuName = menuName;
+    }
+
+    public String getParentName()
+    {
+        return parentName;
+    }
+
+    public void setParentName(String parentName)
+    {
+        this.parentName = parentName;
+    }
+
+    public Long getParentId()
+    {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId)
+    {
+        this.parentId = parentId;
+    }
+
+    @NotBlank(message = "显示顺序不能为空")
+    public String getOrderNum()
+    {
+        return orderNum;
+    }
+
+    public void setOrderNum(String orderNum)
+    {
+        this.orderNum = orderNum;
+    }
+
+    @Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
+    public String getPath()
+    {
+        return path;
+    }
+
+    public void setPath(String path)
+    {
+        this.path = path;
+    }
+
+    @Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
+    public String getComponent()
+    {
+        return component;
+    }
+
+    public void setComponent(String component)
+    {
+        this.component = component;
+    }
+
+    public String getIsFrame()
+    {
+        return isFrame;
+    }
+
+    public void setIsFrame(String isFrame)
+    {
+        this.isFrame = isFrame;
+    }
+
+    public String getIsCache()
+    {
+        return isCache;
+    }
+
+    public void setIsCache(String isCache)
+    {
+        this.isCache = isCache;
+    }
+
+    @NotBlank(message = "菜单类型不能为空")
+    public String getMenuType()
+    {
+        return menuType;
+    }
+
+    public void setMenuType(String menuType)
+    {
+        this.menuType = menuType;
+    }
+
+    public String getVisible()
+    {
+        return visible;
+    }
+
+    public void setVisible(String visible)
+    {
+        this.visible = visible;
+    }
+
+    public String getStatus()
+    {
+        return status;
+    }
+
+    public void setStatus(String status)
+    {
+        this.status = status;
+    }
+
+    @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
+    public String getPerms()
+    {
+        return perms;
+    }
+
+    public void setPerms(String perms)
+    {
+        this.perms = perms;
+    }
+
+    public String getIcon()
+    {
+        return icon;
+    }
+
+    public void setIcon(String icon)
+    {
+        this.icon = icon;
+    }
+
+    public List<SysMenu> getChildren()
+    {
+        return children;
+    }
+
+    public void setChildren(List<SysMenu> children)
+    {
+        this.children = children;
+    }
+    
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("menuName", getMenuName())
+            .append("parentId", getParentId())
+            .append("orderNum", getOrderNum())
+            .append("path", getPath())
+            .append("component", getComponent())
+            .append("isFrame", getIsFrame())
+            .append("IsCache", getIsCache())
+            .append("menuType", getMenuType())
+            .append("visible", getVisible())
+            .append("status ", getStatus())
+            .append("perms", getPerms())
+            .append("icon", getIcon())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 10 - 0
boman-modules/boman-gen/src/main/java/com/boman/gen/controller/GenController.java

@@ -208,4 +208,14 @@ public class GenController extends BaseController {
         response.setContentType("application/octet-stream; charset=UTF-8");
         IOUtils.write(data, response.getOutputStream());
     }
+
+    /**
+     * @Description 数据表 新增功能
+     * @Author: tjf
+     * @Date: 2021/3/24
+     */
+    @PostMapping("/addTable")
+    public AjaxResult add(@Validated @RequestBody GenTable genTable) {
+        return genTableService.insertGenTable(genTable);
+    }
 }

+ 129 - 0
boman-modules/boman-gen/src/main/java/com/boman/gen/service/GenTableServiceImpl.java

@@ -11,6 +11,11 @@ import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
+import com.boman.common.core.constant.UserConstants;
+import com.boman.common.core.utils.DateUtils;
+import com.boman.common.core.web.domain.AjaxResult;
+import com.boman.system.api.RemoteSysMenuService;
+import com.boman.system.api.domain.SysMenu;
 import org.apache.commons.io.IOUtils;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
@@ -51,6 +56,9 @@ public class GenTableServiceImpl implements IGenTableService {
 
     @Autowired
     private GenTableColumnMapper genTableColumnMapper;
+
+    @Autowired
+    private RemoteSysMenuService remoteSysMenuService;
     /**
      * 查询业务信息
      *
@@ -373,6 +381,127 @@ public class GenTableServiceImpl implements IGenTableService {
         }
     }
 
+    /**
+     * 代码生成业务表新增
+     * 注意解决事务问题
+     *
+     * @param genTable
+     * @return
+     */
+    @Override
+    public AjaxResult insertGenTable(GenTable genTable) {
+        //新增表成功的时候,新增字段公共字段
+        int i = genTableMapper.insertGenTable(genTable);
+        if (i > 0) {
+            insertCommonColumn(genTable.getTableId());
+            //判断是否是菜单
+            isMenu(genTable);
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+    /**
+     * 新建表时新增对应公共字段
+     *
+     * @param tableId
+     */
+    public void insertCommonColumn(Long tableId) {
+        GenTableColumn genTableColumnLog = new GenTableColumn();
+        GenTableColumn genTableColumnBaseInfo = new GenTableColumn();
+
+        genTableColumnLog.setTableId(tableId);
+        genTableColumnLog.setColumnName("log_info");
+        genTableColumnLog.setColumnComment("日志信息");
+        genTableColumnLog.setColumnType("varchar(255)");
+        genTableColumnLog.setIsPk("0");
+        genTableColumnLog.setIsIncrement("0");
+        genTableColumnLog.setIsInsert("1");
+        genTableColumnLog.setQueryType("LIKE");
+        genTableColumnLog.setHtmlType("input");
+        genTableColumnLog.setSort(7);
+        genTableColumnLog.setCreateBy("admin");
+        genTableColumnLog.setCreateTime(DateUtils.getNowDate());
+        genTableColumnMapper.insertGenTableColumn(genTableColumnLog);
+
+        genTableColumnBaseInfo.setTableId(tableId);
+        genTableColumnBaseInfo.setColumnName("base_info");
+        genTableColumnBaseInfo.setColumnComment("基本信息");
+        genTableColumnBaseInfo.setColumnType("varchar(255)");
+        genTableColumnBaseInfo.setIsPk("0");
+        genTableColumnBaseInfo.setIsIncrement("0");
+        genTableColumnBaseInfo.setIsInsert("1");
+        genTableColumnBaseInfo.setQueryType("LIKE");
+        genTableColumnBaseInfo.setHtmlType("input");
+        genTableColumnBaseInfo.setSort(8);
+        genTableColumnBaseInfo.setCreateBy("admin");
+        genTableColumnBaseInfo.setCreateTime(DateUtils.getNowDate());
+        genTableColumnMapper.insertGenTableColumn(genTableColumnBaseInfo);
+
+
+        String[] columnName = new String[]{"id", "create_by", "create_time", "update_by", "update_time", "is_del"};
+        String[] columnComment = new String[]{"编号","创建者", "创建时间", "更新者", "更新时间", "是否删除"};
+        String[] columnType = new String[]{"bigint(20)","varchar(64)", "datetime", "varchar(64)", "datetime", "char(1)"};
+        String[] htmlType = new String[]{"input", "input", "datetime", "input", "datetime", "select"};
+        for (int i = 0; i < columnName.length; i++) {
+            GenTableColumn genTableColumn = new GenTableColumn();
+            genTableColumn.setTableId(tableId);
+            genTableColumn.setColumnName(columnName[i]);
+            genTableColumn.setColumnComment(columnComment[i]);
+            genTableColumn.setColumnType(columnType[i]);
+            genTableColumn.setIsPk("0");
+            genTableColumn.setIsIncrement("0");
+            genTableColumn.setIsInsert("1");
+            genTableColumn.setQueryType("EQ");
+            genTableColumn.setHtmlType(htmlType[i]);
+            genTableColumn.setSort(i + 1);
+            genTableColumn.setCreateBy("admin");
+            genTableColumn.setCreateTime(DateUtils.getNowDate());
+            genTableColumn.setHrParentId(genTableColumnBaseInfo.getColumnId());
+            if (i == 0){
+                genTableColumn.setIsIncrement("1");
+                genTableColumn.setHrParentId(genTableColumnLog.getColumnId());
+            }
+            genTableColumnMapper.insertGenTableColumn(genTableColumn);
+        }
+    }
+
+    /**
+     * 判断是否是菜单
+     * @param genTable
+     */
+    public void isMenu(GenTable genTable) {
+        String isMenu = genTable.getIsMenu();
+        if (StringUtils.isNotBlank(isMenu) && isMenu.equals(UserConstants.NOT_UNIQUE)) {
+            //先生成主菜单
+            SysMenu sysMenu = new SysMenu();
+            //表描述当菜单名称
+            sysMenu.setMenuName(genTable.getTableComment());
+            sysMenu.setParentId(0L);
+            sysMenu.setOrderNum("1");
+            //路由地址
+            sysMenu.setPath(genTable.getBusinessName());
+            sysMenu.setComponent(genTable.getModuleName() + "/" + genTable.getTableComment() + "/index");
+            sysMenu.setMenuType("C");
+            sysMenu.setIcon("system");
+            sysMenu.setCreateBy(SecurityUtils.getUsername());
+            sysMenu.setSysTableName(genTable.getTableName());
+            remoteSysMenuService.add(sysMenu);
+            //是菜单,生成crud按钮
+            for (int i = 0; i < Constants.MENU_NAME.length; i++) {
+                String[] menuName = Constants.MENU_NAME;
+                SysMenu menu = new SysMenu();
+                menu.setParentId(sysMenu.getId());
+                menu.setMenuName(menuName[i]);
+                menu.setOrderNum(String.valueOf(i+1));
+                menu.setMenuType("F");
+                menu.setIcon("#");
+                sysMenu.setCreateBy(SecurityUtils.getUsername());
+                remoteSysMenuService.add(menu);
+            }
+        }
+    }
+
     /**
      * 设置主键列信息
      *

+ 7 - 0
boman-modules/boman-gen/src/main/java/com/boman/gen/service/IGenTableService.java

@@ -128,4 +128,11 @@ public interface IGenTableService
      * @param genTable 业务信息
      */
     public void validateEdit(GenTable genTable);
+
+    /**
+     * 代码生成业务新增
+     * @param genTable
+     * @return
+     */
+    public AjaxResult insertGenTable(GenTable genTable);
 }

+ 0 - 6
boman-modules/boman-system/pom.xml

@@ -84,12 +84,6 @@
             <version>1.9.4</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.boman</groupId>
-            <artifactId>boman-modules-gen</artifactId>
-            <version>2.5.0</version>
-        </dependency>
-
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>

+ 0 - 11
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysMenuController.java

@@ -2,7 +2,6 @@ package com.boman.system.controller;
 
 import java.util.List;
 
-import com.boman.gen.domain.GenTable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -161,14 +160,4 @@ public class SysMenuController extends BaseController
         List<SysMenu> menus = menuService.selectMenuTreeById(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
     }
-
-    /**
-     * @Description 数据表 新增功能
-     * @Author: tjf
-     * @Date: 2021/3/24
-     */
-    @PostMapping("/addTable")
-    public AjaxResult add(@Validated @RequestBody GenTable genTable) {
-        return menuService.insertGenTable(genTable);
-    }
 }

+ 1 - 8
boman-modules/boman-system/src/main/java/com/boman/system/service/ISysMenuService.java

@@ -3,8 +3,7 @@ package com.boman.system.service;
 import java.util.List;
 import java.util.Set;
 
-import com.boman.common.core.web.domain.AjaxResult;
-import com.boman.gen.domain.GenTable;
+
 import com.boman.system.domain.SysMenu;
 import com.boman.system.domain.vo.RouterVo;
 import com.boman.system.domain.vo.TreeSelect;
@@ -137,10 +136,4 @@ public interface ISysMenuService
      */
     public String checkMenuNameUnique(SysMenu menu);
 
-    /**
-     * 代码生成业务新增
-     * @param genTable
-     * @return
-     */
-    public AjaxResult insertGenTable(GenTable genTable);
 }

+ 0 - 132
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysMenuServiceImpl.java

@@ -9,13 +9,6 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import com.boman.common.core.constant.Constants;
-import com.boman.common.core.utils.DateUtils;
-import com.boman.common.core.web.domain.AjaxResult;
-import com.boman.gen.domain.GenTable;
-import com.boman.gen.domain.GenTableColumn;
-import com.boman.gen.mapper.GenTableColumnMapper;
-import com.boman.gen.mapper.GenTableMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.boman.common.core.constant.UserConstants;
@@ -51,12 +44,6 @@ public class SysMenuServiceImpl implements ISysMenuService
     @Autowired
     private SysRoleMenuMapper roleMenuMapper;
 
-    @Autowired
-    private GenTableColumnMapper genTableColumnMapper;
-
-    @Autowired
-    private GenTableMapper genTableMapper;
-
     /**
      * 根据用户查询系统菜单列表
      * 
@@ -482,123 +469,4 @@ public class SysMenuServiceImpl implements ISysMenuService
     {
         return getChildList(list, t).size() > 0 ? true : false;
     }
-
-
-    /**
-     * 代码生成业务表新增
-     * 注意解决事务问题
-     *
-     * @param genTable
-     * @return
-     */
-    @Override
-    public AjaxResult insertGenTable(GenTable genTable) {
-        //新增表成功的时候,新增字段公共字段
-        int i = genTableMapper.insertGenTable(genTable);
-        if (i > 0) {
-            insertCommonColumn(genTable.getTableId());
-            //判断是否是菜单
-            isMenu(genTable);
-            return AjaxResult.success();
-        }
-        return AjaxResult.error();
-    }
-
-    /**
-     * 新建表时新增对应公共字段
-     *
-     * @param tableId
-     */
-    public void insertCommonColumn(Long tableId) {
-        GenTableColumn genTableColumnLog = new GenTableColumn();
-        GenTableColumn genTableColumnBaseInfo = new GenTableColumn();
-
-        genTableColumnLog.setTableId(tableId);
-        genTableColumnLog.setColumnName("log_info");
-        genTableColumnLog.setColumnComment("日志信息");
-        genTableColumnLog.setColumnType("varchar(255)");
-        genTableColumnLog.setIsPk("0");
-        genTableColumnLog.setIsIncrement("0");
-        genTableColumnLog.setIsInsert("1");
-        genTableColumnLog.setQueryType("LIKE");
-        genTableColumnLog.setHtmlType("input");
-        genTableColumnLog.setSort(7);
-        genTableColumnLog.setCreateBy("admin");
-        genTableColumnLog.setCreateTime(DateUtils.getNowDate());
-        genTableColumnMapper.insertGenTableColumn(genTableColumnLog);
-
-        genTableColumnBaseInfo.setTableId(tableId);
-        genTableColumnBaseInfo.setColumnName("base_info");
-        genTableColumnBaseInfo.setColumnComment("基本信息");
-        genTableColumnBaseInfo.setColumnType("varchar(255)");
-        genTableColumnBaseInfo.setIsPk("0");
-        genTableColumnBaseInfo.setIsIncrement("0");
-        genTableColumnBaseInfo.setIsInsert("1");
-        genTableColumnBaseInfo.setQueryType("LIKE");
-        genTableColumnBaseInfo.setHtmlType("input");
-        genTableColumnBaseInfo.setSort(8);
-        genTableColumnBaseInfo.setCreateBy("admin");
-        genTableColumnBaseInfo.setCreateTime(DateUtils.getNowDate());
-        genTableColumnMapper.insertGenTableColumn(genTableColumnBaseInfo);
-
-
-        String[] columnName = new String[]{"id", "create_by", "create_time", "update_by", "update_time", "is_del"};
-        String[] columnComment = new String[]{"编号","创建者", "创建时间", "更新者", "更新时间", "是否删除"};
-        String[] columnType = new String[]{"bigint(20)","varchar(64)", "datetime", "varchar(64)", "datetime", "char(1)"};
-        String[] htmlType = new String[]{"input", "input", "datetime", "input", "datetime", "select"};
-        for (int i = 0; i < columnName.length; i++) {
-            GenTableColumn genTableColumn = new GenTableColumn();
-            genTableColumn.setTableId(tableId);
-            genTableColumn.setColumnName(columnName[i]);
-            genTableColumn.setColumnComment(columnComment[i]);
-            genTableColumn.setColumnType(columnType[i]);
-            genTableColumn.setIsPk("0");
-            genTableColumn.setIsIncrement("0");
-            genTableColumn.setIsInsert("1");
-            genTableColumn.setQueryType("EQ");
-            genTableColumn.setHtmlType(htmlType[i]);
-            genTableColumn.setSort(i + 1);
-            genTableColumn.setCreateBy("admin");
-            genTableColumn.setCreateTime(DateUtils.getNowDate());
-            genTableColumn.setHrParentId(genTableColumnBaseInfo.getColumnId());
-            if (i == 0){
-                genTableColumn.setIsIncrement("1");
-                genTableColumn.setHrParentId(genTableColumnLog.getColumnId());
-            }
-            genTableColumnMapper.insertGenTableColumn(genTableColumn);
-        }
-    }
-
-    //判断是否是菜单
-    public void isMenu(GenTable genTable) {
-        String isMenu = genTable.getIsMenu();
-        if (StringUtils.isNotBlank(isMenu) && isMenu.equals(UserConstants.NOT_UNIQUE)) {
-            //先生成主菜单
-            SysMenu sysMenu = new SysMenu();
-            //表描述当菜单名称
-            sysMenu.setMenuName(genTable.getTableComment());
-            sysMenu.setParentId(0L);
-            sysMenu.setOrderNum("1");
-            //路由地址
-            sysMenu.setPath(genTable.getBusinessName());
-            sysMenu.setComponent(genTable.getModuleName() + "/" + genTable.getTableComment() + "/index");
-            sysMenu.setMenuType("C");
-            sysMenu.setIcon("system");
-            sysMenu.setCreateBy(SecurityUtils.getUsername());
-            sysMenu.setSysTableName(genTable.getTableName());
-            menuMapper.insertMenu(sysMenu);
-            //是菜单,生成crud按钮
-            for (int i = 0; i < Constants.MENU_NAME.length; i++) {
-                String[] menuName = Constants.MENU_NAME;
-                SysMenu menu = new SysMenu();
-                menu.setParentId(sysMenu.getId());
-                menu.setMenuName(menuName[i]);
-                menu.setOrderNum(String.valueOf(i+1));
-                menu.setMenuType("F");
-                menu.setIcon("#");
-                sysMenu.setCreateBy(SecurityUtils.getUsername());
-                menuMapper.insertMenu(menu);
-            }
-        }
-    }
 }