Skip to content

Commit a3c92e6

Browse files
committed
feat: 添加角色绑定关系增删方法
1 parent fc2e447 commit a3c92e6

5 files changed

Lines changed: 153 additions & 41 deletions

File tree

system/src/main/java/top/cadecode/uniboot/system/mapper/SysRoleMapper.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.apache.ibatis.annotations.Mapper;
55
import org.apache.ibatis.annotations.Param;
66
import top.cadecode.uniboot.system.bean.po.SysRole;
7+
import top.cadecode.uniboot.system.request.SysRoleRequest.SysRoleMappingRequest;
78

89
import java.util.List;
910

@@ -34,4 +35,16 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
3435

3536
int deleteRoleApiByRoleIds(@Param("roleIds") List<Long> roleIds);
3637

38+
int deleteRoleUser(List<SysRoleMappingRequest> list);
39+
40+
int deleteRoleMenu(List<SysRoleMappingRequest> list);
41+
42+
int deleteRoleApi(List<SysRoleMappingRequest> list);
43+
44+
int insertRoleUser(List<SysRoleMappingRequest> list);
45+
46+
int insertRoleMenu(List<SysRoleMappingRequest> list);
47+
48+
int insertRoleApi(List<SysRoleMappingRequest> list);
49+
3750
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package top.cadecode.uniboot.system.request;
2+
3+
import lombok.Data;
4+
5+
import javax.validation.constraints.NotNull;
6+
7+
/**
8+
* 角色请求对象
9+
*
10+
* @author Cade Li
11+
* @since 2023/5/4
12+
*/
13+
public class SysRoleRequest {
14+
15+
@Data
16+
public static class SysRoleMappingRequest {
17+
@NotNull
18+
private Long id;
19+
@NotNull
20+
private Long roleId;
21+
}
22+
}

system/src/main/java/top/cadecode/uniboot/system/service/SysRoleService.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.baomidou.mybatisplus.extension.service.IService;
44
import top.cadecode.uniboot.system.bean.po.SysRole;
5+
import top.cadecode.uniboot.system.request.SysRoleRequest.SysRoleMappingRequest;
56

67
import java.util.List;
78

@@ -30,4 +31,16 @@ public interface SysRoleService extends IService<SysRole> {
3031
int removeRoleApiByApiIds(List<Long> apiIds);
3132

3233
int removeRoleApiByRoleIds(List<Long> roleIds);
34+
35+
int removeRoleUser(List<SysRoleMappingRequest> list);
36+
37+
int removeRoleMenu(List<SysRoleMappingRequest> list);
38+
39+
int removeRoleApi(List<SysRoleMappingRequest> list);
40+
41+
int addRoleUser(List<SysRoleMappingRequest> list);
42+
43+
int addRoleMenu(List<SysRoleMappingRequest> list);
44+
45+
int addRoleApi(List<SysRoleMappingRequest> list);
3346
}

system/src/main/java/top/cadecode/uniboot/system/serviceimpl/SysRoleServiceImpl.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.springframework.stereotype.Service;
66
import top.cadecode.uniboot.system.bean.po.SysRole;
77
import top.cadecode.uniboot.system.mapper.SysRoleMapper;
8+
import top.cadecode.uniboot.system.request.SysRoleRequest.SysRoleMappingRequest;
89
import top.cadecode.uniboot.system.service.SysRoleService;
910

1011
import java.util.List;
@@ -65,4 +66,34 @@ public int removeRoleApiByApiIds(List<Long> apiIds) {
6566
public int removeRoleApiByRoleIds(List<Long> roleIds) {
6667
return sysRoleMapper.deleteRoleApiByRoleIds(roleIds);
6768
}
69+
70+
@Override
71+
public int removeRoleUser(List<SysRoleMappingRequest> list) {
72+
return sysRoleMapper.deleteRoleUser(list);
73+
}
74+
75+
@Override
76+
public int removeRoleMenu(List<SysRoleMappingRequest> list) {
77+
return sysRoleMapper.deleteRoleMenu(list);
78+
}
79+
80+
@Override
81+
public int removeRoleApi(List<SysRoleMappingRequest> list) {
82+
return sysRoleMapper.deleteRoleApi(list);
83+
}
84+
85+
@Override
86+
public int addRoleUser(List<SysRoleMappingRequest> list) {
87+
return sysRoleMapper.insertRoleUser(list);
88+
}
89+
90+
@Override
91+
public int addRoleMenu(List<SysRoleMappingRequest> list) {
92+
return sysRoleMapper.insertRoleMenu(list);
93+
}
94+
95+
@Override
96+
public int addRoleApi(List<SysRoleMappingRequest> list) {
97+
return sysRoleMapper.insertRoleApi(list);
98+
}
6899
}

system/src/main/resources/mapper/SysRoleMapper.xml

