diff --git a/iot-common/iot-common-dao/iot-common-model/src/main/java/cc/iotkit/model/system/SysRoleDept.java b/iot-common/iot-common-dao/iot-common-model/src/main/java/cc/iotkit/model/system/SysRoleDept.java new file mode 100644 index 00000000..900942d0 --- /dev/null +++ b/iot-common/iot-common-dao/iot-common-model/src/main/java/cc/iotkit/model/system/SysRoleDept.java @@ -0,0 +1,29 @@ +package cc.iotkit.model.system; + +import cc.iotkit.model.BaseModel; +import cc.iotkit.model.Id; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * author: 石恒 + * date: 2023-05-30 16:16 + * description: + **/ +@EqualsAndHashCode(callSuper = true) +@Data +public class SysRoleDept extends BaseModel implements Id, Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long roleId; + + /** + * 部门ID + */ + private Long deptId; +} diff --git a/iot-common/iot-common-dao/iot-common-model/src/main/java/cc/iotkit/model/system/SysRoleMenu.java b/iot-common/iot-common-dao/iot-common-model/src/main/java/cc/iotkit/model/system/SysRoleMenu.java new file mode 100644 index 00000000..256165b3 --- /dev/null +++ b/iot-common/iot-common-dao/iot-common-model/src/main/java/cc/iotkit/model/system/SysRoleMenu.java @@ -0,0 +1,33 @@ +package cc.iotkit.model.system; + +import cc.iotkit.model.BaseModel; +import cc.iotkit.model.Id; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * author: 石恒 + * date: 2023-05-30 10:57 + * description: + **/ + +@EqualsAndHashCode(callSuper = true) +@Data +public class SysRoleMenu extends BaseModel implements Id, Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + + /** + * 角色ID + */ + private Long roleId; + + /** + * 菜单ID + */ + private Long menuId; +} diff --git a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysMenuData.java b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysMenuData.java index 1b7b1301..ece0d42f 100644 --- a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysMenuData.java +++ b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysMenuData.java @@ -43,4 +43,5 @@ public interface ISysMenuData extends ICommonData { boolean checkMenuNameUnique(SysMenu menu); + } diff --git a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleData.java b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleData.java index 05dbd8ad..963d15d6 100644 --- a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleData.java +++ b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleData.java @@ -19,4 +19,45 @@ public interface ISysRoleData extends ICommonData { * @return 选中菜单列表 */ List selectMenuListByRoleId(Long roleId, boolean menuCheckStrictly); + + /** + * 根据用户ID查询角色 + * + * @param userId 用户ID + * @return 角色列表 + */ + List selectRolePermissionByUserId(Long userId); + + /** + * 根据用户ID获取角色选择框列表 + * + * @param userId 用户ID + * @return 选中角色ID列表 + */ + List selectRoleListByUserId(Long userId); + + /** + * 校验角色名称是否唯一 + * + * @param role 角色信息 + * @return 结果 + */ + boolean checkRoleNameUnique(SysRole role); + + /** + * 校验角色权限是否唯一 + * + * @param role 角色信息 + * @return 结果 + */ + boolean checkRoleKeyUnique(SysRole role); + /** + * 修改角色状态 + * + * @param role 角色信息 + * @return 结果 + */ + int updateById(SysRole role); + + List selectRoleList(SysRole role); } diff --git a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleDeptData.java b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleDeptData.java index a6ca2b19..a7a9a91b 100644 --- a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleDeptData.java +++ b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleDeptData.java @@ -1,9 +1,15 @@ package cc.iotkit.data.system; +import cc.iotkit.data.ICommonData; +import cc.iotkit.model.system.SysRoleDept; + /** * 操作日志数据接口 * * @author sjg */ -public interface ISysRoleDeptData { +public interface ISysRoleDeptData extends ICommonData { + + void delete(Long roleId); + } diff --git a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleMenuData.java b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleMenuData.java index 253a3b77..e1fff171 100644 --- a/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleMenuData.java +++ b/iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleMenuData.java @@ -1,9 +1,13 @@ package cc.iotkit.data.system; +import cc.iotkit.data.ICommonData; +import cc.iotkit.model.system.SysRoleMenu; + /** * 操作日志数据接口 * * @author sjg */ -public interface ISysRoleMenuData { +public interface ISysRoleMenuData extends ICommonData { + boolean checkMenuExistRole(Long menuId); } diff --git a/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDataImpl.java b/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDataImpl.java index 7a178649..186cbebc 100644 --- a/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDataImpl.java +++ b/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDataImpl.java @@ -1,20 +1,30 @@ package cc.iotkit.data.service; +import cc.iotkit.common.constant.UserConstants; import cc.iotkit.common.utils.MapstructUtils; import cc.iotkit.data.dao.SysRoleRepository; +import cc.iotkit.data.model.QTbSysRole; +import cc.iotkit.data.model.TbSysRole; import cc.iotkit.data.system.ISysRoleData; import cc.iotkit.data.util.PredicateBuilder; import cc.iotkit.model.system.SysRole; +import com.querydsl.core.types.Predicate; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; +import static cc.iotkit.data.model.QTbSysDept.tbSysDept; import static cc.iotkit.data.model.QTbSysMenu.tbSysMenu; +import static cc.iotkit.data.model.QTbSysRole.tbSysRole; import static cc.iotkit.data.model.QTbSysRoleMenu.tbSysRoleMenu; +import static cc.iotkit.data.model.QTbSysUser.tbSysUser; +import static cc.iotkit.data.model.QTbSysUserRole.tbSysUserRole; /** * author: 石恒 @@ -59,4 +69,76 @@ public class SysRoleDataImpl implements ISysRoleData { .where(predicateBuilder.build()) .orderBy(tbSysMenu.parentId.asc(), tbSysMenu.orderNum.asc()).fetch(); } + + @Override + public List selectRolePermissionByUserId(Long userId) { + return buildQueryTitle(PredicateBuilder.instance() + .and(tbSysRole.delFlag.eq("0")) + .and(tbSysUserRole.userId.eq(userId)) + .build()); + } + + @Override + public List selectRoleListByUserId(Long userId) { + return jpaQueryFactory.select(tbSysRole.roleId).from(tbSysRole) + .leftJoin(tbSysUserRole).on(tbSysUserRole.roleId.eq(tbSysRole.roleId)) + .leftJoin(tbSysUser).on(tbSysUser.userId.eq(tbSysUserRole.userId)) + .where(PredicateBuilder.instance().and(tbSysUser.userId.eq(userId)).build()).fetch(); + + } + + @Override + public boolean checkRoleNameUnique(SysRole role) { + final TbSysRole tbSysRoleRes = jpaQueryFactory.select(tbSysRole).from(tbSysRole) + .where(PredicateBuilder.instance() + .and(tbSysRole.roleName.eq(role.getRoleName())) + .and(Objects.nonNull(role.getId()), () -> tbSysRole.roleId.eq(role.getId())) + .build()).fetchOne(); + return Objects.isNull(tbSysRoleRes); + } + + @Override + public boolean checkRoleKeyUnique(SysRole role) { + final TbSysRole tbSysRoleRes = jpaQueryFactory.select(tbSysRole).from(tbSysRole) + .where(PredicateBuilder.instance() + .and(tbSysRole.roleKey.eq(role.getRoleKey())) + .and(Objects.nonNull(role.getId()), () -> tbSysRole.roleId.eq(role.getId())) + .build()).fetchOne(); + return Objects.isNull(tbSysRoleRes); + } + + @Override + public int updateById(SysRole role) { + long execute = jpaQueryFactory.update(tbSysRole) + .where(PredicateBuilder.instance().and(tbSysRole.roleId.eq(role.getId())).build()).execute(); + return Integer.parseInt(execute + ""); + } + + @Override + public List selectRoleList(SysRole role) { + return buildQueryTitle(buildQueryWrapper(role)); + } + + private List buildQueryTitle(Predicate predicate) { + return jpaQueryFactory.select(Projections.bean(SysRole.class, tbSysRole.roleId.countDistinct(), tbSysRole.roleName, + tbSysRole.roleKey, tbSysRole.roleSort, tbSysRole.menuCheckStrictly, tbSysRole.deptCheckStrictly, + tbSysRole.status, tbSysRole.delFlag, tbSysRole.createTime, tbSysRole.remark)) + .from(tbSysRole) + .leftJoin(tbSysUserRole).on(tbSysUserRole.roleId.eq(tbSysRole.roleId)) + .leftJoin(tbSysUser).on(tbSysUser.userId.eq(tbSysUserRole.userId)) + .leftJoin(tbSysDept).on(tbSysUser.deptId.eq(tbSysDept.deptId)) + .where(predicate) + .orderBy(tbSysRole.roleSort.asc(), tbSysRole.createTime.asc()).fetch(); + } + + private Predicate buildQueryWrapper(SysRole role) { + return PredicateBuilder.instance() + .and(tbSysRole.delFlag.eq(UserConstants.ROLE_NORMAL)) + .and(Objects.nonNull(role.getId()), () -> tbSysRole.roleId.eq(role.getId())) + .and(StringUtils.isNotBlank(role.getRoleName()), () -> tbSysRole.roleName.like(role.getRoleName())) + .and(StringUtils.isNotBlank(role.getStatus()), () -> tbSysRole.roleName.eq(role.getStatus())) + .and(StringUtils.isNotBlank(role.getRoleKey()), () -> tbSysRole.roleKey.like(role.getRoleKey())) + .build(); + + } } diff --git a/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDeptDataImpl.java b/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDeptDataImpl.java new file mode 100644 index 00000000..16d5f4a0 --- /dev/null +++ b/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleDeptDataImpl.java @@ -0,0 +1,28 @@ +package cc.iotkit.data.service; + +import cc.iotkit.data.system.ISysRoleDeptData; +import cc.iotkit.data.util.PredicateBuilder; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +import static cc.iotkit.data.model.QTbSysRoleDept.tbSysRoleDept; + +/** + * author: 石恒 + * date: 2023-05-30 16:20 + * description: + **/ +@Primary +@Service +@RequiredArgsConstructor +public class SysRoleDeptDataImpl implements ISysRoleDeptData { + + private final JPAQueryFactory jpaQueryFactory; + + @Override + public void delete(Long roleId) { + jpaQueryFactory.delete(tbSysRoleDept).where(PredicateBuilder.instance().and(tbSysRoleDept.roleId.eq(roleId)).build()); + } +} diff --git a/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleMenuDataImpl.java b/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleMenuDataImpl.java new file mode 100644 index 00000000..08fc3619 --- /dev/null +++ b/iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysRoleMenuDataImpl.java @@ -0,0 +1,36 @@ +package cc.iotkit.data.service; + +import cc.iotkit.data.model.QTbSysRoleMenu; +import cc.iotkit.data.model.TbSysRoleMenu; +import cc.iotkit.data.system.ISysRoleMenuData; +import cc.iotkit.data.util.PredicateBuilder; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * author: 石恒 + * date: 2023-05-30 11:00 + * description: + **/ +@Primary +@Service +@RequiredArgsConstructor +public class SysRoleMenuDataImpl implements ISysRoleMenuData { + + private final JPAQueryFactory jpaQueryFactory; + + @Override + public boolean checkMenuExistRole(Long menuId) { + TbSysRoleMenu tbSysRoleMenu = jpaQueryFactory + .select(QTbSysRoleMenu.tbSysRoleMenu) + .from(QTbSysRoleMenu.tbSysRoleMenu) + .where(PredicateBuilder.instance() + .and(QTbSysRoleMenu.tbSysRoleMenu.menuId.eq(menuId)) + .build()).fetchOne(); + return Objects.nonNull(tbSysRoleMenu); + } +} diff --git a/iot-module/iot-system/src/main/java/cc/iotkit/system/controller/SysMenuController.java b/iot-module/iot-system/src/main/java/cc/iotkit/system/controller/SysMenuController.java index c410d145..4749cb26 100644 --- a/iot-module/iot-system/src/main/java/cc/iotkit/system/controller/SysMenuController.java +++ b/iot-module/iot-system/src/main/java/cc/iotkit/system/controller/SysMenuController.java @@ -108,22 +108,6 @@ public class SysMenuController extends BaseController { return selectVo; } - /** - * 加载对应租户套餐菜单列表树 - * - * @param packageId 租户套餐ID - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:menu:query") - @GetMapping(value = "/tenantPackageMenuTreeselect/{packageId}") - public MenuTreeSelectVo tenantPackageMenuTreeselect(@PathVariable("packageId") Long packageId) { - List menus = menuService.selectMenuList(LoginHelper.getUserId()); - MenuTreeSelectVo selectVo = new MenuTreeSelectVo(); - selectVo.setCheckedKeys(menuService.selectMenuListByPackageId(packageId)); - selectVo.setMenus(menuService.buildMenuTreeSelect(menus)); - return selectVo; - } - /** * 新增菜单 */ diff --git a/iot-module/iot-system/src/main/java/cc/iotkit/system/service/ISysMenuService.java b/iot-module/iot-system/src/main/java/cc/iotkit/system/service/ISysMenuService.java index 193cd237..f65277b3 100644 --- a/iot-module/iot-system/src/main/java/cc/iotkit/system/service/ISysMenuService.java +++ b/iot-module/iot-system/src/main/java/cc/iotkit/system/service/ISysMenuService.java @@ -65,14 +65,6 @@ public interface ISysMenuService { */ List selectMenuListByRoleId(Long roleId); - /** - * 根据租户套餐ID查询菜单树信息 - * - * @param packageId 租户套餐ID - * @return 选中菜单列表 - */ - List selectMenuListByPackageId(Long packageId); - /** * 构建前端路由所需要的菜单 * diff --git a/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysMenuServiceImpl.java b/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysMenuServiceImpl.java index c7070cb5..6677b9f7 100644 --- a/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysMenuServiceImpl.java +++ b/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysMenuServiceImpl.java @@ -9,6 +9,7 @@ import cc.iotkit.common.utils.StringUtils; import cc.iotkit.common.utils.TreeBuildUtils; import cc.iotkit.data.system.ISysMenuData; import cc.iotkit.data.system.ISysRoleData; +import cc.iotkit.data.system.ISysRoleMenuData; import cc.iotkit.model.system.SysMenu; import cc.iotkit.model.system.SysRole; import cc.iotkit.system.dto.bo.SysMenuBo; @@ -34,6 +35,7 @@ public class SysMenuServiceImpl implements ISysMenuService { private final ISysMenuData sysMenuData; private final ISysRoleData sysRoleData; + private final ISysRoleMenuData iSysRoleMenuData; /** * 根据用户查询系统菜单列表 @@ -126,17 +128,6 @@ public class SysMenuServiceImpl implements ISysMenuService { return sysRoleData.selectMenuListByRoleId(roleId, role.getMenuCheckStrictly()); } - /** - * 根据租户套餐ID查询菜单树信息 - * - * @param packageId 租户套餐ID - * @return 选中菜单列表 - */ - @Override - public List selectMenuListByPackageId(Long packageId) { - return new ArrayList<>(); - } - /** * 构建前端路由所需要的菜单 * @@ -324,7 +315,7 @@ public class SysMenuServiceImpl implements ISysMenuService { */ @Override public boolean checkMenuExistRole(Long menuId) { - return false; + return iSysRoleMenuData.checkMenuExistRole(menuId); } /** diff --git a/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysRoleServiceImpl.java b/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysRoleServiceImpl.java index 0d16c131..24bec50c 100644 --- a/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysRoleServiceImpl.java +++ b/iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysRoleServiceImpl.java @@ -4,7 +4,12 @@ import cc.iotkit.common.api.PageRequest; import cc.iotkit.common.api.Paging; import cc.iotkit.common.exception.BizException; import cc.iotkit.common.satoken.utils.LoginHelper; +import cc.iotkit.common.utils.MapstructUtils; +import cc.iotkit.common.utils.StringUtils; import cc.iotkit.data.system.ISysRoleData; +import cc.iotkit.data.system.ISysRoleDeptData; +import cc.iotkit.data.system.ISysRoleMenuData; +import cc.iotkit.data.system.ISysUserRoleData; import cc.iotkit.model.system.SysRole; import cc.iotkit.system.dto.SysUserRole; import cc.iotkit.system.dto.bo.SysRoleBo; @@ -16,7 +21,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -30,7 +34,10 @@ import java.util.Set; @Service public class SysRoleServiceImpl implements ISysRoleService { - private final ISysRoleData sysRoleData; + private final ISysRoleData iSysRoleData; + private final ISysRoleMenuData iSysRoleMenuData; + private final ISysUserRoleData iSysUserRoleData; + private final ISysRoleDeptData iSysRoleDeptData; @Override public Paging selectPageRoleList(SysRoleBo role, PageRequest query) { @@ -45,9 +52,15 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public List selectRoleList(SysRoleBo role) { - return new ArrayList<>(); + List sysRoles = getSysRoles(role); + return MapstructUtils.convert(sysRoles, SysRoleVo.class); } + private List getSysRoles(SysRoleBo role) { + return iSysRoleData.selectRoleList(MapstructUtils.convert(role, SysRole.class)); + } + + /** * 根据用户ID查询角色 * @@ -56,7 +69,17 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public List selectRolesByUserId(Long userId) { - return new ArrayList<>(); + List sysRoles = iSysRoleData.selectRolePermissionByUserId(userId); + List roles = getSysRoles(new SysRoleBo()); + for (SysRole role : roles) { + for (SysRole sysRole : sysRoles) { + if (role.getId().longValue() == sysRole.getId().longValue()) { + role.setFlag(true); + break; + } + } + } + return MapstructUtils.convert(roles, SysRoleVo.class); } /** @@ -67,7 +90,14 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public Set selectRolePermissionByUserId(Long userId) { - return new HashSet<>(); + List perms = iSysRoleData.selectRolePermissionByUserId(userId); + Set permsSet = new HashSet<>(); + for (SysRole perm : perms) { + if (ObjectUtil.isNotNull(perm)) { + permsSet.addAll(StringUtils.splitList(perm.getRoleKey().trim())); + } + } + return permsSet; } /** @@ -88,7 +118,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public List selectRoleListByUserId(Long userId) { - return new ArrayList<>(); + return iSysRoleData.selectRoleListByUserId(userId); } /** @@ -99,7 +129,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public SysRoleVo selectRoleById(Long roleId) { - return sysRoleData.findById(roleId).to(SysRoleVo.class); + return iSysRoleData.findById(roleId).to(SysRoleVo.class); } /** @@ -110,7 +140,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public boolean checkRoleNameUnique(SysRoleBo role) { - return false; + return iSysRoleData.checkRoleNameUnique(MapstructUtils.convert(role, SysRole.class)); } /** @@ -121,7 +151,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public boolean checkRoleKeyUnique(SysRoleBo role) { - return false; + return iSysRoleData.checkRoleKeyUnique(MapstructUtils.convert(role, SysRole.class)); } /** @@ -176,7 +206,7 @@ public class SysRoleServiceImpl implements ISysRoleService { @Override @Transactional(rollbackFor = Exception.class) public void insertRole(SysRoleBo bo) { - SysRole role = sysRoleData.save(bo.to(SysRole.class)); + SysRole role = iSysRoleData.save(bo.to(SysRole.class)); bo.setRoleId(role.getId()); insertRoleMenu(bo); } @@ -190,9 +220,9 @@ public class SysRoleServiceImpl implements ISysRoleService { @Override @Transactional(rollbackFor = Exception.class) public int updateRole(SysRoleBo bo) { - SysRole role = sysRoleData.save(bo.to(SysRole.class)); - if(ObjectUtil.isNull(role)){ - return 0; + SysRole role = iSysRoleData.save(bo.to(SysRole.class)); + if (ObjectUtil.isNull(role)) { + return 0; } return 1; } @@ -206,6 +236,11 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public void updateRoleStatus(Long roleId, String status) { + SysRole sysRole = new SysRole(); + sysRole.setId(roleId); + sysRole.setStatus(status); + iSysRoleData.updateById(sysRole); + } /** @@ -217,6 +252,13 @@ public class SysRoleServiceImpl implements ISysRoleService { @Override @Transactional(rollbackFor = Exception.class) public void authDataScope(SysRoleBo bo) { + // 修改角色信息 + iSysRoleData.updateById(MapstructUtils.convert(bo, SysRole.class)); + // 删除角色与部门关联 + iSysRoleDeptData.delete(bo.getRoleId()); + // 新增角色和部门信息(数据权限) + insertRoleDept(bo); + } /**