From 94198b487cd76c24a0e9f41aaf0bcba336476383 Mon Sep 17 00:00:00 2001 From: ZhangXushuo <3508242435.com> Date: Mon, 9 Dec 2024 11:56:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AE=E5=93=A5=E4=BD=A0=E5=A5=BD=E5=91=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-auth/src/main/resources/bootstrap.yml | 2 +- .../muyu/common/system/domain/SysDept.java | 8 ++ .../muyu/common/system/domain/SysRole.java | 7 ++ .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../system/controller/SysDeptController.java | 2 + .../java/com/muyu/system/domain/SysMenu.java | 20 +++++ .../com/muyu/system/domain/SysNotice.java | 5 ++ .../java/com/muyu/system/domain/SysPost.java | 5 ++ .../com/muyu/system/domain/SysRoleDept.java | 4 + .../com/muyu/system/domain/SysRoleMenu.java | 4 + .../com/muyu/system/domain/SysUserOnline.java | 4 + .../com/muyu/system/domain/SysUserPost.java | 4 + .../com/muyu/system/domain/SysUserRole.java | 4 + .../com/muyu/system/mapper/SysRoleMapper.java | 19 +--- .../muyu/system/mapper/SysRoleMenuMapper.java | 5 ++ .../muyu/system/service/SysRoleService.java | 6 +- .../service/impl/SysDeptServiceImpl.java | 4 +- .../service/impl/SysRoleServiceImpl.java | 87 ++++++++++++++----- .../src/main/resources/bootstrap.yml | 4 +- .../resources/mapper/system/SysRoleMapper.xml | 43 --------- .../mapper/system/SysRoleMenuMapper.xml | 6 ++ .../src/main/resources/bootstrap.yml | 2 +- 24 files changed, 157 insertions(+), 94 deletions(-) diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml index 9598305..1030fb2 100644 --- a/cloud-auth/src/main/resources/bootstrap.yml +++ b/cloud-auth/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: nacos.cloud.muyu.icu:8848 user-name: nacos password: nacos - namespace: muyu-cloud + namespace: muyu-cloud-zxs # Spring spring: application: diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java index 65ada9e..c7247bd 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysDept.java @@ -1,5 +1,9 @@ package com.muyu.common.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; @@ -20,6 +24,7 @@ import java.util.List; @SuperBuilder @NoArgsConstructor @AllArgsConstructor +@TableName("sys_dept") @EqualsAndHashCode(callSuper = true) public class SysDept extends BaseEntity { private static final long serialVersionUID = 1L; @@ -27,6 +32,7 @@ public class SysDept extends BaseEntity { /** * 部门ID */ + @TableId(type = IdType.AUTO) private Long deptId; /** @@ -77,11 +83,13 @@ public class SysDept extends BaseEntity { /** * 父部门名称 */ + @TableField(exist = false) private String parentName; /** * 子部门 */ + @TableField(exist = false) private List children = new ArrayList(); @NotBlank(message = "部门名称不能为空") diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java index 1aab56a..9526346 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java @@ -1,5 +1,7 @@ package com.muyu.common.system.domain; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; import com.muyu.common.core.web.domain.BaseEntity; @@ -73,26 +75,31 @@ public class SysRole extends BaseEntity { /** * 删除标志(0代表存在 2代表删除) */ + @TableLogic private String delFlag; /** * 用户是否存在此角色标识 默认不存在 */ + @TableField(exist = false) private boolean flag = false; /** * 菜单组 */ + @TableField(exist = false) private Long[] menuIds; /** * 部门组(数据权限) */ + @TableField(exist = false) private Long[] deptIds; /** * 角色菜单权限 */ + @TableField(exist = false) private Set permissions; diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml index 17e8162..aea06ab 100644 --- a/cloud-gateway/src/main/resources/bootstrap.yml +++ b/cloud-gateway/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: nacos.cloud.muyu.icu:8848 user-name: nacos password: nacos - namespace: muyu-cloud + namespace: muyu-cloud-zxs # Spring spring: diff --git a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml index e7df68d..aa6e223 100644 --- a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: nacos.cloud.muyu.icu:8848 user-name: nacos password: nacos - namespace: muyu-cloud + namespace: muyu-cloud-zxs # Spring spring: diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml index 5bad64d..17ed8f3 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: nacos.cloud.muyu.icu:8848 user-name: nacos password: nacos - namespace: muyu-cloud + namespace: muyu-cloud-zxs # Spring spring: diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java index 37e48fc..3bf1e62 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java @@ -10,6 +10,7 @@ import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysDept; import com.muyu.system.service.SysDeptService; +import io.swagger.v3.oas.annotations.tags.Tag; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -24,6 +25,7 @@ import java.util.List; */ @RestController @RequestMapping("/dept") +@Tag(name = "SysDeptController", description = "部门管理") public class SysDeptController extends BaseController { @Autowired diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysMenu.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysMenu.java index e4ad4e4..9252b3b 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysMenu.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysMenu.java @@ -1,5 +1,9 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import lombok.*; import lombok.experimental.SuperBuilder; @@ -20,82 +24,98 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName("sys_menu") public class SysMenu extends BaseEntity { private static final long serialVersionUID = 1L; /** * 菜单ID */ + @TableId(type = IdType.AUTO) private Long menuId; /** * 菜单名称 */ + @TableField() private String menuName; /** * 父菜单名称 */ + @TableField() private String parentName; /** * 父菜单ID */ + @TableField() private Long parentId; /** * 显示顺序 */ + @TableField() private Integer orderNum; /** * 路由地址 */ + @TableField() private String path; /** * 组件路径 */ + @TableField() private String component; /** * 路由参数 */ + @TableField() private String query; /** * 是否为外链(0是 1否) */ + @TableField() private String isFrame; /** * 是否缓存(0缓存 1不缓存) */ + @TableField() private String isCache; /** * 类型(M目录 C菜单 F按钮) */ + @TableField() private String menuType; /** * 显示状态(0显示 1隐藏) */ + @TableField() private String visible; /** * 菜单状态(0正常 1停用) */ + @TableField() private String status; /** * 权限字符串 */ + @TableField() private String perms; /** * 菜单图标 */ + @TableField() private String icon; /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysNotice.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysNotice.java index a0c30e0..f574890 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysNotice.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysNotice.java @@ -1,5 +1,8 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.xss.Xss; import lombok.AllArgsConstructor; @@ -21,12 +24,14 @@ import jakarta.validation.constraints.Size; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName("sys_notice") public class SysNotice extends BaseEntity { private static final long serialVersionUID = 1L; /** * 公告ID */ + @TableId(type = IdType.AUTO) private Long noticeId; /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysPost.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysPost.java index 326987c..d82919b 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysPost.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysPost.java @@ -1,5 +1,8 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; import com.muyu.common.core.web.domain.BaseEntity; @@ -20,6 +23,7 @@ import jakarta.validation.constraints.Size; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName("sys_post") public class SysPost extends BaseEntity { private static final long serialVersionUID = 1L; @@ -27,6 +31,7 @@ public class SysPost extends BaseEntity { * 岗位序号 */ @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) + @TableId(type = IdType.AUTO) private Long postId; /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleDept.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleDept.java index ef9f13c..49e5170 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleDept.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleDept.java @@ -1,5 +1,8 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,6 +17,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor +@TableName("sys_role_dept") public class SysRoleDept { /** * 角色ID diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java index fe4074b..c548b8a 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java @@ -1,6 +1,9 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,6 +18,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor +@TableName("sys_role_menu") public class SysRoleMenu { /** * 角色ID diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserOnline.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserOnline.java index 23d1979..5a4c364 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserOnline.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserOnline.java @@ -1,5 +1,8 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,6 +17,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor +@TableName("sys_user_online") public class SysUserOnline { /** * 会话编号 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java index 229dc70..f83249d 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java @@ -1,5 +1,8 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,6 +17,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor +@TableName("sys_user_post") public class SysUserPost { /** * 用户ID diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java index ee9c945..1bead41 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java @@ -1,5 +1,8 @@ package com.muyu.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,6 +17,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor +@TableName("sys_user_role") public class SysUserRole { /** * 用户ID diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java index 2b01dc3..242a1a5 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java @@ -11,14 +11,6 @@ import java.util.List; * @author muyu */ public interface SysRoleMapper extends BaseMapper { - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * - * @return 角色数据集合信息 - */ - public List selectRoleList (SysRole role); /** * 根据用户ID查询角色 @@ -67,9 +59,9 @@ public interface SysRoleMapper extends BaseMapper { * 校验角色名称是否唯一 * * @param roleName 角色名称 - * * @return 角色信息 */ + public SysRole checkRoleNameUnique (String roleName); /** @@ -79,16 +71,9 @@ public interface SysRoleMapper extends BaseMapper { * * @return 角色信息 */ + public SysRole checkRoleKeyUnique (String roleKey); - /** - * 修改角色信息 - * - * @param role 角色信息 - * - * @return 结果 - */ - public int updateRole (SysRole role); /** * 新增角色信息 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java index 664ce26..45847ae 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java @@ -3,6 +3,7 @@ package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.system.domain.SysRoleMenu; +import feign.Param; import java.util.List; @@ -47,4 +48,8 @@ public interface SysRoleMenuMapper extends BaseMapper { * @return 结果 */ public int batchRoleMenu (List roleMenuList); + + // 批量保存角色与菜单的关联 + boolean saveBatch(@Param("roleMenuList") List roleMenuList); + } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java index 47009f8..c82eb67 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java @@ -128,19 +128,17 @@ public interface SysRoleService extends IService { * 修改角色状态 * * @param role 角色信息 - * * @return 结果 */ - public int updateRoleStatus (SysRole role); + public boolean updateRoleStatus (SysRole role); /** * 修改数据权限信息 * * @param role 角色信息 - * * @return 结果 */ - public int authDataScope (SysRole role); + public boolean authDataScope (SysRole role); /** * 通过角色ID删除角色 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java index a55301b..4ed94c1 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java @@ -29,13 +29,15 @@ import java.util.stream.Collectors; * @author muyu */ @Service -public class SysDeptServiceImpl extends ServiceImpl implements SysDeptService { +public class SysDeptServiceImpl extends ServiceImpl + implements SysDeptService { @Autowired private SysDeptMapper deptMapper; @Autowired private SysRoleMapper roleMapper; + /** * 查询部门管理数据 * diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java index fa832da..2a15bb3 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java @@ -1,5 +1,7 @@ package com.muyu.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.constant.UserConstants; import com.muyu.common.core.exception.ServiceException; @@ -45,14 +47,23 @@ public class SysRoleServiceImpl extends ServiceImpl impl /** * 根据条件分页查询角色数据 * - * @param role 角色信息 + * @param params 角色信息 * * @return 角色数据集合信息 */ @Override @DataScope(deptAlias = "d") - public List selectRoleList (SysRole role) { - return roleMapper.selectRoleList(role); + public List selectRoleList (SysRole params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(params.getRoleId() != null && params.getRoleId() != 0, SysRole::getRoleId, params.getRoleId()); + wrapper.like(StringUtils.isNotBlank(params.getRoleName()), SysRole::getRoleName, params.getRoleName()); + wrapper.eq(StringUtils.isNotBlank(params.getStatus()), SysRole::getStatus, params.getStatus()); + + wrapper.like(StringUtils.isNotBlank(params.getRoleKey()), SysRole::getRoleKey, params.getRoleKey()); + wrapper.ge(params.getParams().get("beginTime") != null, SysRole::getCreateTime, params.getParams().get("beginTime")); + wrapper.le(params.getParams().get("endTime") != null, SysRole::getCreateTime, params.getParams().get("endTime")); + wrapper.orderBy(true, true, SysRole::getRoleSort); + return this.list(wrapper); } /** @@ -219,52 +230,80 @@ public class SysRoleServiceImpl extends ServiceImpl impl roleMapper.insertRole(role); return insertRoleMenu(role); } - /** * 修改保存角色信息 * - * @param role 角色信息 + * @param sysRole 角色信息 * * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int updateRole (SysRole role) { - // 修改角色信息 - roleMapper.updateRole(role); + public int updateRole (SysRole sysRole) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + + // 条件判断并更新字段 + updateWrapper.eq(SysRole::getRoleId, sysRole.getRoleId()); + + if (sysRole.getRoleName() != null && !sysRole.getRoleName().isEmpty()) { + updateWrapper.set(SysRole::getRoleName, sysRole.getRoleName()); + } + if (sysRole.getRoleKey() != null && !sysRole.getRoleKey().isEmpty()) { + updateWrapper.set(SysRole::getRoleKey, sysRole.getRoleKey()); + } + if (sysRole.getRoleSort() != null) { + updateWrapper.set(SysRole::getRoleSort, sysRole.getRoleSort()); + } + if (sysRole.getDataScope() != null && !sysRole.getDataScope().isEmpty()) { + updateWrapper.set(SysRole::getDataScope, sysRole.getDataScope()); + } + if (sysRole.getStatus() != null && !sysRole.getStatus().isEmpty()) { + updateWrapper.set(SysRole::getStatus, sysRole.getStatus()); + } + if (sysRole.getRemark() != null) { + updateWrapper.set(SysRole::getRemark, sysRole.getRemark()); + } + if (sysRole.getUpdateBy() != null && !sysRole.getUpdateBy().isEmpty()) { + updateWrapper.set(SysRole::getUpdateBy, sysRole.getUpdateBy()); + } + + // 更新时间 + updateWrapper.set(SysRole::getUpdateTime, new java.util.Date()); + + // 执行更新 + this.update(updateWrapper); // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId()); - return insertRoleMenu(role); + roleMenuMapper.deleteRoleMenuByRoleId(sysRole.getRoleId()); + return insertRoleMenu(sysRole); } /** * 修改角色状态 * * @param role 角色信息 - * * @return 结果 */ @Override - public int updateRoleStatus (SysRole role) { - return roleMapper.updateRole(role); + public boolean updateRoleStatus (SysRole role) { + boolean updateResult = updateById(role); // 通过 roleId 更新角色信息 + return updateResult; } /** * 修改数据权限信息 * * @param role 角色信息 - * * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int authDataScope (SysRole role) { + public boolean authDataScope (SysRole role) { // 修改角色信息 - roleMapper.updateRole(role); + boolean updateResult = updateById(role); // 通过 roleId 更新角色信息 // 删除角色与部门关联 roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId()); // 新增角色和部门信息(数据权限) - return insertRoleDept(role); + return updateResult; } /** @@ -273,7 +312,11 @@ public class SysRoleServiceImpl extends ServiceImpl impl * @param role 角色对象 */ public int insertRoleMenu (SysRole role) { - int rows = 1; + // 假设role.getMenuIds()返回角色关联的菜单ID列表 + List menuIds = List.of(role.getMenuIds()); + if (menuIds == null || menuIds.isEmpty()){ + return 0; + } // 新增用户与角色管理 List list = new ArrayList(); for (Long menuId : role.getMenuIds()) { @@ -282,10 +325,10 @@ public class SysRoleServiceImpl extends ServiceImpl impl rm.setMenuId(menuId); list.add(rm); } - if (list.size() > 0) { - rows = roleMenuMapper.batchRoleMenu(list); - } - return rows; + // 使用MyBatis-Plus的saveBatch方法批量插入角色与菜单的关联关系 + boolean saveResult = roleMenuMapper.saveBatch(list); + + return saveResult ? list.size() : 0; // 返回成功插入的数量 } /** diff --git a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml index 9a0bba2..7c3c0fc 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: nacos.cloud.muyu.icu:8848 user-name: nacos password: nacos - namespace: muyu-cloud + namespace: muyu-cloud-zxs # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: @@ -57,4 +57,4 @@ spring: - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} logging: level: - com.muyu.system.mapper: DEBUG \ No newline at end of file + com.muyu.system.mapper: DEBUG diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml index f6b56b3..156c10b 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -39,32 +39,6 @@ left join sys_dept d on u.dept_id = d.dept_id - -