Lines changed: 74 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -39,63 +39,96 @@
3939
</select>
4040
<delete id="deleteRoleUserByUserIds">
4141
DELETE FROM sys_role_user ru
42-
<if test="userIds != null and userIds.size > 0">
43-
WHERE ru.user_id IN (
44-
<foreach collection="userIds" item="id" separator=",">
45-
#{id}
46-
</foreach>
47-
)
48-
</if>
42+
WHERE ru.user_id IN (
43+
<foreach collection="userIds" item="id" separator=",">
44+
#{id}
45+
</foreach>
46+
)
4947
</delete>
5048
<delete id="deleteRoleUserByRoleIds">
5149
DELETE FROM sys_role_user ru
52-
<if test="userIds != null and userIds.size > 0">
53-
WHERE ru.role_id IN (
54-
<foreach collection="roleIds" item="id" separator=",">
55-
#{id}
56-
</foreach>
57-
)
58-
</if>
50+
WHERE ru.role_id IN (
51+
<foreach collection="roleIds" item="id" separator=",">
52+
#{id}
53+
</foreach>
54+
)
5955
</delete>
6056
<delete id="deleteRoleMenuByMenuIds">
6157
DELETE FROM sys_role_menu rm
62-
<if test="menuIds != null and menuIds.size > 0">
63-
WHERE rm.menu_id IN (
64-
<foreach collection="menuIds" item="id" separator=",">
65-
#{id}
66-
</foreach>
67-
)
68-
</if>
58+
WHERE rm.menu_id IN (
59+
<foreach collection="menuIds" item="id" separator=",">
60+
#{id}
61+
</foreach>
62+
)
6963
</delete>
7064
<delete id="deleteRoleMenuByRoleIds">
7165
DELETE FROM sys_role_menu rm
72-
<if test="menuIds != null and menuIds.size > 0">
7366
WHERE rm.role_id IN (
74-
<foreach collection="roleIds" item="id" separator=",">
75-
#{id}
76-
</foreach>
77-
)
78-
</if>
67+
<foreach collection="roleIds" item="id" separator=",">
68+
#{id}
69+
</foreach>
70+
)
7971
</delete>
8072
<delete id="deleteRoleApiByApiIds">
8173
DELETE FROM sys_role_api ra
82-
<if test="apiIds != null and apiIds.size > 0">
83-
WHERE ra.api_id IN (
84-
<foreach collection="apiIds" item="id" separator=",">
85-
#{id}
86-
</foreach>
87-
)
88-
</if>
74+
WHERE ra.api_id IN (
75+
<foreach collection="apiIds" item="id" separator=",">
76+
#{id}
77+
</foreach>
78+
)
8979
</delete>
9080
<delete id="deleteRoleApiByRoleIds">
9181
DELETE FROM sys_role_api ra
92-
<if test="apiIds != null and apiIds.size > 0">
93-
WHERE ra.role_id IN (
94-
<foreach collection="roleIds" item="id" separator=",">
95-
#{id}
96-
</foreach>
97-
)
98-
</if>
82+
WHERE ra.role_id IN (
83+
<foreach collection="roleIds" item="id" separator=",">
84+
#{id}
85+
</foreach>
86+
)
87+
</delete>
88+
<delete id="deleteRoleUser">
89+
DELETE FROM sys_role_user ru
90+
WHERE (ru.user_id, ru.role_id) IN (
91+
<foreach collection="list" item="el" separator=",">
92+
(#{el.id}, #{el.roleId})
93+
</foreach>
94+
)
95+
</delete>
96+
<delete id="deleteRoleMenu">
97+
DELETE FROM sys_role_menu rm
98+
WHERE (rm.menu_id, rm.role_id) IN (
99+
<foreach collection="list" item="el" separator=",">
100+
(#{el.id}, #{el.roleId})
101+
</foreach>
102+
)
103+
</delete>
104+
<delete id="deleteRoleApi">
105+
DELETE FROM sys_role_api ra
106+
WHERE (ra.api_id, ra.role_id) IN (
107+
<foreach collection="list" item="el" separator=",">
108+
(#{el.id}, #{el.roleId})
109+
</foreach>
110+
)
99111
</delete>
112+
<insert id="insertRoleUser">
113+
INSERT INTO sys_role_user (user_id, role_id)
114+
VALUES
115+
<foreach collection="list" item="el" separator=",">
116+
(#{el.id}, #{el.roleId})
117+
</foreach>
118+
</insert>
119+
<insert id="insertRoleMenu">
120+
INSERT INTO sys_role_menu (menu_id, role_id)
121+
VALUES
122+
<foreach collection="list" item="el" separator=",">
123+
(#{el.id}, #{el.roleId})
124+
</foreach>
125+
</insert>
126+
<insert id="insertRoleApi">
127+
INSERT INTO sys_role_api (api_id, role_id)
128+
VALUES
129+
<foreach collection="list" item="el" separator=",">
130+
(#{el.id}, #{el.roleId})
131+
</foreach>
132+
</insert>
100133

101134
</mapper>

0 commit comments

Comments
 (0)