xuhy
2025-02-13 d75748cedbed89fe43dc326497cf015447c70493
管理后台人员管理,维修受理,验收管理
13个文件已修改
137 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-test.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/resources/application-test.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/SysUserVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
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:
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)));
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:
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;
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);
}
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);
}
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;
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;
    }
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;
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">
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}
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>