From 367c1388ff5179865dcde35627555fb2a4fb6ae2 Mon Sep 17 00:00:00 2001 From: shijie <648688341@qq.com> Date: Tue, 13 Oct 2020 14:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=9D=83=E9=99=90=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RolePermissionController.java | 81 ++++++++++++++++++- .../hrauth/dao/RolePermissionMapper.java | 12 ++- .../hrauth/service/RolePermissionService.java | 8 ++ .../impl/RolePermissionServiceImpl.java | 22 +++++ .../mapper/hrmsauth/RolePermissionMapper.xml | 31 +++++++ .../hrms/request/RolePermissionRequest.java | 77 ++++++++++++++++++ 6 files changed, 226 insertions(+), 5 deletions(-) create mode 100644 dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/request/RolePermissionRequest.java diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/RolePermissionController.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/RolePermissionController.java index 4b4708d6..e1651350 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/RolePermissionController.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/RolePermissionController.java @@ -1,18 +1,23 @@ package com.daqing.financial.hrauth.controller; import com.daqing.financial.hrauth.service.RolePermissionService; +import com.daqing.framework.domain.hrms.DeptPositionEntity; import com.daqing.framework.domain.hrms.PermissionEntity; +import com.daqing.framework.domain.hrms.RoleEntity; +import com.daqing.framework.domain.hrms.request.RolePermissionRequest; import com.daqing.framework.domain.hrms.response.RolePermissionResponse; import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.utils.PageUtils; +import com.daqing.framework.utils.SnowflakeIdUtils; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import java.util.Arrays; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** @@ -61,4 +66,72 @@ public class RolePermissionController { return new ResponseResult>().SUCCESS(list); } + /** + * 新增角色权限 + */ + @Transactional + @PostMapping("/saveRolePermission") + public ResponseResult saveRolePermission(@RequestBody RolePermissionRequest rolePermission) { + Date date = new Date(); + rolePermission.setCreateTime(date); + rolePermission.setMotifyTime(date); + //此处要判重,新增的角色名称要唯一 + + //新增角色到角色表 + int request = permissionService.addHrmsRole(rolePermission); + //根据选中的permissionId批量新增数据到hrms_role_permission + List asList = Arrays.asList(rolePermission.getPermissionIds()); + List rolePermissionList = getRolePermissionList(asList, rolePermission.getRoleId()); + boolean result = permissionService.addHrmsRolePermission(rolePermissionList); + + return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL(); + } + + private List getRolePermissionList(List asList, Long roleId) { + return asList.stream().map(permissionId -> { + RolePermissionRequest request = new RolePermissionRequest(); + request.setRoleId(roleId); + request.setPermissionId(permissionId); + return request; + }).collect(Collectors.toList()); + } + + /** + * 修改角色权限 + */ + @Transactional + @PostMapping("/updateRolePermission") + public ResponseResult updateRolePermission(@RequestBody RolePermissionRequest rolePermission) { + Date date = new Date(); + rolePermission.setMotifyTime(date); + //根据角色Id修改角色内容 + int request = permissionService.updateHrmsRole(rolePermission); + //删除该角色Id对应的所有权限 + List asList = Arrays.asList(rolePermission.getPermissionIds()); + permissionService.deleteHrmsRolePermission(rolePermission.getRoleId()); + //根据选中的permissionId批量新增数据到hrms_role_permission + List rolePermissionList = getRolePermissionList(asList, rolePermission.getRoleId()); + boolean result = permissionService.addHrmsRolePermission(rolePermissionList); + + return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL(); + } + + + /** + * 删除用户角色权限 + */ + @Transactional + @PostMapping("/delRolePermission") + public ResponseResult delRolePermission(@RequestBody RolePermissionRequest rolePermission) { + //查询该角色是否有用户关联 + + + //没有关联则删除hrms_role表对应记录 + + //根据角色id删除对应所有权限 + + return null; + } + + } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/RolePermissionMapper.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/RolePermissionMapper.java index b21801c3..1e200fef 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/RolePermissionMapper.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/RolePermissionMapper.java @@ -4,9 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.daqing.framework.domain.hrms.PermissionEntity; -import com.daqing.framework.domain.hrms.SystemLog; +import com.daqing.framework.domain.hrms.request.RolePermissionRequest; import com.daqing.framework.domain.hrms.response.RolePermissionResponse; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,4 +23,13 @@ public interface RolePermissionMapper extends BaseMapper { IPage pageByCondition(Page page); List queryPermissionByRoleId(Long roleId); + + int addHrmsRole(RolePermissionRequest rolePermission); + + boolean addHrmsRolePermission(@Param("rolePermissionList")List rolePermissionList); + + int updateHrmsRole(RolePermissionRequest rolePermission); + + void deleteHrmsRolePermission(Long roleId); + } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/RolePermissionService.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/RolePermissionService.java index 3e7b152c..c8cf06c1 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/RolePermissionService.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/RolePermissionService.java @@ -2,6 +2,7 @@ package com.daqing.financial.hrauth.service; import com.baomidou.mybatisplus.extension.service.IService; import com.daqing.framework.domain.hrms.PermissionEntity; +import com.daqing.framework.domain.hrms.request.RolePermissionRequest; import com.daqing.framework.domain.hrms.response.RolePermissionResponse; import com.daqing.framework.utils.PageUtils; @@ -22,5 +23,12 @@ public interface RolePermissionService extends IService { PageUtils queryPage(Integer page, Integer size); + int addHrmsRole(RolePermissionRequest rolePermission); + + boolean addHrmsRolePermission(List rolePermissionList); + + int updateHrmsRole(RolePermissionRequest rolePermission); + + void deleteHrmsRolePermission(Long roleId); } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/RolePermissionServiceImpl.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/RolePermissionServiceImpl.java index 6032ce61..fa7da69e 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/RolePermissionServiceImpl.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/RolePermissionServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.daqing.financial.hrauth.dao.RolePermissionMapper; import com.daqing.financial.hrauth.service.RolePermissionService; import com.daqing.framework.domain.hrms.PermissionEntity; +import com.daqing.framework.domain.hrms.request.RolePermissionRequest; import com.daqing.framework.domain.hrms.response.RolePermissionResponse; import com.daqing.framework.utils.PageUtils; import org.springframework.stereotype.Service; @@ -61,4 +62,25 @@ public class RolePermissionServiceImpl extends ServiceImpl rolePermissionList) { + return this.getBaseMapper().addHrmsRolePermission(rolePermissionList); + } + + @Override + public int updateHrmsRole(RolePermissionRequest rolePermission) { + return this.getBaseMapper().updateHrmsRole(rolePermission); + } + + @Override + public void deleteHrmsRolePermission(Long roleId) { + this.getBaseMapper().deleteHrmsRolePermission(roleId); + } + } \ No newline at end of file diff --git a/dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/RolePermissionMapper.xml b/dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/RolePermissionMapper.xml index fbb230f3..2ca82d9b 100644 --- a/dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/RolePermissionMapper.xml +++ b/dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/RolePermissionMapper.xml @@ -18,6 +18,9 @@ + + delete from hrms_role_permission where role_id=#{roleId} + + + INSERT INTO hrms_role + (`name`,description,create_time,motify_time) + values (#{name},#{description},#{createTime},#{motifyTime}); + + + INSERT INTO hrms_role_permission (role_id,permission_id) values + + (#{item.roleId},#{item.permissionId}) + + + + + UPDATE hrms_role + + + `name`=#{name}, + + + description=#{description}, + + + motify_time=#{motifyTime}, + + + WHERE id = #{roleId} + \ No newline at end of file diff --git a/dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/request/RolePermissionRequest.java b/dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/request/RolePermissionRequest.java new file mode 100644 index 00000000..c43e8dbf --- /dev/null +++ b/dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/request/RolePermissionRequest.java @@ -0,0 +1,77 @@ +package com.daqing.framework.domain.hrms.request; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 记录菜单权限 + * + * @author gongsj + * @email gongsj@gmail.com + * @date 2020-09-07 17:12:14 + */ +@Data +@TableName("hrms_role") +public class RolePermissionRequest implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 角色id + */ + private Long roleId; + /** + * 角色名称 + */ + private String name; + + /** + * 角色描述 + */ + private String description; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date motifyTime; + + /** + * 权限ids + */ + private Long[] permissionIds; + + private Long permissionId; + + /** + * 拥有权限名称 + */ + private String permissionName; + + /** + * 父级id + */ + private Long parentId; + + /** + * 子权限 + */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + @TableField(exist = false) + private List children; + + /** + * 排序 + */ + private Integer sort; + +}