From d75748cedbed89fe43dc326497cf015447c70493 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 13 二月 2025 16:58:28 +0800 Subject: [PATCH] 管理后台人员管理,维修受理,验收管理 --- ruoyi-admin/src/main/resources/application-test.yml | 6 +- ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java | 9 +++ ruoyi-system/src/main/java/com/ruoyi/system/vo/SysUserVO.java | 4 + ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 15 +++- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java | 1 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java | 3 + ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml | 6 ++ ruoyi-applet/src/main/resources/application-test.yml | 6 +- ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java | 8 +- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 69 +++++++++++++++++++--- ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml | 3 + ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 5 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 2 13 files changed, 110 insertions(+), 27 deletions(-) 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 c5afa68..27aea74 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 @@ -165,7 +165,7 @@ return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); } user.setCreateBy(getUsername()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setPassword(SecurityUtils.encryptPassword("123456")); userService.insertUser(user); return AjaxResult.success(); } diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml index 4ca4b21..93fd2c2 100644 --- a/ruoyi-admin/src/main/resources/application-test.yml +++ b/ruoyi-admin/src/main/resources/application-test.yml @@ -193,9 +193,9 @@ accessPath: /file/ allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF wx: - config: - appId: wxc3985a05da7d86dc - secret: 5cca42633c25439613b328c08ef20cc9 + conf: + appId: wxe91f1af7638aa5dd + secretId: a787e1a462715604e0c9528b6d8960d1 #OSS及短信配置 code: config: diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java index 7f39fab..6b095e6 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java @@ -121,6 +121,7 @@ if (tenant==null){ // appUser.setTenantAttributes(); // appUser.setTenantType(); + tenant = new TTenant(); tenant.setPhone(appletUserDecodeData.getPhoneNumber()); tenant.setAccount(appletUserDecodeData.getPhoneNumber()); tenant.setPassword(SecurityUtils.encryptPassword(appletUserDecodeData.getPhoneNumber().substring(5))); diff --git a/ruoyi-applet/src/main/resources/application-test.yml b/ruoyi-applet/src/main/resources/application-test.yml index 53c6be7..a0e94e7 100644 --- a/ruoyi-applet/src/main/resources/application-test.yml +++ b/ruoyi-applet/src/main/resources/application-test.yml @@ -193,9 +193,9 @@ accessPath: /file/ allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF wx: - config: - appId: wxc3985a05da7d86dc - secret: 5cca42633c25439613b328c08ef20cc9 + conf: + appId: wxe91f1af7638aa5dd + secretId: a787e1a462715604e0c9528b6d8960d1 #OSS及短信配置 code: config: diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index 21ff250..9a6eea2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -125,8 +125,11 @@ @TableField(exist = false) private String roleName; - + @TableField(exist = false) private String deptName; + @ApiModelProperty(value = "部门id集合") + @TableField(exist = false) + private List<String> deptIds; public String getRoleName() { return roleName; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java index c98a23f..843a7fc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java @@ -2,6 +2,7 @@ import java.util.List; +import com.ruoyi.system.model.TDeptToUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.ruoyi.system.domain.SysUserRole; @@ -70,4 +71,6 @@ * @return 结果 */ public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); + + void insertBatchUserDept(List<TDeptToUser> deptToUserList); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java index effd9a5..37dfe49 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java @@ -2,6 +2,7 @@ import com.ruoyi.system.model.TDeptToUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; /** * <p> @@ -11,6 +12,14 @@ * @author xiaochen * @since 2025-02-06 */ +@Mapper public interface TDeptToUserMapper extends BaseMapper<TDeptToUser> { + /** + * 根据用户ID删除部门用户中间表 + * + * @param userId 用户ID + * @return 删除结果 + **/ + int deleteUserDeptByUserId(Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java index 8609862..3727f0a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java @@ -5,18 +5,20 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data @ApiModel(value = "账户列表query") public class SysUserQuery extends BasePage { @ApiModelProperty(value = "姓名") - private String nickName; + private String nickNameAndPhone; @ApiModelProperty(value = "角色id") private Integer roleId; - @ApiModelProperty(value = "手机号") - private String phonenumber; + @ApiModelProperty(value = "部门id集合") + private List<String> deptIds; @ApiModelProperty(value = "状态 0=正常 1=停用") private String status; 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 5fc26a4..ed7ae34 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 @@ -6,8 +6,14 @@ import java.util.stream.Collectors; import javax.validation.Validator; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.system.mapper.*; +import com.ruoyi.system.model.TDept; +import com.ruoyi.system.model.TDeptToUser; import com.ruoyi.system.query.SysUserQuery; +import com.ruoyi.system.service.TDeptToUserService; import com.ruoyi.system.vo.SysUserVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,11 +33,6 @@ import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.domain.SysUserRole; -import com.ruoyi.system.mapper.SysPostMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysUserMapper; -import com.ruoyi.system.mapper.SysUserPostMapper; -import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; @@ -59,9 +60,13 @@ @Autowired private SysUserPostMapper userPostMapper; + @Autowired + private TDeptToUserMapper deptToUserMapper; @Autowired private ISysConfigService configService; + @Autowired + private TDeptMapper deptMapper; @Autowired protected Validator validator; @@ -264,7 +269,7 @@ // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户岗位关联 -// insertUserPost(user); + insertUserDept(user); // 新增用户与角色管理 insertUserRoleId(user); return rows; @@ -297,10 +302,10 @@ userRoleMapper.deleteUserRoleByUserId(userId); // 新增用户与角色管理 insertUserRoleId(user); - // 删除用户与岗位关联 -// userPostMapper.deleteUserPostByUserId(userId); - // 新增用户与岗位管理 -// insertUserPost(user); + // 删除用户与部门关联 + deptToUserMapper.deleteUserDeptByUserId(userId); + // 新增用户与部门管理 + insertUserDept(user); return userMapper.updateUser(user); } @@ -401,6 +406,17 @@ } /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserDept(SysUser user) + { + this.insertUserDept(user.getUserId(), user.getDeptIds()); + } + + + /** * 新增用户岗位信息 * * @param user 用户对象 @@ -460,6 +476,26 @@ ur.setUserId(userId); ur.setRoleId(roleId); userRoleMapper.insertUserRole(ur); + } + } + /** + * 新增用户部门信息 + * + * @param userId 用户ID + * @param deptIds 部门id集合 + */ + public void insertUserDept(Long userId, List<String> deptIds) + { + if (Objects.nonNull(userId) && !CollectionUtils.isEmpty(deptIds)){ + List<TDeptToUser> deptToUserList = new ArrayList<>(); + for (String deptId : deptIds) { + // 新增用户与角色管理 + TDeptToUser deptToUser = new TDeptToUser(); + deptToUser.setUserId(userId); + deptToUser.setDeptId(deptId); + deptToUserList.add(deptToUser); + } + userRoleMapper.insertBatchUserDept(deptToUserList); } } @@ -628,6 +664,19 @@ public PageInfo<SysUserVO> pageList(SysUserQuery query) { PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<SysUserVO> list = userMapper.pageList(query,pageInfo); + if(CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List<Long> userIds = list.stream().map(SysUserVO::getUserId).collect(Collectors.toList()); + // 查询所有部门 + List<TDept> depts = deptMapper.selectList(Wrappers.lambdaQuery(TDept.class)); + List<TDeptToUser> tDeptToUsers = deptToUserMapper.selectList(Wrappers.lambdaQuery(TDeptToUser.class) + .in(TDeptToUser::getUserId, userIds)); + for (SysUserVO sysUserVO : list) { + tDeptToUsers.stream().filter(tDeptToUser -> tDeptToUser.getUserId().equals(sysUserVO.getUserId())).forEach(tDeptToUser -> { + sysUserVO.setDeptList(depts.stream().filter(tDept -> tDept.getId().equals(tDeptToUser.getDeptId())).map(TDept::getDeptName).collect(Collectors.toList())); + }); + } pageInfo.setRecords(list); return pageInfo; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/SysUserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/SysUserVO.java index 15cf0d2..09a4e0d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/SysUserVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/SysUserVO.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data @ApiModel(value = "账户列表VO") public class SysUserVO extends SysUser { @@ -14,7 +16,7 @@ @ApiModelProperty(value = "单位名称") private String companyName; @ApiModelProperty(value = "部门") - private String deptName; + private List<String> deptList; @ApiModelProperty(value = "角色") private String roleName; diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 7336905..7487409 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -228,19 +228,24 @@ from sys_user u 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 + left join t_dept_to_user tdtu on u.user_id = tdtu.user_id WHERE u.del_flag = 0 - <if test="query.nickName != null and query.nickName != ''"> - AND u.nick_name LIKE concat('%',#{query.nickName},'%') + <if test="query.nickNameAndPhone != null and query.nickNameAndPhone != ''"> + AND (u.nick_name LIKE concat('%',#{query.nickNameAndPhone},'%') + OR u.phonenumber LIKE concat('%',#{query.nickNameAndPhone},'%')) </if> <if test="query.roleId != null"> AND r.role_id = #{query.roleId} </if> - <if test="query.phonenumber != null and query.phonenumber != ''"> - AND u.phonenumber LIKE concat('%',#{query.phonenumber},'%') - </if> <if test="query.status != null and query.status != ''"> AND u.status = #{query.status} </if> + <if test="query.deptIds != null and query.deptIds.size()>0"> + AND u.user_id IN (select DISTINCT user_id from t_dept_to_user where dept_id IN + <foreach collection="query.deptIds" close=")" open="(" item="deptId" separator=","> + #{deptId} + </foreach>) + </if> ORDER BY u.create_time DESC </select> <select id="selectIdByPhone" resultType="java.lang.Long"> diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml index f7715e4..9b0d3cd 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml @@ -33,6 +33,12 @@ <insert id="insertUserRole"> insert into sys_user_role(user_id, role_id) values (#{userRole.userId},#{userRole.roleId}) </insert> + <insert id="insertBatchUserDept"> + insert into sys_user_role(user_id, dept_id) values + <foreach item="item" index="index" collection="deptToUserList" separator=","> + (#{item.userId},#{item.deptId}) + </foreach> + </insert> <delete id="deleteUserRoleInfo" parameterType="SysUserRole"> delete from sys_user_role where user_id=#{userId} and role_id=#{roleId} diff --git a/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml index 8e20f23..a740cf8 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml @@ -13,5 +13,8 @@ <sql id="Base_Column_List"> id, dept_id, user_id </sql> + <delete id="deleteUserDeptByUserId"> + delete from t_dept_to_user where user_id=#{userId} + </delete> </mapper> -- Gitblit v1.7.1