Browse Source

调整系统模块

master
Yen 3 years ago
parent
commit
7089de1681
  1. 2
      src/main/java/com/qs/serve/common/framework/aop/SysLogAspect.java
  2. 38
      src/main/java/com/qs/serve/common/model/enums/BizType.java
  3. 10
      src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java
  4. 29
      src/main/java/com/qs/serve/modules/sys/controller/SysRoleController.java
  5. 7
      src/main/java/com/qs/serve/modules/sys/entity/SysDept.java
  6. 3
      src/main/java/com/qs/serve/modules/sys/entity/SysRole.java
  7. 57
      src/main/java/com/qs/serve/modules/sys/entity/SysRolePermit.java
  8. 18
      src/main/java/com/qs/serve/modules/sys/entity/dto/SysRolePermitParam.java
  9. 28
      src/main/java/com/qs/serve/modules/sys/mapper/SysRoleMenuMapper.java
  10. 63
      src/main/java/com/qs/serve/modules/sys/mapper/SysRolePermitMapper.java
  11. 21
      src/main/java/com/qs/serve/modules/sys/service/SysRolePermitService.java
  12. 53
      src/main/java/com/qs/serve/modules/sys/service/impl/SysRolePermitServiceImpl.java
  13. 4
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java
  14. 8
      src/main/resources/mapper/sys/SysDeptMapper.xml
  15. 2
      src/main/resources/mapper/sys/SysOperationLogMapper.xml
  16. 18
      src/main/resources/mapper/sys/SysUserMapper.xml

2
src/main/java/com/qs/serve/common/framework/aop/SysLogAspect.java

