From 59114a14ffc153812b6df1d912a67887d8dfb492 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 06 七月 2021 13:05:47 +0800 Subject: [PATCH] update 同步 ruoyi 对新业务进行修正 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 31 ++--- ruoyi-ui/src/views/system/user/authRole.vue | 234 +++++++++++++++++++------------------- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java | 8 - ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 30 ++-- ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 4 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 36 ++--- 8 files changed, 169 insertions(+), 182 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index c36c3e6..4661d02 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -181,9 +181,7 @@ @GetMapping("/authUser/allocatedList") public TableDataInfo allocatedList(SysUser user) { - startPage(); - List<SysUser> list = userService.selectAllocatedList(user); - return getDataTable(list); + return userService.selectAllocatedList(user); } /** @@ -193,9 +191,7 @@ @GetMapping("/authUser/unallocatedList") public TableDataInfo unallocatedList(SysUser user) { - startPage(); - List<SysUser> list = userService.selectUnallocatedList(user); - return getDataTable(list); + return userService.selectUnallocatedList(user); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 0059993..a67615f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -204,12 +204,12 @@ @GetMapping("/authRole/{userId}") public AjaxResult authRole(@PathVariable("userId") Long userId) { - AjaxResult ajax = AjaxResult.success(); SysUser user = userService.selectUserById(userId); List<SysRole> roles = roleService.selectRolesByUserId(userId); + Map<String, Object> ajax = new HashMap<>(); ajax.put("user", user); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); - return ajax; + return AjaxResult.success(ajax); } /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 144cee3..e4276c8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -30,7 +30,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - public List<SysUser> selectAllocatedList(SysUser user); + public List<SysUser> selectAllocatedList(@Param("page") Page<SysUser> page, @Param("user") SysUser user); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛� @@ -38,7 +38,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - public List<SysUser> selectUnallocatedList(SysUser user); + public List<SysUser> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param("user") SysUser user); /** * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴� diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index e4eafc5..e277d10 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -30,7 +30,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - public List<SysUser> selectAllocatedList(SysUser user); + public TableDataInfo<SysUser> selectAllocatedList(SysUser user); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛� @@ -38,7 +38,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - public List<SysUser> selectUnallocatedList(SysUser user); + public TableDataInfo<SysUser> selectUnallocatedList(SysUser user); /** * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴� diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index e04fdcf..df024ae 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -66,16 +66,12 @@ * @return 瑙掕壊鍒楄〃 */ @Override - public List<SysRole> selectRolesByUserId(Long userId) - { - List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId); + public List<SysRole> selectRolesByUserId(Long userId) { + List<SysRole> userRoles = baseMapper.selectRolePermissionByUserId(userId); List<SysRole> roles = selectRoleAll(); - for (SysRole role : roles) - { - for (SysRole userRole : userRoles) - { - if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) - { + for (SysRole role : roles) { + for (SysRole userRole : userRoles) { + if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) { role.setFlag(true); break; } @@ -338,9 +334,10 @@ * @return 缁撴灉 */ @Override - public int deleteAuthUser(SysUserRole userRole) - { - return userRoleMapper.deleteUserRoleInfo(userRole); + public int deleteAuthUser(SysUserRole userRole) { + return userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>() + .eq(SysUserRole::getRoleId, userRole.getRoleId()) + .eq(SysUserRole::getUserId, userRole.getUserId())); } /** @@ -351,9 +348,10 @@ * @return 缁撴灉 */ @Override - public int deleteAuthUsers(Long roleId, Long[] userIds) - { - return userRoleMapper.deleteUserRoleInfos(roleId, userIds); + public int deleteAuthUsers(Long roleId, Long[] userIds) { + return userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>() + .eq(SysUserRole::getRoleId, roleId) + .in(SysUserRole::getUserId, Arrays.asList(userIds))); } /** @@ -364,17 +362,15 @@ * @return 缁撴灉 */ @Override - public int insertAuthUsers(Long roleId, Long[] userIds) - { + public int insertAuthUsers(Long roleId, Long[] userIds) { // 鏂板鐢ㄦ埛涓庤鑹茬鐞� List<SysUserRole> list = new ArrayList<SysUserRole>(); - for (Long userId : userIds) - { + for (Long userId : userIds) { SysUserRole ur = new SysUserRole(); ur.setUserId(userId); ur.setRoleId(roleId); list.add(ur); } - return userRoleMapper.batchUserRole(list); + return userRoleMapper.insertAll(list); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index fb47f62..36de18d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -76,10 +76,9 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List<SysUser> selectAllocatedList(SysUser user) - { - return userMapper.selectAllocatedList(user); + @DataScope(deptAlias = "d", userAlias = "u", isUser = true) + public TableDataInfo<SysUser> selectAllocatedList(SysUser user) { + return PageUtils.buildDataInfo(baseMapper.selectAllocatedList(PageUtils.buildPage(), user)); } /** @@ -89,10 +88,9 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List<SysUser> selectUnallocatedList(SysUser user) - { - return userMapper.selectUnallocatedList(user); + @DataScope(deptAlias = "d", userAlias = "u", isUser = true) + public TableDataInfo<SysUser> selectUnallocatedList(SysUser user) { + return PageUtils.buildDataInfo(baseMapper.selectUnallocatedList(PageUtils.buildPage(), user)); } /** @@ -266,7 +264,8 @@ @Override public void insertUserAuth(Long userId, Long[] roleIds) { - userRoleMapper.deleteUserRoleByUserId(userId); + userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>() + .eq(SysUserRole::getUserId, userId)); insertUserRole(userId, roleIds); } @@ -383,22 +382,18 @@ * @param userId 鐢ㄦ埛ID * @param roleIds 瑙掕壊缁� */ - public void insertUserRole(Long userId, Long[] roleIds) - { - if (StringUtils.isNotNull(roleIds)) - { + public void insertUserRole(Long userId, Long[] roleIds) { + if (Validator.isNotNull(roleIds)) { // 鏂板鐢ㄦ埛涓庤鑹茬鐞� List<SysUserRole> list = new ArrayList<SysUserRole>(); - for (Long roleId : roleIds) - { + for (Long roleId : roleIds) { SysUserRole ur = new SysUserRole(); ur.setUserId(userId); ur.setRoleId(roleId); list.add(ur); } - if (list.size() > 0) - { - userRoleMapper.batchUserRole(list); + if (list.size() > 0) { + userRoleMapper.insertAll(list); } } } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 236ae20..5e11278 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -148,16 +148,16 @@ left join sys_dept d on u.dept_id = d.dept_id left join sys_user_role ur on u.user_id = ur.user_id left join sys_role r on r.role_id = ur.role_id - where u.del_flag = '0' and r.role_id = #{roleId} - <if test="userName != null and userName != ''"> - AND u.user_name like concat('%', #{userName}, '%') + where u.del_flag = '0' and r.role_id = #{user.roleId} + <if test="user.userName != null and user.userName != ''"> + AND u.user_name like concat('%', #{user.userName}, '%') </if> - <if test="phonenumber != null and phonenumber != ''"> - AND u.phonenumber like concat('%', #{phonenumber}, '%') + <if test="user.phonenumber != null and user.phonenumber != ''"> + AND u.phonenumber like concat('%', #{user.phonenumber}, '%') </if> <!-- 鏁版嵁鑼冨洿杩囨护 --> - <if test="params.dataScope != null and params.dataScope != ''"> - AND ( ${params.dataScope} ) + <if test="user.params.dataScope != null and user.params.dataScope != ''"> + AND ( ${user.params.dataScope} ) </if> </select> @@ -167,17 +167,17 @@ left join sys_dept d on u.dept_id = d.dept_id left join sys_user_role ur on u.user_id = ur.user_id left join sys_role r on r.role_id = ur.role_id - where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL) - and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId}) - <if test="userName != null and userName != ''"> - AND u.user_name like concat('%', #{userName}, '%') + where u.del_flag = '0' and (r.role_id != #{user.roleId} or r.role_id IS NULL) + and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{user.roleId}) + <if test="user.userName != null and user.userName != ''"> + AND u.user_name like concat('%', #{user.userName}, '%') </if> - <if test="phonenumber != null and phonenumber != ''"> - AND u.phonenumber like concat('%', #{phonenumber}, '%') + <if test="user.phonenumber != null and user.phonenumber != ''"> + AND u.phonenumber like concat('%', #{user.phonenumber}, '%') </if> <!-- 鏁版嵁鑼冨洿杩囨护 --> - <if test="params.dataScope != null and params.dataScope != ''"> - AND ( ${params.dataScope} ) + <if test="user.params.dataScope != null and user.params.dataScope != ''"> + AND ( ${user.params.dataScope} ) </if> </select> diff --git a/ruoyi-ui/src/views/system/user/authRole.vue b/ruoyi-ui/src/views/system/user/authRole.vue index e0cd7bc..8e7f82a 100644 --- a/ruoyi-ui/src/views/system/user/authRole.vue +++ b/ruoyi-ui/src/views/system/user/authRole.vue @@ -1,117 +1,117 @@ -<template> - <div class="app-container"> - <h4 class="form-header h4">鍩烘湰淇℃伅</h4> - <el-form ref="form" :model="form" label-width="80px"> - <el-row> - <el-col :span="8" :offset="2"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="form.nickName" disabled /> - </el-form-item> - </el-col> - <el-col :span="8" :offset="2"> - <el-form-item label="鐧诲綍璐﹀彿" prop="phonenumber"> - <el-input v-model="form.userName" disabled /> - </el-form-item> - </el-col> - </el-row> - </el-form> - - <h4 class="form-header h4">瑙掕壊淇℃伅</h4> - <el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)"> - <el-table-column label="搴忓彿" type="index" align="center"> - <template slot-scope="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> - </template> - </el-table-column> - <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column> - <el-table-column label="瑙掕壊缂栧彿" align="center" prop="roleId" /> - <el-table-column label="瑙掕壊鍚嶇О" align="center" prop="roleName" /> - <el-table-column label="鏉冮檺瀛楃" align="center" prop="roleKey" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - </el-table> - - <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> - - <el-form label-width="100px"> - <el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;"> - <el-button type="primary" @click="submitForm()">鎻愪氦</el-button> - <el-button @click="close()">杩斿洖</el-button> - </el-form-item> - </el-form> - </div> -</template> - -<script> -import { getAuthRole, updateAuthRole } from "@/api/system/user"; - -export default { - name: "AuthRole", - data() { - return { - // 閬僵灞� - loading: true, - // 鍒嗛〉淇℃伅 - total: 0, - pageNum: 1, - pageSize: 10, - // 閫変腑瑙掕壊缂栧彿 - roleIds:[], - // 瑙掕壊淇℃伅 - roles: [], - // 鐢ㄦ埛淇℃伅 - form: {} - }; - }, - created() { - const userId = this.$route.params && this.$route.params.userId; - if (userId) { - this.loading = true; - getAuthRole(userId).then((response) => { - this.form = response.user; - this.roles = response.roles; - this.total = this.roles.length; - this.$nextTick(() => { - this.roles.forEach((row) => { - if (row.flag) { - this.$refs.table.toggleRowSelection(row); - } - }); - }); - this.loading = false; - }); - } - }, - methods: { - /** 鍗曞嚮閫変腑琛屾暟鎹� */ - clickRow(row) { - this.$refs.table.toggleRowSelection(row); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.roleIds = selection.map((item) => item.roleId); - }, - // 淇濆瓨閫変腑鐨勬暟鎹紪鍙� - getRowKey(row) { - return row.roleId; - }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - const userId = this.form.userId; - const roleIds = this.roleIds.join(","); - updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => { - this.msgSuccess("鎺堟潈鎴愬姛"); - this.close(); - }); - }, - /** 鍏抽棴鎸夐挳 */ - close() { - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.push({ path: "/system/user" }); - }, - }, -}; -</script> \ No newline at end of file +<template> + <div class="app-container"> + <h4 class="form-header h4">鍩烘湰淇℃伅</h4> + <el-form ref="form" :model="form" label-width="80px"> + <el-row> + <el-col :span="8" :offset="2"> + <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> + <el-input v-model="form.nickName" disabled /> + </el-form-item> + </el-col> + <el-col :span="8" :offset="2"> + <el-form-item label="鐧诲綍璐﹀彿" prop="phonenumber"> + <el-input v-model="form.userName" disabled /> + </el-form-item> + </el-col> + </el-row> + </el-form> + + <h4 class="form-header h4">瑙掕壊淇℃伅</h4> + <el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)"> + <el-table-column label="搴忓彿" type="index" align="center"> + <template slot-scope="scope"> + <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> + </template> + </el-table-column> + <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column> + <el-table-column label="瑙掕壊缂栧彿" align="center" prop="roleId" /> + <el-table-column label="瑙掕壊鍚嶇О" align="center" prop="roleName" /> + <el-table-column label="鏉冮檺瀛楃" align="center" prop="roleKey" /> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + </el-table> + + <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> + + <el-form label-width="100px"> + <el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;"> + <el-button type="primary" @click="submitForm()">鎻愪氦</el-button> + <el-button @click="close()">杩斿洖</el-button> + </el-form-item> + </el-form> + </div> +</template> + +<script> +import { getAuthRole, updateAuthRole } from "@/api/system/user"; + +export default { + name: "AuthRole", + data() { + return { + // 閬僵灞� + loading: true, + // 鍒嗛〉淇℃伅 + total: 0, + pageNum: 1, + pageSize: 10, + // 閫変腑瑙掕壊缂栧彿 + roleIds:[], + // 瑙掕壊淇℃伅 + roles: [], + // 鐢ㄦ埛淇℃伅 + form: {} + }; + }, + created() { + const userId = this.$route.params && this.$route.params.userId; + if (userId) { + this.loading = true; + getAuthRole(userId).then((response) => { + this.form = response.data.user; + this.roles = response.data.roles; + this.total = this.roles.length; + this.$nextTick(() => { + this.roles.forEach((row) => { + if (row.flag) { + this.$refs.table.toggleRowSelection(row); + } + }); + }); + this.loading = false; + }); + } + }, + methods: { + /** 鍗曞嚮閫変腑琛屾暟鎹� */ + clickRow(row) { + this.$refs.table.toggleRowSelection(row); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.roleIds = selection.map((item) => item.roleId); + }, + // 淇濆瓨閫変腑鐨勬暟鎹紪鍙� + getRowKey(row) { + return row.roleId; + }, + /** 鎻愪氦鎸夐挳 */ + submitForm() { + const userId = this.form.userId; + const roleIds = this.roleIds.join(","); + updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => { + this.msgSuccess("鎺堟潈鎴愬姛"); + this.close(); + }); + }, + /** 鍏抽棴鎸夐挳 */ + close() { + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push({ path: "/system/user" }); + }, + }, +}; +</script> -- Gitblit v1.9.3