mitao
2025-03-14 392b42c4891cf2e6beda57ab32c51598f290f4b7
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -1,37 +1,43 @@
package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.ServiceException;
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.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.dto.SupplierDTO;
import com.ruoyi.system.domain.dto.SupplierQuery;
import com.ruoyi.system.domain.vo.SupplierVO;
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;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
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.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.SysRole;
import com.ruoyi.system.api.domain.SysUser;
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;
/**
 * 用户 业务层处理
@@ -469,7 +475,7 @@
//            checkUserDataScope(userId);
        }
        // 删除用户与角色关联
//        userRoleMapper.deleteUserRole(userIds);
        userRoleMapper.deleteUserRole(userIds);
//        // 删除用户与岗位关联
//        userPostMapper.deleteUserPost(userIds);
        return userMapper.deleteUserByIds(userIds);
@@ -548,8 +554,9 @@
    }
    @Override
    public PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, String phonenumber) {
        return this.baseMapper.getList(pageInfo,phonenumber);
    public PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, String nickName,
            String phonenumber, Integer status) {
        return this.baseMapper.getList(pageInfo, nickName, phonenumber, status);
    }
    @Override
@@ -567,4 +574,77 @@
        this.baseMapper.deleteSysUser(userIds);
    }
    /**
     * 获取供应商分页列表
     *
     * @param query 供应商列表查询数据传输对象
     * @return PageDTO<SupplyUserVO>
     */
    @Override
    public PageDTO<SupplierVO> getSupplierPage(SupplierQuery query) {
        Page<SysUser> page = this.lambdaQuery()
                .select(SysUser::getUserId, SysUser::getNickName, SysUser::getPhonenumber)
                .like(StringUtils.isNotBlank(query.getNickName()
                ), SysUser::getNickName, query.getNickName()).eq(SysUser::getUserType, "04")
                .eq(SysUser::getDelFlag, "0").orderByDesc(SysUser::getCreateTime)
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        if (StringUtils.isEmpty(page.getRecords())) {
            return PageDTO.empty(page);
        }
        return PageDTO.of(page, SupplierVO.class);
    }
    /**
     * 添加/编辑供应商
     *
     * @param dto 供应商数据传输对象
     */
    @Override
    public void saveSupplier(SupplierDTO dto) {
        // 添加
        if (StringUtils.isNull(dto.getUserId())) {
            SysUser user = BeanUtils.copyBean(dto, SysUser.class);
            boolean b = checkPhoneUnique(user);
            if (!b) {
                throw new ServiceException("该手机号已存在");
            }
            user.setUserName(dto.getPhonenumber());
            user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
            user.setUserType("04");
            user.setCreateTime(new Date());
            user.setCreateBy(SecurityUtils.getUsername());
            this.save(user);
        } else {
            // 编辑
            SysUser userUpd = this.getById(dto.getUserId());
            if (StringUtils.isNull(userUpd)) {
                throw new ServiceException("供应商不存在");
            }
            userUpd.setNickName(dto.getNickName());
            userUpd.setUpdateTime(new Date());
            userUpd.setUpdateBy(SecurityUtils.getUsername());
            if (StringUtils.isNotBlank(dto.getPassword())) {
                userUpd.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
            }
            if (!userUpd.getPhonenumber().equals(dto.getPhonenumber())) {
                userUpd.setPhonenumber(dto.getPhonenumber());
                userUpd.setUserName(dto.getPhonenumber());
                boolean b = checkPhoneUnique(userUpd);
                if (!b) {
                    throw new ServiceException("该手机号已存在");
                }
            }
            this.updateById(userUpd);
        }
    }
    /**
     * 删除供应商
     *
     * @param id 供应商id
     */
    @Override
    public void deleteSupplier(Long id) {
        this.lambdaUpdate().set(SysUser::getDelFlag, "2").eq(SysUser::getUserId, id).update();
    }
}