jiangqs
2023-06-28 efe79e640c4598f52c2d1032fcead000edf8049e
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -1,45 +1,39 @@
package com.ruoyi.system.service.impl.sys;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.validation.Validator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.domain.pojo.coupon.Coupon;
import com.ruoyi.system.mapper.coupon.CouponMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanValidators;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
import com.ruoyi.system.api.domain.dto.MgtUserIdByDept;
import com.ruoyi.system.api.domain.poji.sys.SysRole;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MgtSysSimpleUserVo;
import com.ruoyi.system.domain.dto.UserMenuEditDto;
import com.ruoyi.system.domain.pojo.sys.SysPost;
import com.ruoyi.system.domain.pojo.sys.SysUserMenu;
import com.ruoyi.system.domain.pojo.sys.SysUserPost;
import com.ruoyi.system.domain.pojo.sys.SysUserRole;
import com.ruoyi.system.mapper.sys.SysPostMapper;
import com.ruoyi.system.mapper.sys.SysRoleMapper;
import com.ruoyi.system.mapper.sys.SysUserMapper;
import com.ruoyi.system.mapper.sys.SysUserPostMapper;
import com.ruoyi.system.mapper.sys.SysUserRoleMapper;
import com.ruoyi.system.mapper.sys.*;
import com.ruoyi.system.service.sys.ISysConfigService;
import com.ruoyi.system.service.sys.ISysUserService;
import org.springframework.util.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 用户 业务层处理
@@ -72,6 +66,9 @@
    @Resource
    protected Validator validator;
    @Resource
    protected SysUserMenuMapper userMenuMapper;
    /**
     * 根据条件分页查询用户列表
     *
@@ -86,13 +83,17 @@
    }
    @Override
    public SysUser selectUserByPhoneNumber(String phoneNumber) {
    public SysUser selectUserByPhoneNumber(String phoneNumber,String userType) {
        SysUser sysUser = new SysUser();
        sysUser.setPhonenumber(phoneNumber);
        List<SysUser> userList = this.selectUserList(sysUser);
        SysUser queryUser = null;
        if(!userList.isEmpty()){
            queryUser = userList.get(0);
           for(SysUser sysUser1 : userList){
               if(sysUser1.getUserType().equals(userType)){
                   queryUser = sysUser1;
               }
           }
        }
        return queryUser;
    }
@@ -297,8 +298,20 @@
    @Override
    public SysUser registerUser(SysUser user)
    {
        userMapper.insertUser(user);
        int id = userMapper.insertUser(user);
        log.info("user------------------"+user.toString());
        return user;
    }
    /**
     *
     * @param mobile
     * @return
     */
    @Override
    public SysUser getSysUserByMobile(String mobile){
        SysUser sysUser = this.selectUserByPhoneNumber(mobile,"00");
        return sysUser;
    }
    /**
@@ -593,19 +606,19 @@
        switch (editType){
            case 1:
                sysUser.setNickName(editValue);
                sysUser.setUpdateTime(new Date());
                sysUser.setUpdateTime(DateUtils.getNowDate());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 2:
                sysUser.setAvatar(editValue);
                sysUser.setUpdateTime(new Date());
                sysUser.setUpdateTime(DateUtils.getNowDate());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 3:
                sysUser.setSex(editValue);
                sysUser.setUpdateTime(new Date());
                sysUser.setUpdateTime(DateUtils.getNowDate());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
@@ -616,4 +629,80 @@
        }
    }
    /**
     * @description 获取部门用户
     * @author  jqs
     * @date    2023/6/21 16:00
     * @param userIdByDept
     * @return  MgtUserIdByDept
     */
    @Override
    public MgtUserIdByDept getUserIdByDept(MgtUserIdByDept userIdByDept){
        List<Long> userIdList = userMapper.getUserIdByDept(userIdByDept);
        userIdByDept.setUserIdList(userIdList);
        return userIdByDept;
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/25 14:35
     * @param mgtBaseBathDto
     * @return  List<MgtSysSimpleUserVo>
     */
    @Override
    public List<MgtSysSimpleUserVo> listSimpleUserVo(MgtBaseBathDto mgtBaseBathDto){
        return userMapper.listSimpleUserVo(mgtBaseBathDto.getIds());
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/25 16:37
     * @param userMenuEditDto
     * @return  void
     */
    @Override
    public void editUserMenu(UserMenuEditDto userMenuEditDto){
        SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId());
        sysUser.setDataScope(userMenuEditDto.getDataScope());
        userMapper.updateUser(sysUser);
        userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId());
        int rows = 1;
        // 新增用户与角色管理
        List<SysUserMenu> list = new ArrayList<SysUserMenu>();
        for (Long menuId : userMenuEditDto.getMenuIds())
        {
            SysUserMenu rm = new SysUserMenu();
            rm.setUserId(userMenuEditDto.getUserId());
            rm.setMenuId(menuId);
            rm.setMenuFrom(1);
            list.add(rm);
        }
        for(Long menuId : userMenuEditDto.getStaffMenuIds()){
            SysUserMenu rm = new SysUserMenu();
            rm.setUserId(userMenuEditDto.getUserId());
            rm.setMenuId(menuId);
            rm.setMenuFrom(2);
            list.add(rm);
        }
        if (list.size() > 0)
        {
            rows = userMenuMapper.batchUserMenu(list);
        }
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/26 10:36
     * @param sysUser
     * @return  void
     */
    @Override
    public void updateOnlyUser(SysUser sysUser){
        userMapper.updateUser(sysUser);
    }
}