角色权限新增,修改功能

master
shijie 4 years ago
parent 64e3344e32
commit 367c1388ff
  1. 81
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/RolePermissionController.java
  2. 12
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/RolePermissionMapper.java
  3. 8
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/RolePermissionService.java
  4. 22
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/RolePermissionServiceImpl.java
  5. 31
      dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/RolePermissionMapper.xml
  6. 77
      dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/request/RolePermissionRequest.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<List<RolePermissionResponse>>().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<Long> asList = Arrays.asList(rolePermission.getPermissionIds());
List<RolePermissionRequest> rolePermissionList = getRolePermissionList(asList, rolePermission.getRoleId());
boolean result = permissionService.addHrmsRolePermission(rolePermissionList);
return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL();
}
private List<RolePermissionRequest> getRolePermissionList(List<Long> 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<Long> asList = Arrays.asList(rolePermission.getPermissionIds());
permissionService.deleteHrmsRolePermission(rolePermission.getRoleId());
//根据选中的permissionId批量新增数据到hrms_role_permission
List<RolePermissionRequest> 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;
}
}

@ -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<PermissionEntity> {
IPage<RolePermissionResponse> pageByCondition(Page page);
List<RolePermissionResponse> queryPermissionByRoleId(Long roleId);
int addHrmsRole(RolePermissionRequest rolePermission);
boolean addHrmsRolePermission(@Param("rolePermissionList")List<RolePermissionRequest> rolePermissionList);
int updateHrmsRole(RolePermissionRequest rolePermission);
void deleteHrmsRolePermission(Long roleId);
}

@ -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<PermissionEntity> {
PageUtils queryPage(Integer page, Integer size);
int addHrmsRole(RolePermissionRequest rolePermission);
boolean addHrmsRolePermission(List<RolePermissionRequest> rolePermissionList);
int updateHrmsRole(RolePermissionRequest rolePermission);
void deleteHrmsRolePermission(Long roleId);
}

@ -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<RolePermissionMapper,
.collect(Collectors.toList());
}
@Override
public int addHrmsRole(RolePermissionRequest rolePermission) {
int request = this.getBaseMapper().addHrmsRole(rolePermission);
return request;
}
@Override
public boolean addHrmsRolePermission(List<RolePermissionRequest> 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);
}
}

@ -18,6 +18,9 @@
<result property="createTime" column="create_time"/>
<result property="motifyTime" column="motify_time"/>
</resultMap>
<delete id="deleteHrmsRolePermission">
delete from hrms_role_permission where role_id=#{roleId}
</delete>
<select id="pageByCondition" resultType="com.daqing.framework.domain.hrms.response.RolePermissionResponse">
select hr.id as roleId, hr.`name`,hr.description,GROUP_CONCAT(hp.`name`separator '/') as permissionName
FROM hrms_role_permission rp
@ -33,6 +36,34 @@
WHERE rp.role_id=#{roleId}
</select>
<insert id="addHrmsRole" parameterType="com.daqing.framework.domain.hrms.request.RolePermissionRequest"
useGeneratedKeys="true" keyProperty="roleId" keyColumn="id">
INSERT INTO hrms_role
(`name`,description,create_time,motify_time)
values (#{name},#{description},#{createTime},#{motifyTime});
</insert>
<insert id="addHrmsRolePermission" parameterType="com.daqing.framework.domain.hrms.request.RolePermissionRequest">
INSERT INTO hrms_role_permission (role_id,permission_id) values
<foreach collection="rolePermissionList" index="index" separator="," item="item">
(#{item.roleId},#{item.permissionId})
</foreach>
</insert>
<update id="updateHrmsRole" parameterType="com.daqing.framework.domain.hrms.request.RolePermissionRequest">
UPDATE hrms_role
<set>
<if test="name != null and name != ''">
`name`=#{name},
</if>
<if test="description != null and description != ''">
description=#{description},
</if>
<if test="motifyTime != null">
motify_time=#{motifyTime},
</if>
</set>
WHERE id = #{roleId}
</update>
</mapper>

@ -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<RolePermissionRequest> children;
/**
* 排序
*/
private Integer sort;
}
Loading…
Cancel
Save