|
@@ -1,275 +0,0 @@
|
|
|
-package com.zhongzheng.modules.system.service.impl;
|
|
|
|
|
-
|
|
|
|
|
-import cn.hutool.core.lang.Validator;
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
-import com.zhongzheng.common.annotation.DataScope;
|
|
|
|
|
-import com.zhongzheng.common.constant.UserConstants;
|
|
|
|
|
-import com.zhongzheng.common.core.domain.entity.SuperSysUser;
|
|
|
|
|
-import com.zhongzheng.common.core.domain.entity.SysRole;
|
|
|
|
|
-import com.zhongzheng.common.core.domain.entity.SysUser;
|
|
|
|
|
-import com.zhongzheng.common.exception.CustomException;
|
|
|
|
|
-import com.zhongzheng.common.utils.SecurityUtils;
|
|
|
|
|
-import com.zhongzheng.modules.system.domain.SysPost;
|
|
|
|
|
-import com.zhongzheng.modules.system.domain.SysUserPost;
|
|
|
|
|
-import com.zhongzheng.modules.system.domain.SysUserRole;
|
|
|
|
|
-import com.zhongzheng.modules.system.mapper.*;
|
|
|
|
|
-import com.zhongzheng.modules.system.service.ISuperSysUserService;
|
|
|
|
|
-import com.zhongzheng.modules.system.service.ISysConfigService;
|
|
|
|
|
-import com.zhongzheng.modules.system.service.ISysUserService;
|
|
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
-
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * 用户 业务层处理
|
|
|
|
|
- *
|
|
|
|
|
- * @author zhongzheng
|
|
|
|
|
- */
|
|
|
|
|
-@Slf4j
|
|
|
|
|
-@Service
|
|
|
|
|
-public class SuperSysUserServiceImpl extends ServiceImpl<SuperSysUserMapper, SuperSysUser> implements ISuperSysUserService {
|
|
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
- private SysRoleMapper roleMapper;
|
|
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
- private SysPostMapper postMapper;
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 根据条件分页查询用户列表
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return 用户信息集合信息
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- @DataScope(deptAlias = "d", userAlias = "u")
|
|
|
|
|
- public List<SuperSysUser> selectUserList(SuperSysUser user) {
|
|
|
|
|
- return baseMapper.selectUserList(user);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 通过用户名查询用户
|
|
|
|
|
- *
|
|
|
|
|
- * @param userName 用户名
|
|
|
|
|
- * @return 用户对象信息
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public SuperSysUser selectUserByUserName(String userName) {
|
|
|
|
|
- return baseMapper.selectUserByUserName(userName);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 通过用户ID查询用户
|
|
|
|
|
- *
|
|
|
|
|
- * @param userId 用户ID
|
|
|
|
|
- * @return 用户对象信息
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public SuperSysUser selectUserById(Long userId) {
|
|
|
|
|
- return baseMapper.selectUserById(userId);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 查询用户所属角色组
|
|
|
|
|
- *
|
|
|
|
|
- * @param userName 用户名
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public String selectUserRoleGroup(String userName) {
|
|
|
|
|
- List<SysRole> list = roleMapper.selectRolesByUserName(userName);
|
|
|
|
|
- StringBuffer idsStr = new StringBuffer();
|
|
|
|
|
- for (SysRole role : list) {
|
|
|
|
|
- idsStr.append(role.getRoleName()).append(",");
|
|
|
|
|
- }
|
|
|
|
|
- if (Validator.isNotEmpty(idsStr.toString())) {
|
|
|
|
|
- return idsStr.substring(0, idsStr.length() - 1);
|
|
|
|
|
- }
|
|
|
|
|
- return idsStr.toString();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 查询用户所属岗位组
|
|
|
|
|
- *
|
|
|
|
|
- * @param userName 用户名
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public String selectUserPostGroup(String userName) {
|
|
|
|
|
- List<SysPost> list = postMapper.selectPostsByUserName(userName);
|
|
|
|
|
- StringBuffer idsStr = new StringBuffer();
|
|
|
|
|
- for (SysPost post : list) {
|
|
|
|
|
- idsStr.append(post.getPostName()).append(",");
|
|
|
|
|
- }
|
|
|
|
|
- if (Validator.isNotEmpty(idsStr.toString())) {
|
|
|
|
|
- return idsStr.substring(0, idsStr.length() - 1);
|
|
|
|
|
- }
|
|
|
|
|
- return idsStr.toString();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 校验用户名称是否唯一
|
|
|
|
|
- *
|
|
|
|
|
- * @param userName 用户名称
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public String checkUserNameUnique(String userName) {
|
|
|
|
|
- int count = count(new LambdaQueryWrapper<SuperSysUser>().eq(SuperSysUser::getUserName, userName).last("limit 1"));
|
|
|
|
|
- if (count > 0) {
|
|
|
|
|
- return UserConstants.NOT_UNIQUE;
|
|
|
|
|
- }
|
|
|
|
|
- return UserConstants.UNIQUE;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 校验用户名称是否唯一
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public String checkPhoneUnique(SuperSysUser user) {
|
|
|
|
|
- Long userId = Validator.isNull(user.getUserId()) ? -1L : user.getUserId();
|
|
|
|
|
- SuperSysUser info = getOne(new LambdaQueryWrapper<SuperSysUser>()
|
|
|
|
|
- .select(SuperSysUser::getUserId, SuperSysUser::getPhonenumber)
|
|
|
|
|
- .eq(SuperSysUser::getPhonenumber, user.getPhonenumber()).last("limit 1"));
|
|
|
|
|
- if (Validator.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
|
|
|
|
|
- return UserConstants.NOT_UNIQUE;
|
|
|
|
|
- }
|
|
|
|
|
- return UserConstants.UNIQUE;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 校验email是否唯一
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public String checkEmailUnique(SuperSysUser user) {
|
|
|
|
|
- Long userId = Validator.isNull(user.getUserId()) ? -1L : user.getUserId();
|
|
|
|
|
- SuperSysUser info = getOne(new LambdaQueryWrapper<SuperSysUser>()
|
|
|
|
|
- .select(SuperSysUser::getUserId, SuperSysUser::getEmail)
|
|
|
|
|
- .eq(SuperSysUser::getEmail, user.getEmail()).last("limit 1"));
|
|
|
|
|
- if (Validator.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
|
|
|
|
|
- return UserConstants.NOT_UNIQUE;
|
|
|
|
|
- }
|
|
|
|
|
- return UserConstants.UNIQUE;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 校验用户是否允许操作
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public void checkUserAllowed(SuperSysUser user) {
|
|
|
|
|
- if (Validator.isNotNull(user.getUserId()) && user.isAdmin()) {
|
|
|
|
|
- throw new CustomException("不允许操作超级管理员用户");
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 新增保存用户信息
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- @Transactional
|
|
|
|
|
- public int insertUser(SuperSysUser user) {
|
|
|
|
|
- // 新增用户信息
|
|
|
|
|
- int rows = baseMapper.insert(user);
|
|
|
|
|
-
|
|
|
|
|
- return rows;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 修改保存用户信息
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- @Transactional
|
|
|
|
|
- public int updateUser(SuperSysUser user) {
|
|
|
|
|
-
|
|
|
|
|
- return baseMapper.updateById(user);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 修改用户状态
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public int updateUserStatus(SuperSysUser user) {
|
|
|
|
|
- return baseMapper.updateById(user);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 修改用户基本信息
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public int updateUserProfile(SuperSysUser user) {
|
|
|
|
|
- return baseMapper.updateById(user);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 修改用户头像
|
|
|
|
|
- *
|
|
|
|
|
- * @param userName 用户名
|
|
|
|
|
- * @param avatar 头像地址
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public boolean updateUserAvatar(String userName, String avatar) {
|
|
|
|
|
- return baseMapper.update(null,
|
|
|
|
|
- new LambdaUpdateWrapper<SuperSysUser>()
|
|
|
|
|
- .set(SuperSysUser::getAvatar,avatar)
|
|
|
|
|
- .eq(SuperSysUser::getUserName,userName)) > 0;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 重置用户密码
|
|
|
|
|
- *
|
|
|
|
|
- * @param user 用户信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public int resetPwd(SuperSysUser user) {
|
|
|
|
|
- return baseMapper.updateById(user);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 重置用户密码
|
|
|
|
|
- *
|
|
|
|
|
- * @param userName 用户名
|
|
|
|
|
- * @param password 密码
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public int resetUserPwd(String userName, String password) {
|
|
|
|
|
- return baseMapper.update(null,
|
|
|
|
|
- new LambdaUpdateWrapper<SuperSysUser>()
|
|
|
|
|
- .set(SuperSysUser::getPassword,password)
|
|
|
|
|
- .eq(SuperSysUser::getUserName,userName));
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-}
|
|
|