Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-system
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-system
Commits
ce32807d
提交
ce32807d
authored
5月 21, 2025
作者:
000516
提交者:
Coding
5月 21, 2025
浏览文件
操作
浏览文件
下载
差异文件
查询user对象时,取消User对象本身的role值,改为查询一对多的中间表值
查询user对象时,取消User对象本身的role值,改为查询一对多的中间表值
上级
5bb93ae3
0bee0eee
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
96 行增加
和
64 行删除
+96
-64
SysUserCoreController.java
...com/sfa/system/controller/core/SysUserCoreController.java
+6
-1
SysUserQueryController.java
...m/sfa/system/controller/query/SysUserQueryController.java
+4
-1
SysMenuDaoImpl.java
...n/java/com/sfa/system/domain/dao/impl/SysMenuDaoImpl.java
+2
-1
SysUserDaoImpl.java
...n/java/com/sfa/system/domain/dao/impl/SysUserDaoImpl.java
+7
-40
SysUserMapper.java
...main/java/com/sfa/system/domain/mapper/SysUserMapper.java
+5
-1
SysUserWq.java
src/main/java/com/sfa/system/domain/wq/SysUserWq.java
+1
-0
UserQueryServiceImpl.java
...m/sfa/system/service/query/impl/UserQueryServiceImpl.java
+1
-0
bootstrap-master.yml
src/main/resources/bootstrap-master.yml
+15
-0
SysUserMapper.xml
src/main/resources/mapper/system/SysUserMapper.xml
+55
-20
没有找到文件。
src/main/java/com/sfa/system/controller/core/SysUserCoreController.java
浏览文件 @
ce32807d
...
...
@@ -12,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2024-10-30 17
...
...
@@ -52,11 +54,14 @@ public class SysUserCoreController {
@PutMapping
public
void
edit
(
@Validated
@RequestBody
UserVo
userVo
)
{
deptDao
.
checkDeptDataScope
(
userVo
.
getDeptId
());
roleDao
.
checkRoleDataScope
(
userVo
.
getRoleId
());
roleDao
.
checkRoleDataScope
(
userVo
.
getRoleId
s
());
userVo
.
setUpdateUserId
(
SecurityUtils
.
getUserId
());
userVo
.
setUpdateBy
(
SecurityUtils
.
getUsername
());
sysUserService
.
updateUser
(
userVo
);
if
(
Objects
.
isNull
(
userVo
.
getPrivilegeId
())){
return
;
}
// 开通促销账号
sysUserService
.
openPromotion
(
userVo
);
}
...
...
src/main/java/com/sfa/system/controller/query/SysUserQueryController.java
浏览文件 @
ce32807d
...
...
@@ -34,6 +34,7 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
...
...
@@ -205,6 +206,8 @@ public class SysUserQueryController extends BaseController {
UserDto
userDto
=
new
UserDto
();
BeanUtils
.
copyProperties
(
sysUser
,
userDto
);
SysUserProDto
sysUserProDto
=
userQueryService
.
selectUserPromotion
(
userDto
);
List
<
Long
>
roleIds
=
sysUser
.
getRoles
().
stream
().
map
(
SysRole:
:
getRoleId
).
collect
(
Collectors
.
toList
());
userDto
.
setRoleIds
(
roleIds
.
toArray
(
new
Long
[
0
]));
userDto
.
setIsOpenPromotion
(
sysUserProDto
!=
null
);
if
(
userDto
.
getIsOpenPromotion
())
{
userDto
.
setPrivilegeId
(
sysUserProDto
.
getPrivilegeId
());
...
...
@@ -213,7 +216,7 @@ public class SysUserQueryController extends BaseController {
ajax
.
put
(
AjaxResult
.
DATA_TAG
,
userDto
);
// ajax.put("postIds", sysPostDao.selectPostListByUserId(userId));
// ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
}
return
ajax
;
}
...
...
src/main/java/com/sfa/system/domain/dao/impl/SysMenuDaoImpl.java
浏览文件 @
ce32807d
...
...
@@ -58,7 +58,8 @@ public class SysMenuDaoImpl implements ISysMenuDao
/**
* 查询系统菜单列表
*
* 只有admin超管一个账号可以进行角色-菜单管理
* 【其他账号登录只能看到自己角色的菜单的逻辑】被注视,不可使用。
* @param menu 菜单信息
* @return 菜单列表
*/
...
...
src/main/java/com/sfa/system/domain/dao/impl/SysUserDaoImpl.java
浏览文件 @
ce32807d
...
...
@@ -254,17 +254,13 @@ public class SysUserDaoImpl implements ISysUserDao {
SysUser
user
=
new
SysUser
();
BeanUtils
.
copyProperties
(
userVo
,
user
);
// 补充角色
SysRole
sysRole
=
roleMapper
.
selectById
(
user
.
getRoleId
());
user
.
setRoleName
(
sysRole
.
getRoleName
());
// 新增用户信息
int
rows
=
userMapper
.
insert
(
user
);
// 新增用户岗位关联
// insertUserPost(user);
// 新增用户与角色管理
//
insertUserRole(user);
insertUserRoleOne
(
user
.
getUserId
(),
user
.
getRoleId
());
insertUserRole
(
user
);
//
insertUserRoleOne(user.getUserId(), user.getRoleId());
return
rows
;
}
...
...
@@ -319,11 +315,11 @@ public class SysUserDaoImpl implements ISysUserDao {
// 删除用户与角色关联
userRoleMapper
.
deleteUserRoleByUserId
(
userVo
.
getUserId
());
// 新增用户与角色管理
// insertUserRole(user);
insertUserRoleOne
(
user
.
getUserId
(),
user
.
getRoleId
());
insertUserRole
(
user
);
user
.
setPassword
(
null
);
userMapper
.
updateById
(
user
);
return
userMapper
.
updateRoleName
(
user
);
return
userMapper
.
updateById
(
user
);
// insertUserRoleOne(user.getUserId(), user.getRoleId());
// return userMapper.updateRoleName(user);
}
/**
...
...
@@ -551,37 +547,8 @@ public class SysUserDaoImpl implements ISysUserDao {
@Override
public
PageInfo
selectUserPage
(
SysUserWq
sysUserWq
)
{
LambdaQueryWrapper
<
SysUser
>
qw
=
buildWrapper
(
sysUserWq
);
Page
<
SysUser
>
pageR
=
userMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
Page
<
SysUser
>
pageR
=
userMapper
.
selectUserPage
(
TableSupport
.
pageI
(),
sysUserWq
);
PageInfo
<
SysUser
>
pageInfo
=
new
PageInfo
<>(
pageR
);
return
pageInfo
;
}
private
LambdaQueryWrapper
<
SysUser
>
buildWrapper
(
SysUserWq
sysUserWq
)
{
LambdaQueryWrapper
<
SysUser
>
qw
=
new
LambdaQueryWrapper
<>();
qw
.
eq
(
SysUser:
:
getDelFlag
,
"0"
);
if
(
StringUtils
.
isNotBlank
(
sysUserWq
.
getStatus
()))
{
qw
.
eq
(
SysUser:
:
getStatus
,
sysUserWq
.
getStatus
());
}
if
(
Objects
.
nonNull
(
sysUserWq
.
getRoleId
()))
{
qw
.
eq
(
SysUser:
:
getRoleId
,
sysUserWq
.
getRoleId
());
}
if
(
Objects
.
nonNull
(
sysUserWq
.
getDeptId
()))
{
qw
.
eq
(
SysUser:
:
getDeptId
,
sysUserWq
.
getDeptId
());
}
if
(
Objects
.
nonNull
(
sysUserWq
.
getBeginTime
())&&
Objects
.
nonNull
(
sysUserWq
.
getEndTime
())){
qw
.
between
(
SysUser:
:
getCreateTime
,
sysUserWq
.
getBeginTime
(),
sysUserWq
.
getEndTime
());
}
if
(
Objects
.
nonNull
(
sysUserWq
.
getExistRole
())
&&
!
sysUserWq
.
getExistRole
()){
qw
.
isNull
(
SysUser:
:
getRoleId
);
}
if
(
StringUtils
.
isNotBlank
(
sysUserWq
.
getUserNameLike
()))
{
qw
.
like
(
SysUser:
:
getUserName
,
sysUserWq
.
getUserNameLike
());
}
if
(
StringUtils
.
isNotBlank
(
sysUserWq
.
getPhonenumberLike
()))
{
qw
.
like
(
SysUser:
:
getPhonenumber
,
sysUserWq
.
getPhonenumberLike
());
}
return
qw
;
}
}
src/main/java/com/sfa/system/domain/mapper/SysUserMapper.java
浏览文件 @
ce32807d
...
...
@@ -3,6 +3,8 @@ package com.sfa.system.domain.mapper;
import
java.util.List
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.sfa.system.domain.wq.SysUserWq
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
com.sfa.system.api.domain.SysUser
;
...
...
@@ -131,9 +133,11 @@ public interface SysUserMapper extends BaseMapper<SysUser>
*/
public
SysUser
checkEmailUnique
(
String
email
);
List
<
SysUser
>
selectUserPage
();
//
List<SysUser> selectUserPage();
void
updateUserPostByPostId
(
@Param
(
"postId"
)
Long
postId
,
@Param
(
"postName"
)
String
postName
,
@Param
(
"ruleId"
)
Long
ruleId
,
@Param
(
"ruleName"
)
String
ruleName
);
int
updateRoleName
(
SysUser
user
);
Page
<
SysUser
>
selectUserPage
(
Page
<
SysUser
>
page
,
@Param
(
"sysUserWq"
)
SysUserWq
sysUserWq
);
}
src/main/java/com/sfa/system/domain/wq/SysUserWq.java
浏览文件 @
ce32807d
...
...
@@ -18,6 +18,7 @@ public class SysUserWq {
private
String
phonenumber
;
private
String
userNameLike
;
private
String
nickNameLike
;
private
String
phonenumberLike
;
...
...
src/main/java/com/sfa/system/service/query/impl/UserQueryServiceImpl.java
浏览文件 @
ce32807d
...
...
@@ -33,6 +33,7 @@ public class UserQueryServiceImpl implements IUserQueryService {
SysUserWq
sysUserWq
=
new
SysUserWq
();
BeanUtils
.
copyProperties
(
userVo
,
sysUserWq
);
sysUserWq
.
setUserNameLike
(
userVo
.
getUserName
())
.
setNickNameLike
(
userVo
.
getNickName
())
.
setPhonenumberLike
(
userVo
.
getPhonenumber
());
return
userDao
.
selectUserPage
(
sysUserWq
);
...
...
src/main/resources/bootstrap-master.yml
0 → 100644
浏览文件 @
ce32807d
spring
:
application
:
name
:
wangxiaolu-sfa-system
cloud
:
nacos
:
discovery
:
server-addr
:
10.0.0.170:8848
group
:
sfa
namespace
:
e2996044-6ddc-4988-8810-602e05d01ccf
config
:
server-addr
:
10.0.0.170:8848
file-extension
:
yaml
group
:
sfa
namespace
:
e2996044-6ddc-4988-8810-602e05d01ccf
src/main/resources/mapper/system/SysUserMapper.xml
浏览文件 @
ce32807d
...
...
@@ -24,8 +24,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"roleId"
column=
"role_id"
/
>
<result
property=
"roleName"
column=
"role_name"
/
>
<!-- <result property="roleId" column="role_id" />--
>
<!-- <result property="roleName" column="role_name" />--
>
<result
property=
"workProvinceNum"
column=
"work_province_num"
/>
<result
property=
"workProvinceName"
column=
"work_province_name"
/>
<result
property=
"workCityNum"
column=
"work_city_num"
/>
...
...
@@ -58,9 +58,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"status"
column=
"role_status"
/>
</resultMap>
<!-- u.role_id,u.role_name,-->
<sql
id=
"selectUserVo"
>
select u.user_id, u.dept_id, u.user_name, u.nick_name,u.password, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
u.
role_id,u.role_name,u.
post_id,u.post_name,u.rule_id,u.rule_name,u.work_province_num,u.work_province_name,u.work_city_num,u.work_city_name,
u.post_id,u.post_name,u.rule_id,u.rule_name,u.work_province_num,u.work_province_name,u.work_city_num,u.work_city_name,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
...
...
@@ -222,28 +223,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select
id=
"selectUserPage"
parameterType=
"com.sfa.system.api.domain.SysUser"
resultMap=
"SysUserResult"
>
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status,
u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.post_id,u.post_name,u.rule_id,u.rule_name, d.dept_name, d.leader from sys_user
u
left join sys_dept d on u.dept_id = d.dept_id
where u.del_flag = '0'
<if
test=
"userId != null and userId != 0"
>
AND u.user_id = #{userId}
<!-- <select id="selectUserPage" parameterType="com.sfa.system.api.domain.SysUser" resultMap="SysUserResult">-->
<!-- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status,-->
<!-- u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.post_id,u.post_name,u.rule_id,u.rule_name, d.dept_name, d.leader from sys_user-->
<!-- u-->
<!-- left join sys_dept d on u.dept_id = d.dept_id-->
<!-- where u.del_flag = '0'-->
<!-- <if test="userId != null and userId != 0">-->
<!-- AND u.user_id = #{userId}-->
<!-- </if>-->
<!-- <if test="userName != null and userName != ''">-->
<!-- AND u.user_name like concat('%', #{userName}, '%')-->
<!-- </if>-->
<!-- <if test="status != null and status != ''">-->
<!-- AND u.status = #{status}-->
<!-- </if>-->
<!-- <if test="phonenumber != null and phonenumber != ''">-->
<!-- AND u.phonenumber like concat('%', #{phonenumber}, '%')-->
<!-- </if>-->
<!-- <if test="deptId != null and deptId != 0">-->
<!-- AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},-->
<!-- ancestors) ))-->
<!-- </if>-->
<!-- </select>-->
<select
id=
"selectUserPage"
resultType=
"com.sfa.system.api.domain.SysUser"
>
select *
from sys_user su
where del_flag = '0'
<if
test=
"sysUserWq.status != null and sysUserWq.status != ''"
>
and su.status = #{sysUserWq.status}
</if>
<if
test=
"
userName != null and userName != ''
"
>
AND u.user_name like concat('%', #{userName}, '%')
<if
test=
"
sysUserWq.deptId != null
"
>
and su.dept_id = #{sysUserWq.deptId}
</if>
<if
test=
"s
tatus != null and status
!= ''"
>
AND u.status = #{status}
<if
test=
"s
ysUserWq.nickNameLike != null and sysUserWq.nickNameLike
!= ''"
>
and su.nick_name like concat('%',#{sysUserWq.nickNameLike},'%')
</if>
<if
test=
"
phonenumber != null and phonenumber
!= ''"
>
AND u.phonenumber like concat('%', #{phonenumber},
'%')
<if
test=
"
sysUserWq.userNameLike != null and sysUserWq.userNameLike
!= ''"
>
and su.user_name like concat('%',#{sysUserWq.userNameLike},
'%')
</if>
<if
test=
"deptId != null and deptId != 0"
>
AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
ancestors) ))
<if
test=
"sysUserWq.phonenumberLike != null and sysUserWq.phonenumberLike != ''"
>
and su.phonenumber like concat('%',#{sysUserWq.phonenumberLike},'%')
</if>
<if
test=
"sysUserWq.beginTime != null and sysUserWq.endTime != null"
>
AND su.create_time BETWEEN #{sysUserWq.beginTime} AND #{sysUserWq.endTime}
</if>
<if
test=
"sysUserWq.roleId != null"
>
<if
test=
"sysUserWq.existRole != null and !sysUserWq.existRole"
>
and su.user_id not in (select user_id from sys_user_role where role_id = #{sysUserWq.roleId})
</if>
<if
test=
"sysUserWq.existRole == null or sysUserWq.existRole"
>
and su.user_id in (select user_id from sys_user_role where role_id = #{sysUserWq.roleId})
</if>
</if>
</select>
<update
id=
"updateUserPostByPostId"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论