jiangqs
2023-06-18 65f4880a8ddc2c9c081c045323966fd07022f652
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
@@ -1,10 +1,17 @@
package com.ruoyi.system.service.impl.staff;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
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.pojo.staff.SysStaff;
import com.ruoyi.system.domain.vo.MgtDeptStaffListVo;
import com.ruoyi.system.mapper.staff.SysStaffMapper;
import com.ruoyi.system.service.staff.SysStaffService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.service.sys.ISysUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -24,6 +31,9 @@
    @Resource
    private SysStaffMapper sysStaffMapper;
    @Resource
    private ISysUserService sysUserService;
    /**
     * @description  获取部门员工列表
     * @author  jqs
@@ -35,4 +45,84 @@
    public List<MgtDeptStaffListVo> listMgtDeptStaff(){
        return sysStaffMapper.listMgtDeptStaff();
    }
    /**
     * @description getBYUserId
     * @param userId
     * @return SysStaff
     * @author jqs34
     * @date 2023/6/18 21:01
     */
    @Override
    public SysStaff getByUserId(Long userId){
        LambdaQueryWrapper<SysStaff> queryWrapper = new LambdaQueryWrapper();
        queryWrapper.eq(SysStaff::getDelFlag,0);
        queryWrapper.eq(SysStaff::getUserId,userId);
        return this.getOne(queryWrapper, false);
    }
    /**
     * @description mgtStaffEdit
     * @param mgtStaffEditDto
     * @return void
     * @author jqs34
     * @date 2023/6/18 20:59
     */
    @Override
    public void mgtStaffEdit(MgtStaffEditDto mgtStaffEditDto){
        SysStaff sysStaff;
        SysUser sysUser;
        if(mgtStaffEditDto.getUserId()!=null){
            sysStaff = this.getByUserId(mgtStaffEditDto.getUserId());
            sysUser = sysUserService.getById(mgtStaffEditDto.getUserId());
            sysUser.setUserName(mgtStaffEditDto.getStaffMobile());
            sysUser.setPhonenumber(mgtStaffEditDto.getStaffMobile());
            sysUser.setNickName(mgtStaffEditDto.getStaffName());
            sysUser.setAvatar(mgtStaffEditDto.getStaffAvatar());
            sysUser.setEmail(mgtStaffEditDto.getStaffEmail());
            sysUserService.saveOrUpdate(sysUser);
        }else{
            sysStaff = new SysStaff();
            String staffId = IdUtils.simpleUUID();
            sysStaff.setStaffId(staffId);
            sysStaff.setDelFlag(0);
            sysUser = new SysUser();
            sysUser.setDelFlag("0");
            sysUser.setUserType("00");
            sysUser.setUserName(mgtStaffEditDto.getStaffMobile());
            sysUser.setPhonenumber(mgtStaffEditDto.getStaffMobile());
            sysUser.setNickName(mgtStaffEditDto.getStaffName());
            sysUser.setAvatar(mgtStaffEditDto.getStaffAvatar());
            sysUser.setEmail(mgtStaffEditDto.getStaffEmail());
            String password = "123456";
            sysUser.setPassword(SecurityUtils.encryptPassword(password));
            sysUser.setDeptId(mgtStaffEditDto.getDeptId());
            sysUser = sysUserService.registerUser(sysUser);
            sysStaff.setUserId(sysUser.getUserId());
        }
        sysStaff.setStaffName(mgtStaffEditDto.getStaffName());
        sysStaff.setStaffMobile(mgtStaffEditDto.getStaffMobile());
        sysStaff.setStaffEmail(mgtStaffEditDto.getStaffEmail());
        sysStaff.setStaffPost(mgtStaffEditDto.getStaffPost());
        sysStaff.setStaffAvatar(mgtStaffEditDto.getStaffAvatar());
        sysStaff.setHeadFlag(mgtStaffEditDto.getHeadFlag());
        this.saveOrUpdate(sysStaff);
    }
    /**
     * @description mgtDeleteStaff
     * @param mgtBaseGetDto
     * @return void
     * @author jqs34
     * @date 2023/6/18 22:00
     */
    @Override
    public void mgtDeleteStaff(MgtBaseGetDto mgtBaseGetDto){
        Long userId = Long.valueOf(mgtBaseGetDto.getId());
        SysStaff sysStaff = this.getByUserId(userId);
        sysStaff.setDelFlag(1);
        this.saveOrUpdate(sysStaff);
        sysUserService.deleteUserById(mgtBaseGetDto.getUserId());
    }
}