From d7fc388c552878c698ea19d825e9eeab78ec7c28 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Tue, 24 Dec 2024 13:34:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E6=9C=9F=E4=B8=8D=E8=AF=86=E5=88=ABbu?= =?UTF-8?q?g=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/config/EdMetaObjectHandler.java | 8 ++--- .../manage/controller/RoleController.java | 11 +++++++ .../software/manage/pojo/models/Role.java | 1 + .../software/manage/pojo/req/RoleDTO.java | 10 ++++++ .../manage/pojo/req/RolePermissionDTO.java | 10 ++++-- .../software/manage/service/RoleService.java | 7 ++++ .../service/serviceimpl/RoleServiceImpl.java | 32 +++++++++++++++---- 7 files changed, 67 insertions(+), 12 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java index cc86d0c..be755ac 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java @@ -4,20 +4,20 @@ import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; +import java.util.Date; @Component public class EdMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { - this.strictInsertFill(metaObject, "gmtCreate", LocalDateTime.class, LocalDateTime.now()); - this.strictInsertFill(metaObject, "gmtModified", LocalDateTime.class, LocalDateTime.now()); + this.strictInsertFill(metaObject, "gmtCreate", Date.class, new Date()); + this.strictInsertFill(metaObject, "gmtModified", Date.class, new Date()); } @Override public void updateFill(MetaObject metaObject) { - this.strictUpdateFill(metaObject, "gmtModified", LocalDateTime.class, LocalDateTime.now()); + this.strictUpdateFill(metaObject, "gmtModified", Date.class, new Date()); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java index 787a657..b53412d 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java @@ -4,6 +4,8 @@ import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; import com.electromagnetic.industry.software.manage.pojo.req.RoleDTO; import com.electromagnetic.industry.software.manage.service.RoleService; +import com.electromagnetic.industry.software.manage.service.UserService; +import com.electromagnetic.industry.software.manage.service.serviceimpl.CommonService; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; @@ -15,10 +17,13 @@ public class RoleController { @Resource private RoleService roleService; + @Resource + private CommonService commonService; @ApiOperation(value = "新建角色", notes = "") @RequestMapping(value = "/createRole", method = RequestMethod.POST) public ElectromagneticResult createRole(@RequestBody RoleDTO roleDTO) { + commonService.queryAllPrjInfo(); return ElectromagneticResultUtil.success(roleService.createRole(roleDTO)); } @@ -33,4 +38,10 @@ public class RoleController { public ElectromagneticResult deleteRole(@PathVariable("roleId") String roleId) { return ElectromagneticResultUtil.success(roleService.deleteRole(roleId)); } + + @ApiOperation(value="查看角色", notes = "") + @GetMapping(value="/{roleId}") + public ElectromagneticResult getRole(@PathVariable("roleId") String roleId) { + return ElectromagneticResultUtil.success(roleService.getRole(roleId)); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java index 8e6c2b9..1516097 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java @@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.pojo.models; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; + import java.util.Date; @Data diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java index fe0301e..b5f480a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java @@ -22,6 +22,16 @@ public class RoleDTO { */ private String roleDesc; + /** + * 数据权限 + */ + private String dataScope; + + /** + * 功能权限 + */ + private String allowedActions; + /** * 权限数据 */ diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java index 2e691c6..1311e71 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java @@ -3,6 +3,7 @@ package com.electromagnetic.industry.software.manage.pojo.req; import lombok.Data; import java.util.List; +import java.util.Map; @Data public class RolePermissionDTO { @@ -18,9 +19,14 @@ public class RolePermissionDTO { private String fileName; /** - * 权限列表 + * 数据权限 */ - private List permission; + private Map dataAuth; + + /** + * 权限哈希 + */ + private Map permission; /** * 子目录 diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java index ea457a0..ec4df8b 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java @@ -27,5 +27,12 @@ public interface RoleService extends IService { * @return */ Boolean deleteRole(String roleId); + + /** + * 查看角色 + * @param roleId + * @return + */ + RoleDTO getRole(String roleId); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java index 2f2cc87..2a77a9e 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java @@ -16,7 +16,6 @@ import com.electromagnetic.industry.software.manage.pojo.req.RolePermissionDTO; import com.electromagnetic.industry.software.manage.service.RolePermissionService; import com.electromagnetic.industry.software.manage.service.RoleService; import com.electromagnetic.industry.software.manage.service.UserRoleService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -31,8 +30,6 @@ public class RoleServiceImpl extends ServiceImpl implements Ro private RolePermissionService rolePermissionService; @Resource private UserRoleService userRoleService; - @Autowired - private RoleMapper roleMapper; private EleLog log = new EleLog(RoleServiceImpl.class); @@ -120,6 +117,26 @@ public class RoleServiceImpl extends ServiceImpl implements Ro return true; } + /** + * 查看角色 + * @param roleId + * @return + */ + @Transactional + @Override + public RoleDTO getRole(String roleId){ + RoleDTO roleDTO = new RoleDTO(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("role_id", roleId); + Role role = this.getOne(queryWrapper); + roleDTO.setRoleId(role.getRoleId()); + roleDTO.setRoleName(role.getRoleName()); + roleDTO.setRoleDesc(role.getRoleDesc()); + + return roleDTO; + } + /** * 校验当前角色名称是否唯一 * @@ -152,9 +169,12 @@ public class RoleServiceImpl extends ServiceImpl implements Ro } private void flattenNode(RolePermissionDTO node, List flatList, String roleId) { - node.getPermission().forEach(code -> - flatList.add(new RolePermission(roleId, node.getFileId(), code)) - ); + + node.getPermission().forEach((code, hasPermission) -> { + if (Boolean.TRUE.equals(hasPermission)) { // 检查权限值是否为 true + flatList.add(new RolePermission(roleId, node.getFileId(), code)); + } + }); // 添加当前节点 if (node.getChildren() != null && !node.getChildren().isEmpty()) { for (RolePermissionDTO child : node.getChildren()) {