From fdf4dd59b62633010018f3180b8b2c1811e9fb44 Mon Sep 17 00:00:00 2001 From: wanggeng888 <450292408@qq.com> Date: Wed, 17 Feb 2021 17:22:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=9F=BA=E7=A1=80=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=88=E6=9D=83=E9=99=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/IPermissionCheckService.java | 14 + .../route/PermissionRouteController.java | 40 +++ .../module/permission/dao/IPermissionDao.java | 7 + .../service/IPermissionService.java | 3 +- .../startup/ModulePermissionStartUp.java | 41 +++ .../mybatis/mapper/permission-mapper.xml | 35 ++- .../permission/list-permission-role.html | 247 ------------------ .../resources/templates/permission/list.html | 12 +- .../resources/templates/permission/save.html | 8 +- .../templates/permission/update.html | 10 +- .../menu/startup/ServiceMenuStartUp.java | 15 +- .../templates/position/user/list.html | 4 +- 12 files changed, 160 insertions(+), 276 deletions(-) create mode 100644 basic-interface/src/main/java/ink/wgink/interfaces/permission/IPermissionCheckService.java create mode 100644 module-permission/src/main/java/ink/wgink/module/permission/controller/route/PermissionRouteController.java create mode 100644 module-permission/src/main/java/ink/wgink/module/permission/startup/ModulePermissionStartUp.java delete mode 100644 module-permission/src/main/resources/templates/permission/list-permission-role.html diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/permission/IPermissionCheckService.java b/basic-interface/src/main/java/ink/wgink/interfaces/permission/IPermissionCheckService.java new file mode 100644 index 00000000..5ae27729 --- /dev/null +++ b/basic-interface/src/main/java/ink/wgink/interfaces/permission/IPermissionCheckService.java @@ -0,0 +1,14 @@ +package ink.wgink.interfaces.permission; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: IPermissionCheckService + * @Description: 权限检查 + * @Author: wanggeng + * @Date: 2021/2/17 10:41 上午 + * @Version: 1.0 + */ +public interface IPermissionCheckService { +} diff --git a/module-permission/src/main/java/ink/wgink/module/permission/controller/route/PermissionRouteController.java b/module-permission/src/main/java/ink/wgink/module/permission/controller/route/PermissionRouteController.java new file mode 100644 index 00000000..a9796d30 --- /dev/null +++ b/module-permission/src/main/java/ink/wgink/module/permission/controller/route/PermissionRouteController.java @@ -0,0 +1,40 @@ +package ink.wgink.module.permission.controller.route; + +import ink.wgink.interfaces.consts.ISystemConstant; +import io.swagger.annotations.Api; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: PermissionRouteController + * @Description: 权限路由 + * @Author: wanggeng + * @Date: 2021/2/17 10:45 上午 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "权限路由接口") +@Controller +@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/permission") +public class PermissionRouteController { + + @GetMapping("save") + public ModelAndView save() { + return new ModelAndView("permission/save"); + } + + @GetMapping("update") + public ModelAndView update() { + return new ModelAndView("permission/update"); + } + + @GetMapping("list") + public ModelAndView list() { + return new ModelAndView("permission/list"); + } + +} diff --git a/module-permission/src/main/java/ink/wgink/module/permission/dao/IPermissionDao.java b/module-permission/src/main/java/ink/wgink/module/permission/dao/IPermissionDao.java index 0886a909..046c8621 100644 --- a/module-permission/src/main/java/ink/wgink/module/permission/dao/IPermissionDao.java +++ b/module-permission/src/main/java/ink/wgink/module/permission/dao/IPermissionDao.java @@ -20,6 +20,13 @@ import java.util.Map; @Repository public interface IPermissionDao { + /** + * 建表 + * + * @throws UpdateException + */ + void createTable() throws UpdateException; + /** * 新增权限 * diff --git a/module-permission/src/main/java/ink/wgink/module/permission/service/IPermissionService.java b/module-permission/src/main/java/ink/wgink/module/permission/service/IPermissionService.java index 9e11bcd3..7e7f8f0b 100644 --- a/module-permission/src/main/java/ink/wgink/module/permission/service/IPermissionService.java +++ b/module-permission/src/main/java/ink/wgink/module/permission/service/IPermissionService.java @@ -1,5 +1,6 @@ package ink.wgink.module.permission.service; +import ink.wgink.interfaces.permission.IPermissionCheckService; import ink.wgink.pojo.ListPage; import ink.wgink.pojo.dtos.permission.PermissionDTO; import ink.wgink.pojo.result.SuccessResultData; @@ -16,7 +17,7 @@ import java.util.Map; * @Date: 2020-05-27 15:58 * @Version: 1.0 **/ -public interface IPermissionService { +public interface IPermissionService extends IPermissionCheckService { /** * 新增权限 diff --git a/module-permission/src/main/java/ink/wgink/module/permission/startup/ModulePermissionStartUp.java b/module-permission/src/main/java/ink/wgink/module/permission/startup/ModulePermissionStartUp.java new file mode 100644 index 00000000..c6076b69 --- /dev/null +++ b/module-permission/src/main/java/ink/wgink/module/permission/startup/ModulePermissionStartUp.java @@ -0,0 +1,41 @@ +package ink.wgink.module.permission.startup; + +import ink.wgink.module.permission.dao.IPermissionDao; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: ModulePermissionStartUp + * @Description: 权限模块 + * @Author: wanggeng + * @Date: 2021/2/17 10:34 上午 + * @Version: 1.0 + */ +@Component +public class ModulePermissionStartUp implements ApplicationRunner { + + private static final Logger LOG = LoggerFactory.getLogger(ModulePermissionStartUp.class); + @Autowired + private IPermissionDao permissionDao; + + @Override + public void run(ApplicationArguments args) throws Exception { + initTable(); + } + + /** + * 初始化表 + */ + private void initTable() { + LOG.debug("创建 sys_permission 表"); + permissionDao.createTable(); + } + +} diff --git a/module-permission/src/main/resources/mybatis/mapper/permission-mapper.xml b/module-permission/src/main/resources/mybatis/mapper/permission-mapper.xml index 294ccbf0..53416c8f 100644 --- a/module-permission/src/main/resources/mybatis/mapper/permission-mapper.xml +++ b/module-permission/src/main/resources/mybatis/mapper/permission-mapper.xml @@ -2,6 +2,8 @@ + + @@ -12,8 +14,27 @@ + + + CREATE TABLE IF NOT EXISTS `sys_permission` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', + `permission_id` char(36) NOT NULL COMMENT '主键', + `permission_title` varchar(255) DEFAULT NULL COMMENT '权限标题', + `permission_type` varchar(255) DEFAULT NULL COMMENT '权限类型', + `permission_url` varchar(255) DEFAULT NULL COMMENT '权限路径', + `permission_client_id` varchar(255) DEFAULT NULL COMMENT '客户端', + `is_public` int(11) DEFAULT NULL COMMENT '是否公共', + `creator` char(36) DEFAULT NULL, + `gmt_create` datetime DEFAULT NULL, + `modifier` char(36) DEFAULT NULL, + `gmt_modified` datetime DEFAULT NULL, + `is_delete` int(1) DEFAULT '0', + PRIMARY KEY (`id`,`permission_id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + - + INSERT INTO sys_permission( permission_id, permission_title, @@ -42,7 +63,7 @@ - + UPDATE sys_permission SET @@ -57,7 +78,7 @@ - + DELETE FROM sys_permission WHERE @@ -68,7 +89,7 @@ - + UPDATE sys_permission SET @@ -94,7 +115,7 @@ - SELECT t1.permission_title, t1.permission_type, @@ -113,7 +134,7 @@ - SELECT t1.permission_title, t1.permission_type, @@ -171,7 +192,7 @@ - SELECT COUNT(*) FROM diff --git a/module-permission/src/main/resources/templates/permission/list-permission-role.html b/module-permission/src/main/resources/templates/permission/list-permission-role.html deleted file mode 100644 index 80eccc94..00000000 --- a/module-permission/src/main/resources/templates/permission/list-permission-role.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - - - - - -
-
-
-
-
-
-
- -
-
- -
-
- -
-
- - -
-
-
-
-
-
-
- - - - - \ No newline at end of file diff --git a/module-permission/src/main/resources/templates/permission/list.html b/module-permission/src/main/resources/templates/permission/list.html index d2468dfc..1c02d519 100644 --- a/module-permission/src/main/resources/templates/permission/list.html +++ b/module-permission/src/main/resources/templates/permission/list.html @@ -1,7 +1,7 @@ - + - + @@ -60,7 +60,7 @@ var common = layui.common; var resizeTimeout = null; var permissionType = top.restAjax.params(window.location.href).permissionType; - var tableUrl = 'api/permission/listpagepermission?permissionType='+ permissionType; + var tableUrl = 'api/permission/listpage?permissionType='+ permissionType; // 初始化表格 function initTable() { @@ -179,7 +179,7 @@ yes: function (index) { top.dialog.close(index); var layIndex; - top.restAjax.delete(top.restAjax.path('api/permission/removepermission/{ids}', [ids]), {}, null, function (code, data) { + top.restAjax.delete(top.restAjax.path('api/permission/remove/{ids}', [ids]), {}, null, function (code, data) { top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000}); reloadTable(); }, function (code, data) { @@ -218,7 +218,7 @@ area: ['100%', '100%'], shadeClose: true, anim: 2, - content: top.restAjax.path('route/permission/save-permission.html?permissionType={permissionType}', [permissionType]), + content: top.restAjax.path('route/permission/save?permissionType={permissionType}', [permissionType]), end: function() { reloadTable(); } @@ -236,7 +236,7 @@ area: ['100%', '100%'], shadeClose: true, anim: 2, - content: top.restAjax.path('route/permission/update-permission.html?permissionId={permissionId}', [checkDatas[0].permissionId]), + content: top.restAjax.path('route/permission/update?permissionId={permissionId}', [checkDatas[0].permissionId]), end: function() { reloadTable(); } diff --git a/module-permission/src/main/resources/templates/permission/save.html b/module-permission/src/main/resources/templates/permission/save.html index 9947d412..0c1f7423 100644 --- a/module-permission/src/main/resources/templates/permission/save.html +++ b/module-permission/src/main/resources/templates/permission/save.html @@ -1,7 +1,7 @@ - + - + @@ -112,7 +112,7 @@ // 初始化内容 function initData() { - initPermissionClientIdSelect(); + // initPermissionClientIdSelect(); } initData(); @@ -121,7 +121,7 @@ top.dialog.confirm(top.dataMessage.commit, function(index) { top.dialog.close(index); var loadLayerIndex; - top.restAjax.post(top.restAjax.path('api/permission/savepermission', []), formData.field, null, function(code, data) { + top.restAjax.post(top.restAjax.path('api/permission/save', []), formData.field, null, function(code, data) { var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, { time: 0, btn: [top.dataMessage.button.yes, top.dataMessage.button.no], diff --git a/module-permission/src/main/resources/templates/permission/update.html b/module-permission/src/main/resources/templates/permission/update.html index c2d6c044..251addc5 100644 --- a/module-permission/src/main/resources/templates/permission/update.html +++ b/module-permission/src/main/resources/templates/permission/update.html @@ -1,7 +1,7 @@ - + - + @@ -121,7 +121,7 @@ // 初始化内容 function initData() { var loadLayerIndex; - top.restAjax.get(top.restAjax.path('api/permission/getpermissionbyid/{permissionId}', [permissionId]), {}, null, function(code, data) { + top.restAjax.get(top.restAjax.path('api/permission/get/{permissionId}', [permissionId]), {}, null, function(code, data) { var dataFormData = {}; for(var i in data) { dataFormData[i] = data[i] +''; @@ -129,7 +129,7 @@ form.val('dataForm', dataFormData); form.render(null, 'dataForm'); - initPermissionClientIdSelect(data['permissionClientId']); + // initPermissionClientIdSelect(data['permissionClientId']); initPermissionType(); }, function(code, data) { top.dialog.msg(data.msg); @@ -146,7 +146,7 @@ top.dialog.confirm(top.dataMessage.commit, function(index) { top.dialog.close(index); var loadLayerIndex; - top.restAjax.put(top.restAjax.path('api/permission/updatepermission/{permissionId}', [permissionId]), formData.field, null, function(code, data) { + top.restAjax.put(top.restAjax.path('api/permission/update/{permissionId}', [permissionId]), formData.field, null, function(code, data) { var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, { time: 0, btn: [top.dataMessage.button.yes, top.dataMessage.button.no], diff --git a/service-menu/src/main/java/ink/wgink/module/menu/startup/ServiceMenuStartUp.java b/service-menu/src/main/java/ink/wgink/module/menu/startup/ServiceMenuStartUp.java index 47f68986..22d190bc 100644 --- a/service-menu/src/main/java/ink/wgink/module/menu/startup/ServiceMenuStartUp.java +++ b/service-menu/src/main/java/ink/wgink/module/menu/startup/ServiceMenuStartUp.java @@ -4,6 +4,7 @@ import ink.wgink.interfaces.department.IDepartmentCheckService; import ink.wgink.interfaces.dictionary.IDictionaryCheckService; import ink.wgink.interfaces.group.IGroupCheckService; import ink.wgink.interfaces.menu.IMenuBaseService; +import ink.wgink.interfaces.permission.IPermissionCheckService; import ink.wgink.interfaces.position.IPositionCheckService; import ink.wgink.interfaces.user.IUserCheckService; import ink.wgink.pojo.dtos.menu.MenuDTO; @@ -45,6 +46,8 @@ public class ServiceMenuStartUp implements ApplicationRunner { private IGroupCheckService groupCheckService; @Autowired(required = false) private IPositionCheckService positionCheckService; + @Autowired(required = false) + private IPermissionCheckService permissionCheckService; @Override public void run(ApplicationArguments args) throws Exception { @@ -345,8 +348,8 @@ public class ServiceMenuStartUp implements ApplicationRunner { if (menuDTO == null) { params.put("menuId", menuId); params.put("menuParentId", menuParentId); - params.put("menuName", "用户组管理"); - params.put("menuSummary", "用户组管理"); + params.put("menuName", "职位管理"); + params.put("menuSummary", "职位管理"); params.put("menuUrl", "/route/position/list-tree"); params.put("menuType", "1"); params.put("menuIcon", "fa-icon-color-white fa fa-users"); @@ -357,12 +360,16 @@ public class ServiceMenuStartUp implements ApplicationRunner { } } - private void initMenuPermission() { + private void initPermissionManager(Map params, String menuParentId) { + if(permissionCheckService == null) { + return; + } LOG.debug("初始化菜单:权限管理"); - LOG.debug("初始化菜单:角色管理"); + } private void initMenuRole() { + LOG.debug("初始化菜单:角色管理"); } } diff --git a/service-position/src/main/resources/templates/position/user/list.html b/service-position/src/main/resources/templates/position/user/list.html index 52e3d694..7e3b955c 100644 --- a/service-position/src/main/resources/templates/position/user/list.html +++ b/service-position/src/main/resources/templates/position/user/list.html @@ -207,7 +207,7 @@ top.dialog.dialogData.selectedUserIds = $('#selectedUserIds').val(); top.dialog.open({ url: top.restAjax.path('route/department/user/select-user', []), - title: '选择组织部门人员', + title: '选择用户', width: '500px', height: '500px', onClose: function() { @@ -223,7 +223,7 @@ yes: function (index) { top.dialog.close(index); var loadLayerIndex; - top.restAjax.put(top.restAjax.path('api/group/user/update/{groupId}', [positionId]), { + top.restAjax.put(top.restAjax.path('api/position/user/update/{positionId}', [positionId]), { ids: ids }, null, function (code, data) { top.dialog.msg(top.dataMessage.updated);