From d7bae4091b4fb478b465f448adc97ec2f3ce767b Mon Sep 17 00:00:00 2001 From: "ys.git" <18439391935@163.com> Date: Mon, 8 Dec 2025 10:21:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E5=BC=80=E5=8F=912?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PermissionController.java | 14 ++++++- .../request/RolePerJoinRequest.java | 12 ++++++ ...Pojo.java => ModelMenuDictionaryPojo.java} | 4 +- .../service/ModelRoleService.java | 5 +-- .../service/impl/ModelRoleServiceImpl.java | 40 ++++++++++++++++++- 5 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/xdap/self_development/controller/request/RolePerJoinRequest.java rename src/main/java/com/xdap/self_development/pojo/{ModelMenuPermissionPojo.java => ModelMenuDictionaryPojo.java} (91%) diff --git a/src/main/java/com/xdap/self_development/controller/PermissionController.java b/src/main/java/com/xdap/self_development/controller/PermissionController.java index 9060bd0..c04be1b 100644 --- a/src/main/java/com/xdap/self_development/controller/PermissionController.java +++ b/src/main/java/com/xdap/self_development/controller/PermissionController.java @@ -3,6 +3,7 @@ package com.xdap.self_development.controller; import com.definesys.mpaas.common.http.Response; import com.xdap.self_development.controller.request.ModelRolesRequest; +import com.xdap.self_development.controller.request.RolePerJoinRequest; import com.xdap.self_development.pojo.ModelRolesPojo; import com.xdap.self_development.pojo.dto.PageResultDTO; import com.xdap.self_development.pojo.view.MenuListView; @@ -46,9 +47,18 @@ public class PermissionController { } } //为角色添加权限 - + @PostMapping("/insertPerForRole") + public Response insertPerForRole(@RequestBody List request){ + try { + modelRoleService.insertPerForRole(request); + return Response.ok(); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } //修改角色信息 + //菜单查询 @GetMapping("/selectMenus") Response selectMenus(){ @@ -60,7 +70,7 @@ public class PermissionController { } } - //参数查询 + //根据角色查询权限 } diff --git a/src/main/java/com/xdap/self_development/controller/request/RolePerJoinRequest.java b/src/main/java/com/xdap/self_development/controller/request/RolePerJoinRequest.java new file mode 100644 index 0000000..fe4c55d --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/request/RolePerJoinRequest.java @@ -0,0 +1,12 @@ +package com.xdap.self_development.controller.request; + +import lombok.Data; + +@Data +public class RolePerJoinRequest { + //角色ID 菜单ID 参数ID + private String roleId; + private String menuId; + private String parameterId; + private Integer parameterPer; +} diff --git a/src/main/java/com/xdap/self_development/pojo/ModelMenuPermissionPojo.java b/src/main/java/com/xdap/self_development/pojo/ModelMenuDictionaryPojo.java similarity index 91% rename from src/main/java/com/xdap/self_development/pojo/ModelMenuPermissionPojo.java rename to src/main/java/com/xdap/self_development/pojo/ModelMenuDictionaryPojo.java index 72e4534..2f4cd98 100644 --- a/src/main/java/com/xdap/self_development/pojo/ModelMenuPermissionPojo.java +++ b/src/main/java/com/xdap/self_development/pojo/ModelMenuDictionaryPojo.java @@ -11,7 +11,7 @@ import java.util.Date; @Data @EqualsAndHashCode(callSuper = false) @Table("yfsjglpt_model_menu_dictionary") -public class ModelMenuPermissionPojo { +public class ModelMenuDictionaryPojo { @RowID(sequence = "yfsjglpt_model_menu_dictionary_s", type = RowIDType.UUID) private String id ; @@ -34,7 +34,7 @@ public class ModelMenuPermissionPojo { /** 最后更新时间,; */ private Date lastUpdateDate ; - public ModelMenuPermissionPojo(String id, String parentId, String menuName) { + public ModelMenuDictionaryPojo(String id, String parentId, String menuName) { this.id = id; this.parentId = parentId; this.menuName = menuName; diff --git a/src/main/java/com/xdap/self_development/service/ModelRoleService.java b/src/main/java/com/xdap/self_development/service/ModelRoleService.java index 6d3055f..693b7fb 100644 --- a/src/main/java/com/xdap/self_development/service/ModelRoleService.java +++ b/src/main/java/com/xdap/self_development/service/ModelRoleService.java @@ -2,10 +2,9 @@ package com.xdap.self_development.service; import com.xdap.self_development.controller.request.ModelRolesRequest; -import com.xdap.self_development.pojo.ModelMenuPermissionPojo; +import com.xdap.self_development.controller.request.RolePerJoinRequest; import com.xdap.self_development.pojo.ModelRolesPojo; import com.xdap.self_development.pojo.dto.PageResultDTO; -import com.xdap.self_development.pojo.view.MenuListView; import java.util.ArrayList; import java.util.List; @@ -18,5 +17,5 @@ public interface ModelRoleService { List selectRoles(String userID); - + void insertPerForRole(List request); } diff --git a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java index d473088..ddc632b 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java @@ -3,7 +3,9 @@ package com.xdap.self_development.service.impl; import com.xdap.self_development.config.BusinessDatabase; import com.xdap.self_development.controller.request.ModelRolesRequest; -import com.xdap.self_development.pojo.ModelMenuPermissionPojo; +import com.xdap.self_development.controller.request.RolePerJoinRequest; +import com.xdap.self_development.pojo.ModelMenuParameterPojo; +import com.xdap.self_development.pojo.ModelRolePermissionPojo; import com.xdap.self_development.pojo.ModelRolesPojo; import com.xdap.self_development.pojo.Parameter; import com.xdap.self_development.pojo.dto.PageResultDTO; @@ -48,4 +50,40 @@ public class ModelRoleServiceImpl implements ModelRoleService { return modelRolesPojos; } + @Override + public void insertPerForRole(List requests) { + for (RolePerJoinRequest request : requests) { + + String roleId = request.getRoleId(); + String menuId = request.getMenuId(); + String parameterId = request.getParameterId(); + Integer parameterPer = request.getParameterPer(); + if (ObjectUtils.isEmpty(parameterId)||ObjectUtils.isEmpty(roleId)||ObjectUtils.isEmpty(menuId)) { + log.warn("参数不完整无法写入"); + continue; + } + //查找参数 组装权限 + Parameter parameter = businessDatabase.getBusinessDatabase() + .eq("id", parameterId) + .doQuery(Parameter.class).get(0); + String uuid = String.valueOf(UUID.randomUUID()); + ModelMenuParameterPojo modelMenuParameterPojo = new ModelMenuParameterPojo(); + modelMenuParameterPojo.setMenuId(menuId); + modelMenuParameterPojo.setSubsystem(parameter.getSubsystemName()); + modelMenuParameterPojo.setParameterId(parameterId); + modelMenuParameterPojo.setParameterPer(parameterPer); + modelMenuParameterPojo.setId(uuid); + modelMenuParameterPojo.setCreationDate(new Date()); + businessDatabase.getBusinessDatabase() + .doInsert(modelMenuParameterPojo); + + //为角色分配权限 + ModelRolePermissionPojo pojo = new ModelRolePermissionPojo(); + pojo.setRoleId(roleId); + pojo.setPerId(uuid); + businessDatabase.getBusinessDatabase() + .doInsert(pojo); + } + } + }