无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -1,14 +1,19 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.domain.R;
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.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.utils.SecurityUtils;
@@ -17,10 +22,7 @@
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.dto.ConservatorDTO;
import com.ruoyi.system.domain.dto.ConservatorQuery;
import com.ruoyi.system.domain.dto.SupplierDTO;
import com.ruoyi.system.domain.dto.SupplierQuery;
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.vo.ConservatorVO;
import com.ruoyi.system.domain.vo.SupplierVO;
import com.ruoyi.system.mapper.SysPostMapper;
@@ -558,8 +560,8 @@
    @Override
    public PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, String nickName,
            String phonenumber, Integer status) {
        return this.baseMapper.getList(pageInfo, nickName, phonenumber, status);
            String phonenumber, Integer status ,Long deptId) {
        return this.baseMapper.getList(pageInfo, nickName, phonenumber, status,deptId);
    }
    @Override
@@ -586,15 +588,26 @@
    @Override
    public PageDTO<SupplierVO> getSupplierPage(SupplierQuery query) {
        Page<SysUser> page = this.lambdaQuery()
                .select(SysUser::getUserId, SysUser::getNickName, SysUser::getPhonenumber)
                .select(SysUser::getUserId, SysUser::getNickName, SysUser::getPhonenumber, SysUser::getContacts)
                .like(StringUtils.isNotBlank(query.getNickName()
                ), SysUser::getNickName, query.getNickName()).eq(SysUser::getUserType, "01")
                ), SysUser::getNickName, query.getNickName()).eq(SysUser::getUserType, "02")
                .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);
        return PageDTO.of(page,SupplierVO.class);
    }
    @Override
    public List<SysUser> getSupplierPage1() {
        LambdaQueryWrapper<SysUser> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SysUser::getUserType, "02");
        wrapper1.eq(SysUser::getDelFlag, "0").orderByDesc(SysUser::getCreateTime);
        List<SysUser> page1 = this.list(wrapper1);
        return page1;
    }
    /**
@@ -604,21 +617,31 @@
     */
    @Override
    public void saveSupplier(SupplierDTO dto) {
        SysUser user = BeanUtils.copyBean(dto, SysUser.class);
        boolean b = checkPhoneUnique(user);
        if (!b) {
            throw new ServiceException("该手机号已存在");
        }
        // 添加
        if (StringUtils.isNull(dto.getUserId())) {
            List<SysUser> list = this.list(new QueryWrapper<SysUser>()
                    .eq("phonenumber", dto.getPhonenumber())
                            .eq("user_type","02")
                    .eq("del_flag", "0"));
            if (!list.isEmpty()) {
                throw new ServiceException("该手机号已存在");
            }
            user.setUserName(dto.getPhonenumber());
            user.setUserType("01");
            user.setUserType("02");
            user.setContacts(dto.getContacts());
            user.setCreateTime(new Date());
            user.setCreateBy(SecurityUtils.getUsername());
            user.setContacts(dto.getContacts());
            this.save(user);
        } else {
            List<SysUser> list = this.list(new QueryWrapper<SysUser>()
                    .eq("phonenumber", dto.getPhonenumber())
                            .ne("user_id", dto.getUserId())
                    .eq("user_type","02")
                    .eq("del_flag", "0"));
            if (!list.isEmpty()) {
                throw new ServiceException("该手机号已存在");
            }
            // 编辑
            user = this.getById(dto.getUserId());
            if (StringUtils.isNull(user)) {
@@ -626,9 +649,8 @@
            }
            user.setNickName(dto.getNickName());
            user.setPhonenumber(dto.getPhonenumber());
            user.setUserName(dto.getPhonenumber());
            user.setUpdateTime(new Date());
            user.setContacts(dto.getContacts());
            user.setUpdateTime(new Date());
            user.setUpdateBy(SecurityUtils.getUsername());
            this.updateById(user);
        }
@@ -647,37 +669,86 @@
    @Override
    public PageDTO<ConservatorVO> getConservatorPage(ConservatorQuery 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, "02")
                .eq(SysUser::getPhonenumber,query.getPhonenumber()).eq(SysUser::getRoleType,query.getRoleType())
                .eq(SysUser::getDelFlag, "0").orderByDesc(SysUser::getCreateTime)
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        if (StringUtils.isEmpty(page.getRecords())) {
            return PageDTO.empty(page);
        Page<SysUser> objectPage = new Page<>(query.getPageCurr(), query.getPageSize());
        LambdaQueryWrapper<SysUser> wrapper1= Wrappers.lambdaQuery();
        wrapper1.like(StringUtils.isNotBlank(query.getNickName()
        ),SysUser::getNickName,query.getNickName());
        wrapper1.eq(SysUser::getUserType, "03");
        if (query.getRoleType()!=0){
            wrapper1.eq(SysUser::getRoleType, query.getRoleType());
        }
        return PageDTO.of(page, ConservatorVO.class);
        wrapper1.like(StringUtils.isNotBlank(query.getPhonenumber()
        ),SysUser::getPhonenumber,query.getPhonenumber()) .eq(SysUser::getDelFlag, "0").orderByDesc(SysUser::getCreateTime);
        Page<SysUser> page1 = this.page(objectPage, wrapper1);
        return PageDTO.of(page1, ConservatorVO.class);
    }
    @Override
    public List<SysUser> getConservatorPage2(ConservatorQueryA query) {
        LambdaQueryWrapper<SysUser> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SysUser::getUserType, "03");
        wrapper1.eq(SysUser::getDelFlag,"0");
        wrapper1.eq(SysUser::getRoleType,query.getGrade());
        if (org.springframework.util.StringUtils.hasLength(query.getTownCode())){
            wrapper1.eq(SysUser::getTownCode,query.getTownCode());
        }else if (org.springframework.util.StringUtils.hasLength(query.getCountyCode())){
            wrapper1.eq(SysUser::getCountyCode,query.getCountyCode());
        }else if (org.springframework.util.StringUtils.hasLength(query.getCityCode())){
            wrapper1.eq(SysUser::getCityCode,query.getCityCode());
        }
        List<SysUser> list = this.list(wrapper1);
        return list;
    }
    @Override
    public void saveConservator(ConservatorDTO dto) {
    public List<SysUser> getConservatorPage1(String grade) {
        QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
        sysUserQueryWrapper.eq("del_flag",0);
        sysUserQueryWrapper.eq("user_type","03");
        if (grade!=null){
            sysUserQueryWrapper.eq("roleType",grade);
        }
        List<SysUser> page1 = this.list(sysUserQueryWrapper);
        return page1;
    }
    @Override
    public R saveConservator(ConservatorDTO dto) {
        SysUser user = BeanUtils.copyBean(dto, SysUser.class);
        boolean b = checkPhoneUnique(user);
        if (!b) {
            throw new ServiceException("该手机号已存在");
        QueryWrapper<SysUser> eq = new QueryWrapper<SysUser>()
                .ne("user_type", "02")
                .eq("phonenumber", dto.getPhonenumber())
                .eq("del_flag", "0");
        if (dto.getUserId()!=null){
            eq.ne("user_id", dto.getUserId());
        }
        SysUser one = this.getOne(eq);
        if (one!=null){
            if (one.getUserType().equals("00")){
                return R.fail("添加失败,该账号为平台账号");
            }else if (one.getUserType().equals("03")){
                return  R.fail("手机号已开通账号");
            }
        }
        // 添加
        if (StringUtils.isNull(dto.getUserId())) {
            boolean b = checkPhoneUnique(user);
            if (!b) {
                throw new ServiceException("该手机号已存在");
            }
            user.setNickName(dto.getNickName());
            user.setUserName(dto.getPhonenumber());
            user.setUserType("02");
            user.setUserType("03");
            user.setCreateTime(new Date());
            user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
            user.setPassword(SecurityUtils.encryptPassword("a123456"));
            user.setCreateBy(SecurityUtils.getUsername());
            user.setProvinceName(dto.getProvinceName());
            user.setProvinceCode(dto.getProvinceCode());
            user.setCityName(dto.getCityCode());
            user.setCityName(dto.getCityName());
            user.setCityCode(dto.getCityCode());
            user.setCountyName(dto.getCountyName());
            user.setCountyCode(dto.getCountyCode());
@@ -688,20 +759,32 @@
        } else {
            // 编辑
            user = this.getById(dto.getUserId());
            if (StringUtils.isNull(user)) {
                throw new ServiceException("管理员不存在");
            }
            user.setNickName(dto.getNickName());
            user.setPhonenumber(dto.getPhonenumber());
            user.setUserName(dto.getPhonenumber());
            user.setUpdateTime(new Date());
            user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
            user.setUpdateBy(SecurityUtils.getUsername());
            user.setRoleType(dto.getRoleType());
            this.updateById(user);
            user.setProvinceCode(dto.getProvinceCode());
            user.setCityCode(dto.getCityCode());
            user.setCountyCode(dto.getCountyCode());
            user.setTownCode(dto.getTownCode());
            user.setProvinceName(dto.getProvinceName());
            user.setCityName(dto.getCityName());
            user.setCountyName(dto.getCountyName());
            user.setTownName(dto.getTownName());
            userMapper.updateHandle(user);
        }
        return R.ok();
    }
    @Override
    public void deleteConservator(Long id) {
        this.lambdaUpdate().set(SysUser::getDelFlag, "2").eq(SysUser::getUserId, id).update();