@ -129,7 +129,7 @@ public class SysLogAspect {
* @throws Exception
*/
public void getControllerMethodDescription(JoinPoint joinPoint, SysLog sysLog, SysOperationLog operationLog) throws Exception {
operationLog.setBizType(sysLog.biz().name());
operationLog.setBizType(sysLog.biz().getValue());
operationLog.setInterType(sysLog.inter().name());
operationLog.setTitle(sysLog.title());
if (sysLog.saveReqParam()) {

38
src/main/java/com/qs/serve/common/model/enums/BizType.java

@ -1,49 +1,49 @@
package com.qs.serve.common.model.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author YenHex
* @since 2022/3/8
*/
@Getter
@AllArgsConstructor
public enum BizType {
/** 其它 */
OTHER,
OTHER("其它"),
/** 新增 */
INSERT,
INSERT("新增"),
/** 修改 */
UPDATE,
UPDATE("修改"),
/** 删除 */
DELETE,
DELETE("删除"),
/** 授权 */
GRANT,
/** 导出 */
EXPORT,
/** 导入 */
IMPORT,
GRANT("授权"),
/** 强退 */
FORCE,
FORCE("强退"),
/** 清空数据 */
CLEAN,
CLEAN("清空"),
/** 登录 */
LOGIN,
LOGIN("登录"),
LOGOUT,
LOGOUT("登出"),
UPLOAD,
UPLOAD("上传"),
DOWNLOAD,
DOWNLOAD("下载"),
QUERY,
QUERY("查询"),
RESET
RESET("重置");
String value;
}

10
src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java

@ -48,7 +48,7 @@ public class SysAttachController {
* @param request
* @return
*/
@SysLog(title = "附件上传",biz = BizType.UPLOAD)
@SysLog(title = "附件",biz = BizType.UPLOAD)
@PostMapping("/upload")
public R upload(HttpServletRequest request) {
String uploadPath = uploadProperties.getLogicalPath();
@ -92,7 +92,7 @@ public class SysAttachController {
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(title = "系统附件ID查询",biz = BizType.QUERY)
@SysLog(title = "附件",biz = BizType.QUERY)
public R<SysAttach> getById(@PathVariable("id") String id){
SysAttach sysattach = sysAttachService.getById(id);
return R.ok(sysattach);
@ -116,7 +116,7 @@ public class SysAttachController {
* @param param
* @return
*/
@SysLog(title = "系统附件更新",biz = BizType.UPDATE)
@SysLog(title = "附件",biz = BizType.UPDATE)
@PostMapping("/updateById")
@PreAuthorize("hasRole('sys:attach:update')")
public R<?> updateById(@RequestBody @Valid SysAttach param){
@ -130,7 +130,7 @@ public class SysAttachController {
* @return
*/
@PostMapping("/save")
@SysLog(title = "系统附件新增",biz = BizType.INSERT)
@SysLog(title = "附件",biz = BizType.INSERT)
@PreAuthorize("hasRole('sys:attach:insert')")
public R<?> save(@RequestBody @Valid SysAttach param){
boolean result = sysAttachService.save(param);
@ -142,7 +142,7 @@ public class SysAttachController {
* @param id
* @return
*/
@SysLog(title = "系统附件删除",biz = BizType.DELETE)
@SysLog(title = "附件",biz = BizType.DELETE)
@DeleteMapping("/deleteById/{id}")
@PreAuthorize("hasRole('sys:attach:delete')")
public R<?> deleteById(@PathVariable("id") String id){

29
src/main/java/com/qs/serve/modules/sys/controller/SysRoleController.java

@ -9,14 +9,11 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.sys.entity.SysRole;
import com.qs.serve.modules.sys.entity.SysRoleMenu;
import com.qs.serve.modules.sys.entity.SysRolePermit;
import com.qs.serve.modules.sys.entity.SysUserRole;
import com.qs.serve.modules.sys.entity.dto.SysRoleMenuParam;
import com.qs.serve.modules.sys.entity.dto.SysRolePermitParam;
import com.qs.serve.modules.sys.entity.dto.SysRoleUserParam;
import com.qs.serve.modules.sys.entity.dto.UserRole4EditParam;
import com.qs.serve.modules.sys.service.SysRoleMenuService;
import com.qs.serve.modules.sys.service.SysRolePermitService;
import com.qs.serve.modules.sys.service.SysRoleService;
import com.qs.serve.modules.sys.service.SysUserRoleService;
import lombok.AllArgsConstructor;
@ -41,7 +38,6 @@ import java.util.List;
public class SysRoleController {
private SysRoleService sysRoleService;
private SysRolePermitService sysRolePermitService;
private SysRoleMenuService sysRoleMenuService;
private SysUserRoleService sysUserRoleService;
@ -92,8 +88,6 @@ public class SysRoleController {
@PreAuthorize("hasRole('sys:role:query')")
public R<SysRole> getById(@PathVariable("id") String id){
SysRole sysRole = sysRoleService.getById(id);
//TODO 注释setPermitList
sysRole.setPermitList(sysRolePermitService.listByRoleId(id));
sysRole.setMenuList(sysRoleMenuService.listByRoleId(id));
return R.ok(sysRole);
}
@ -141,33 +135,10 @@ public class SysRoleController {
return R.error("系统默认角色不可删除");
}
boolean result = sysRoleService.removeById(id);
sysRolePermitService.removeByRoleId(id);
sysRoleMenuService.removeByRoleId(id,null);
return R.isTrue(result);
}
/**
* 角色授权(旧版本新版本使用角色菜单授权)
* @param param
* @return
*/
@SysLog(title = "角色授权",biz = BizType.GRANT)
@PostMapping("/saveRolePermit")
@PreAuthorize("hasRole('sys:permit:grant')")
@Transactional(rollbackFor = Exception.class)
public R<?> grantRole(@RequestBody @Valid SysRolePermitParam param){
sysRolePermitService.removeByRoleId(param.getRoleId());
List<SysRolePermit> permits = new ArrayList<>();
for (String permitId : param.getPermitIds()) {
SysRolePermit sysRolePermit = new SysRolePermit();
sysRolePermit.setRoleId(param.getRoleId());
sysRolePermit.setPermitId(permitId);
permits.add(sysRolePermit);
}
sysRolePermitService.saveBatch(permits);
return R.isTrue(true);
}
/**
* 角色菜单授权

7
src/main/java/com/qs/serve/modules/sys/entity/SysDept.java

@ -44,13 +44,6 @@ public class SysDept implements Serializable {
/** 级别路径 */
private String levelPath;
/** 是否维修部门 */
private Integer isRepair;
/** 类型【0集团部门 01校区部门 】 */
@NotNull(message = "类型不能为空")
private Integer type;
/** 创建时间 */
@TableField(fill = FieldFill.INSERT)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

3
src/main/java/com/qs/serve/modules/sys/entity/SysRole.java

@ -67,9 +67,6 @@ public class SysRole implements Serializable {
@JsonIgnore
private Boolean delFlag;
@TableField(exist = false)
private List<SysPermit> permitList;
@TableField(exist = false)
private List<SysMenu> menuList;

57
src/main/java/com/qs/serve/modules/sys/entity/SysRolePermit.java

@ -1,57 +0,0 @@
package com.qs.serve.modules.sys.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 角色权限 实体类
* @author YenHex
* @since 2022-03-01
*/
@Data
@TableName("sys_role_permit")
public class SysRolePermit implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/** 角色ID */
private String roleId;
/** 权限ID */
private String permitId;
/** 创建时间 */
@TableField(fill = FieldFill.INSERT)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime createTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新时间 */
@TableField(fill = FieldFill.UPDATE)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime updateTime;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 删除标识 */
@JsonIgnore
private Boolean delFlag;
}

18
src/main/java/com/qs/serve/modules/sys/entity/dto/SysRolePermitParam.java

@ -1,18 +0,0 @@
package com.qs.serve.modules.sys.entity.dto;
import lombok.Data;
import java.util.List;
/**
* @author JcYen
* @date 2022/3/12
*/
@Data
public class SysRolePermitParam {
String roleId;
List<String> permitIds;
}

28
src/main/java/com/qs/serve/modules/sys/mapper/SysRoleMenuMapper.java

@ -1,7 +1,12 @@
package com.qs.serve.modules.sys.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.sys.entity.SysPermit;
import com.qs.serve.modules.sys.entity.SysRoleMenu;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* 菜单用户 Mapper
@ -10,5 +15,28 @@ import com.qs.serve.modules.sys.entity.SysRoleMenu;
*/
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
/**
* 查询权限编码
* @param roleIds
* @return
*/
@Select("<script>" +
"SELECT permit.id,permit.`code` " +
" FROM `sys_role_menu` rme" +
" LEFT JOIN `sys_menu_permit` mp" +
" ON rme.menu_id = mp.menu_id" +
" LEFT JOIN `sys_permit` permit" +
" ON mp.permit_id = permit.id" +
" WHERE rme.role_id IN " +
" <foreach collection='roleIds' item='id' open='(' separator=',' close=')'> " +
" #{id} " +
" </foreach> " +
" and rme.del_flag= b'0'" +
" and mp.del_flag= b'0'" +
" and permit.del_flag= b'0'" +
"</script>")
@InterceptorIgnore(tenantLine = "1")
List<SysPermit> listPermitCode(List<String> roleIds);
}

63
src/main/java/com/qs/serve/modules/sys/mapper/SysRolePermitMapper.java

@ -1,63 +0,0 @@
package com.qs.serve.modules.sys.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.sys.entity.SysPermit;
import com.qs.serve.modules.sys.entity.SysRolePermit;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* 角色权限 Mapper
* @author YenHex
* @date 2022-03-01
*/
public interface SysRolePermitMapper extends BaseMapper<SysRolePermit> {
/**
* 查询权限编码
* @param roleIds
* @deprecated 新版使用菜单加载 listPermitCode2
* @return
*/
@Select("<script>" +
"select p.`id` , p.`code`" +
" from sys_role_permit rp" +
" LEFT JOIN sys_permit" +
" p on rp.permit_id = p.id" +
" where rp.del_flag=b'0' " +
" and rp.role_id in " +
" <foreach collection='roleIds' item='id' open='(' separator=',' close=')'> " +
" #{id} " +
" </foreach> " +
"</script>")
@Deprecated
List<SysPermit> listPermitCode(List<String> roleIds);
/**
* 查询权限编码
* @param roleIds
* @return
*/
@Select("<script>" +
"SELECT permit.id,permit.`code` " +
" FROM `sys_role_menu` rme" +
" LEFT JOIN `sys_menu_permit` mp" +
" ON rme.menu_id = mp.menu_id" +
" LEFT JOIN `sys_permit` permit" +
" ON mp.permit_id = permit.id" +
" WHERE rme.role_id IN " +
" <foreach collection='roleIds' item='id' open='(' separator=',' close=')'> " +
" #{id} " +
" </foreach> " +
" and rme.del_flag= b'0'" +
" and mp.del_flag= b'0'" +
" and permit.del_flag= b'0'" +
"</script>")
@InterceptorIgnore(tenantLine = "1")
List<SysPermit> listPermitCode2(List<String> roleIds);
}

21
src/main/java/com/qs/serve/modules/sys/service/SysRolePermitService.java

@ -1,21 +0,0 @@
package com.qs.serve.modules.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.sys.entity.SysPermit;
import com.qs.serve.modules.sys.entity.SysRolePermit;
import java.util.List;
/**
* 角色权限 服务接口
* @author YenHex
* @date 2022-03-01
*/
public interface SysRolePermitService extends IService<SysRolePermit> {
boolean removeByRoleId(String roleId);
List<SysPermit> listByRoleId(String roleId);
}

53
src/main/java/com/qs/serve/modules/sys/service/impl/SysRolePermitServiceImpl.java

@ -1,53 +0,0 @@
package com.qs.serve.modules.sys.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.modules.sys.entity.SysPermit;
import com.qs.serve.modules.sys.entity.SysRolePermit;
import com.qs.serve.modules.sys.mapper.SysRolePermitMapper;
import com.qs.serve.modules.sys.service.SysPermitService;
import com.qs.serve.modules.sys.service.SysRolePermitService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* 角色权限 服务实现类
* @author YenHex
* @since 2022-03-01
*/
@Slf4j
@Service
@AllArgsConstructor
public class SysRolePermitServiceImpl extends ServiceImpl<SysRolePermitMapper, SysRolePermit> implements SysRolePermitService {
private final SysPermitService sysPermitService;
@Override
public boolean removeByRoleId(String roleId) {
LambdaQueryWrapper<SysRolePermit> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysRolePermit::getRoleId,roleId);
remove(wrapper);
return true;
}
@Override
public List<SysPermit> listByRoleId(String roleId) {
LambdaQueryWrapper<SysRolePermit> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysRolePermit::getRoleId,roleId);
List<SysRolePermit> rolePermits = list(wrapper);
List<String> permitIds = rolePermits.stream().map(SysRolePermit::getPermitId).distinct().collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(permitIds)){
LambdaQueryWrapper<SysPermit> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.in(SysPermit::getId,permitIds);
return sysPermitService.list(wrapper2);
}
return null;
}
}

4
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java

@ -31,7 +31,7 @@ import java.util.stream.Collectors;
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
private final SysUserRoleService sysUserRoleService;
private final SysRolePermitMapper sysRolePermitMapper;
private final SysRoleMenuMapper sysRoleMenuMapper;
private final SysPermitService sysPermitService;
private final SysRoleService sysRoleService;
private final SysDeptMapper sysDeptMapper;
@ -122,7 +122,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
List<SysPermit> sysRolePermits = new ArrayList<>();
if(CollectionUtil.isNotEmpty(sysRoles)){
//listPermitCode
sysRolePermits = sysRolePermitMapper.listPermitCode2(sysRoles.stream().map(SysRole::getId).collect(Collectors.toList()));
sysRolePermits = sysRoleMenuMapper.listPermitCode(sysRoles.stream().map(SysRole::getId).collect(Collectors.toList()));
}
for (SysPermit sysRolePermit : sysRolePermits) {
if(sysRolePermit==null){continue;}

8
src/main/resources/mapper/sys/SysDeptMapper.xml

@ -8,12 +8,9 @@
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="code" column="code"/>
<result property="type" column="type"/>
<result property="parentId" column="parent_id"/>
<result property="mgrUserId" column="mgr_user_id"/>
<result property="levelPath" column="level_path"/>
<result property="levelPathNames" column="level_path_names"/>
<result property="isRepair" column="is_repair"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
@ -25,12 +22,9 @@
sys_dept.`id`,
sys_dept.`name`,
sys_dept.`code`,
sys_dept.`type`,
sys_dept.`parent_id`,
sys_dept.`mgr_user_id`,
sys_dept.`level_path`,
sys_dept.`level_path_names`,
sys_dept.`is_repair`,
sys_dept.`create_time`,
sys_dept.`create_by`,
sys_dept.`update_time`,
@ -47,8 +41,6 @@
<where>
<if test="id != null and id != ''"> and id = #{id}</if>
<if test="code != null and code != ''"> and code = #{code}</if>
<if test="type != null"> and type = #{type}</if>
<if test="isRepair != null"> and is_repair = #{isRepair}</if>
<if test="createBy != null and createBy != ''"> and create_by = #{createBy}</if>
<if test="updateBy != null and updateBy != ''"> and update_by = #{updateBy}</if>
and `sys_dept`.`del_flag` = b'0'

2
src/main/resources/mapper/sys/SysOperationLogMapper.xml

@ -6,8 +6,10 @@
<resultMap id="sysOperationLogMap" type="com.qs.serve.modules.sys.entity.SysOperationLog" >
<result property="id" column="id"/>
<result property="module" column="module"/>
<result property="title" column="title"/>
<result property="bizType" column="biz_type"/>
<result property="optDesc" column="opt_desc"/>
<result property="interType" column="inter_type"/>
<result property="codeMethod" column="code_method"/>
<result property="reqMethod" column="req_method"/>

18
src/main/resources/mapper/sys/SysUserMapper.xml

@ -116,26 +116,9 @@
sys_user.`update_by`
</sql>
<sql id="userTenantSql">
sys_user_tenant.`ic_card`,
sys_user_tenant.`enter_date`,
sys_user_tenant.`serving_pact_date`,
sys_user_tenant.`serving_pact_date_end`,
sys_user_tenant.`formal_date`,
sys_user_tenant.`formal_status`,
sys_user_tenant.`position_id`,
sys_user_tenant.`position_type`,
sys_user_tenant.`dept_id`,
sys_user_tenant.`hr_type`,
sys_user_tenant.`serving_state`
</sql>
<select id="listUser" resultType="com.qs.serve.modules.sys.entity.SysUser" resultMap="sysUserMap2">
SELECT
<include refid="sysUserSql"/>,
<if test="tenantId != null and tenantId != ''">
<include refid="userTenantSql"/>,
</if>
`sys_post`.`name` `position_val`,
`sys_dept`.`code` deptcode
from sys_user `sys_user`
@ -143,7 +126,6 @@
left join sys_user_role sys_user_role ON sys_user_role.user_id = sys_user.id
</if>
left join `sys_post` `sys_post` ON `sys_user`.`position_id` = `sys_post`.id
left join `sys_user_tenant` `sys_user_tenant` ON `sys_user`.`id` = `sys_user_tenant`.id
left join `sys_dept` `sys_dept` ON `sys_user_tenant`.`dept_id` = `sys_dept`.id
<where>
and `sys_user`.`del_flag` = b'0'

Loading…
Cancel
Save