浏览代码

角色自定义数据权限修改

hym 4 年之前
父节点
当前提交
8031a6842f

+ 1 - 0
user_center/src/main/java/com/huaxu/dao/RoleOrgMapper.java

@@ -80,6 +80,7 @@ public interface RoleOrgMapper {
     int count();
 
     IPage<RoleOrg> selectPage(IPage<RoleOrg> page, RoleOrg roleOrg);
+    int deleteOrgRole(Integer id);
 
 
 }

+ 10 - 8
user_center/src/main/java/com/huaxu/service/impl/RoleServiceImpl.java

@@ -82,14 +82,17 @@ public class RoleServiceImpl implements RoleService {
     @Override
     @Transactional
     public int insert(RoleRequestDto roleRequestDto) {
-        configDataPermission(roleRequestDto);
+
         Role role = roleRequestDto.getRole();
         LoginUser currentUser = UserUtil.getCurrentUser();
         role.setTenantId(currentUser.getTenantId());
         role.setCreateBy(currentUser.getUsername());
         role.setDateCreate(new Date());
         role.setStatus(0);
-        return this.roleMapper.insert(role);
+        int insert = this.roleMapper.insert(role);
+        roleRequestDto.getRole().setId(role.getId());
+        configDataPermission(roleRequestDto);
+        return insert;
     }
 
     /**
@@ -116,11 +119,11 @@ public class RoleServiceImpl implements RoleService {
 
 
         //將禁用的角色放入redis,作为登出判断
-        if(role.getRoleState()==-1){
+        if(role.getRoleState()==0){
             String roleKey="disableRole:"+role.getId();
             redisUtil.setExpire(roleKey.getBytes(), ByteArrayUtils.objectToBytes("1").get(), 60*60*24);//15分钟过期
 
-        } if(role.getRoleState()==0){
+        } if(role.getRoleState()==1){
             String roleKey="disableRole:"+role.getId();
             redisUtil.del(roleKey.getBytes());
 
@@ -132,16 +135,15 @@ public class RoleServiceImpl implements RoleService {
     }
     private void configDataPermission(RoleRequestDto roleRequestDto){
         if(roleRequestDto.getRole().getPermissionType()==5){
-            RoleOrg roleOrgDelete=new RoleOrg();
-            Integer roleId=roleRequestDto.getRole().getId();
-            roleOrgDelete.setRoleId(roleId);
-            roleOrgMapper.update(roleOrgDelete);
+           Integer roleId=roleRequestDto.getRole().getId();
+           roleOrgMapper.deleteOrgRole(roleId);
             List<Integer> orgIds = roleRequestDto.getIds();
             List<RoleOrg>roleOrgs=new ArrayList<>();
             orgIds.forEach(id->{
                 RoleOrg roleOrg = new RoleOrg();
                 roleOrg.setRoleId(roleId);
                 roleOrg.setOrgId(id);
+                roleOrg.setStatus(0);
                 roleOrgs.add(roleOrg);
             });
 

+ 7 - 3
user_center/src/main/resources/mapper/RoleOrgMapper.xml

@@ -39,6 +39,7 @@
         <include refid="Base_Column_List"/>
         from uims_role_org
         <where>
+            and status != -1
             <if test="id != null">
                 and ID = #{id}
             </if>
@@ -48,9 +49,7 @@
             <if test="orgId != null">
                 and ORG_ID = #{orgId}
             </if>
-            <if test="status != null">
-                and STATUS = #{status}
-            </if>
+
             <if test="dateCreate != null">
                 and DATE_CREATE = #{dateCreate}
             </if>
@@ -117,6 +116,7 @@
         delete from uims_role_org where ID = #{id}
     </delete>
 
+
     <!-- 总数 -->
     <select id="count" resultType="int">
         select count(*) from uims_role_org
@@ -152,4 +152,8 @@
             </if>
         </where>
     </select>
+    <update id="deleteOrgRole">
+        update uims_role_org set STATUS=-1 where
+        ROLE_ID=#{id}
+    </update>
 </mapper>