jiangqs
2023-06-30 cbc564a7088503ad8cc7af4e1d2ba417d061e615
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
@@ -1,14 +1,20 @@
package com.ruoyi.system.service.impl.staff;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.domain.dto.MgtStaffEditDto;
import com.ruoyi.system.domain.dto.MgtStaffPageDto;
import com.ruoyi.system.domain.pojo.staff.SysStaff;
import com.ruoyi.system.domain.vo.MgtDeptStaffListVo;
import com.ruoyi.system.domain.vo.MgtStaffPageVo;
import com.ruoyi.system.mapper.staff.SysStaffMapper;
import com.ruoyi.system.service.staff.SysStaffService;
import com.ruoyi.system.service.sys.ISysUserService;
@@ -47,6 +53,28 @@
    }
    /**
     * @description 通过权限获取部门员工列表
     * @author  jqs
     * @date    2023/6/21 10:24
     * @param userId
     * @return  List<MgtDeptStaffListVo>
     */
    @Override
    public List<MgtDeptStaffListVo>listMgtDeptStaffByPermission(Long userId){
        SysUser sysUser = sysUserService.selectUserById(userId);
        String dataScope = sysUser.getDataScope();
        List<MgtDeptStaffListVo> deptStaffListVoList;
        if(dataScope!=null&&dataScope.equals("4")){
            deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),null);
        }else if(dataScope!=null&&dataScope.equals("5")){
            deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),sysUser.getUserId());
        }else{
            deptStaffListVoList = sysStaffMapper.listMgtDeptStaff();
        }
        return deptStaffListVoList;
    }
    /**
     * @description getBYUserId
     * @param userId
     * @return SysStaff
@@ -73,16 +101,29 @@
    public void mgtStaffEdit(MgtStaffEditDto mgtStaffEditDto){
        SysStaff sysStaff;
        SysUser sysUser;
        if(mgtStaffEditDto.getUserId()!=null){
            sysStaff = this.getByUserId(mgtStaffEditDto.getUserId());
            sysUser = sysUserService.getById(mgtStaffEditDto.getUserId());
        LambdaQueryWrapper<SysStaff> queryWrapper = new LambdaQueryWrapper();
        queryWrapper.eq(SysStaff::getDelFlag,0);
        queryWrapper.eq(SysStaff::getStaffMobile,mgtStaffEditDto.getStaffMobile());
        SysStaff sysStaffSame = this.getOne(queryWrapper, false);
        if(StringUtils.isBlank(mgtStaffEditDto.getStaffAvatar())){
            mgtStaffEditDto.setStaffAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
        }
        if(mgtStaffEditDto.getSysUserId()!=null){
            if(sysStaffSame!=null&&!sysStaffSame.getUserId().equals(mgtStaffEditDto.getSysUserId())){
                throw new ServiceException(AppErrorConstant.STAFF_MOBILE_DOUBLE);
            }
            sysStaff = this.getByUserId(mgtStaffEditDto.getSysUserId());
            sysUser = sysUserService.selectUserById(mgtStaffEditDto.getSysUserId());
            sysUser.setUserName(mgtStaffEditDto.getStaffMobile());
            sysUser.setPhonenumber(mgtStaffEditDto.getStaffMobile());
            sysUser.setNickName(mgtStaffEditDto.getStaffName());
            sysUser.setAvatar(mgtStaffEditDto.getStaffAvatar());
            sysUser.setEmail(mgtStaffEditDto.getStaffEmail());
            sysUserService.saveOrUpdate(sysUser);
            sysUserService.updateOnlyUser(sysUser);
        }else{
            if(sysStaffSame!=null){
                throw new ServiceException(AppErrorConstant.STAFF_MOBILE_DOUBLE);
            }
            sysStaff = new SysStaff();
            String staffId = IdUtils.simpleUUID();
            sysStaff.setStaffId(staffId);
@@ -125,4 +166,17 @@
        this.saveOrUpdate(sysStaff);
        sysUserService.deleteUserById(mgtBaseGetDto.getUserId());
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/25 17:52
     * @param page
     * @param mgtStaffPageDto
     * @return  List<MgtStaffPageVo>
     */
    @Override
    public List<MgtStaffPageVo> pageMgtStaff(Page page, MgtStaffPageDto mgtStaffPageDto){
        return sysStaffMapper.pageMgtStaff(page, mgtStaffPageDto);
    }
}