From 31d445c6a14edfe4f74cd60dcb6f8d84a50aaca1 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期一, 06 五月 2024 22:18:14 +0800 Subject: [PATCH] update 调整用户id翻译,优化审批记录待审批候选人显示问题 --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java | 135 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 112 insertions(+), 23 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 068f523..ad73de4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.system.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -16,6 +17,7 @@ import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.UserService; import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -27,16 +29,14 @@ import org.dromara.system.domain.SysUserPost; import org.dromara.system.domain.SysUserRole; import org.dromara.system.domain.bo.SysUserBo; -import org.dromara.system.domain.vo.SysDeptVo; -import org.dromara.system.domain.vo.SysPostVo; -import org.dromara.system.domain.vo.SysRoleVo; -import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.domain.vo.*; import org.dromara.system.mapper.*; import org.dromara.system.service.ISysUserService; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -70,8 +70,8 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - public List<SysUserVo> selectUserList(SysUserBo user) { - return baseMapper.selectUserList(this.buildQueryWrapper(user)); + public List<SysUserExportVo> selectUserExportList(SysUserBo user) { + return baseMapper.selectUserExportList(this.buildQueryWrapper(user)); } private Wrapper<SysUser> buildQueryWrapper(SysUserBo user) { @@ -91,7 +91,7 @@ List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId); ids.add(user.getDeptId()); w.in("u.dept_id", ids); - }); + }).orderByAsc("u.user_id"); return wrapper; } @@ -108,7 +108,8 @@ .eq(ObjectUtil.isNotNull(user.getRoleId()), "r.role_id", user.getRoleId()) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) - .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()); + .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()) + .orderByAsc("u.user_id"); Page<SysUserVo> page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } @@ -127,7 +128,8 @@ .and(w -> w.ne("r.role_id", user.getRoleId()).or().isNull("r.role_id")) .notIn(CollUtil.isNotEmpty(userIds), "u.user_id", userIds) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) - .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()); + .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()) + .orderByAsc("u.user_id"); Page<SysUserVo> page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } @@ -140,7 +142,7 @@ */ @Override public SysUserVo selectUserByUserName(String userName) { - return baseMapper.selectUserByUserName(userName); + return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName)); } /** @@ -151,7 +153,7 @@ */ @Override public SysUserVo selectUserByPhonenumber(String phonenumber) { - return baseMapper.selectUserByPhonenumber(phonenumber); + return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phonenumber)); } /** @@ -162,18 +164,39 @@ */ @Override public SysUserVo selectUserById(Long userId) { - return baseMapper.selectUserById(userId); + SysUserVo user = baseMapper.selectVoById(userId); + if (ObjectUtil.isNull(user)) { + return user; + } + user.setRoles(roleMapper.selectRolesByUserId(user.getUserId())); + return user; + } + + /** + * 閫氳繃鐢ㄦ埛ID涓叉煡璇㈢敤鎴� + * + * @param userIds 鐢ㄦ埛ID涓� + * @param deptId 閮ㄩ棬id + * @return 鐢ㄦ埛鍒楄〃淇℃伅 + */ + @Override + public List<SysUserVo> selectUserByIds(List<Long> userIds, Long deptId) { + return baseMapper.selectUserList(new LambdaQueryWrapper<SysUser>() + .select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName) + .eq(SysUser::getStatus, UserConstants.USER_NORMAL) + .eq(ObjectUtil.isNotNull(deptId), SysUser::getDeptId, deptId) + .in(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds)); } /** * 鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ @Override - public String selectUserRoleGroup(String userName) { - List<SysRoleVo> list = roleMapper.selectRolesByUserName(userName); + public String selectUserRoleGroup(Long userId) { + List<SysRoleVo> list = roleMapper.selectRolesByUserId(userId); if (CollUtil.isEmpty(list)) { return StringUtils.EMPTY; } @@ -183,12 +206,12 @@ /** * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ @Override - public String selectUserPostGroup(String userName) { - List<SysPostVo> list = postMapper.selectPostsByUserName(userName); + public String selectUserPostGroup(Long userId) { + List<SysPostVo> list = postMapper.selectPostsByUserId(userId); if (CollUtil.isEmpty(list)) { return StringUtils.EMPTY; } @@ -260,7 +283,7 @@ if (LoginHelper.isSuperAdmin()) { return; } - if (ObjectUtil.isNull(baseMapper.selectUserById(userId))) { + if (baseMapper.countUserById(userId) == 0) { throw new ServiceException("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁锛�"); } } @@ -293,8 +316,8 @@ */ @Override public boolean registerUser(SysUserBo user, String tenantId) { - user.setCreateBy(user.getUserId()); - user.setUpdateBy(user.getUserId()); + user.setCreateBy(0L); + user.setUpdateBy(0L); SysUser sysUser = MapstructUtils.convert(user, SysUser.class); sysUser.setTenantId(tenantId); return baseMapper.insert(sysUser) > 0; @@ -517,16 +540,23 @@ /** * 閫氳繃閮ㄩ棬id鏌ヨ褰撳墠閮ㄩ棬鎵�鏈夌敤鎴� * - * @param deptId - * @return + * @param deptId 閮ㄩ棬ID + * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override public List<SysUserVo> selectUserListByDept(Long deptId) { LambdaQueryWrapper<SysUser> lqw = Wrappers.lambdaQuery(); lqw.eq(SysUser::getDeptId, deptId); + lqw.orderByAsc(SysUser::getUserId); return baseMapper.selectVoList(lqw); } + /** + * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛璐︽埛 + * + * @param userId 鐢ㄦ埛ID + * @return 鐢ㄦ埛璐︽埛 + */ @Cacheable(cacheNames = CacheNames.SYS_USER_NAME, key = "#userId") @Override public String selectUserNameById(Long userId) { @@ -534,4 +564,63 @@ .select(SysUser::getUserName).eq(SysUser::getUserId, userId)); return ObjectUtil.isNull(sysUser) ? null : sysUser.getUserName(); } + + /** + * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛璐︽埛 + * + * @param userId 鐢ㄦ埛ID + * @return 鐢ㄦ埛璐︽埛 + */ + @Override + @Cacheable(cacheNames = CacheNames.SYS_NICKNAME, key = "#userId") + public String selectNicknameById(Long userId) { + SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>() + .select(SysUser::getNickName).eq(SysUser::getUserId, userId)); + return ObjectUtil.isNull(sysUser) ? null : sysUser.getNickName(); + } + + /** + * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛璐︽埛 + * + * @param userIds 鐢ㄦ埛ID 澶氫釜鐢ㄩ�楀彿闅斿紑 + * @return 鐢ㄦ埛璐︽埛 + */ + @Override + public String selectNicknameByIds(String userIds) { + List<String> list = new ArrayList<>(); + for (Long id : StringUtils.splitTo(userIds, Convert::toLong)) { + String nickname = SpringUtils.getAopProxy(this).selectNicknameById(id); + if (StringUtils.isNotBlank(nickname)) { + list.add(nickname); + } + } + return String.join(StringUtils.SEPARATOR, list); + } + + /** + * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛鎵嬫満鍙� + * + * @param userId 鐢ㄦ埛id + * @return 鐢ㄦ埛鎵嬫満鍙� + */ + @Override + public String selectPhonenumberById(Long userId) { + SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>() + .select(SysUser::getPhonenumber).eq(SysUser::getUserId, userId)); + return ObjectUtil.isNull(sysUser) ? null : sysUser.getPhonenumber(); + } + + /** + * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛閭 + * + * @param userId 鐢ㄦ埛id + * @return 鐢ㄦ埛閭 + */ + @Override + public String selectEmailById(Long userId) { + SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>() + .select(SysUser::getEmail).eq(SysUser::getUserId, userId)); + return ObjectUtil.isNull(sysUser) ? null : sysUser.getEmail(); + } + } -- Gitblit v1.9.3