| | |
| | | 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.service.sys.ISysUserService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | @Resource |
| | | private SysStaffMapper sysStaffMapper; |
| | | |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | |
| | | /** |
| | | * @description 获取部门员工列表 |
| | | * @author jqs |
| | |
| | | public List<MgtDeptStaffListVo> listMgtDeptStaff(){ |
| | | return sysStaffMapper.listMgtDeptStaff(); |
| | | } |
| | | |
| | | /** |
| | | * @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 |
| | | * @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; |
| | | 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.updateOnlyUser(sysUser); |
| | | }else{ |
| | | if(sysStaffSame!=null){ |
| | | throw new ServiceException(AppErrorConstant.STAFF_MOBILE_DOUBLE); |
| | | } |
| | | 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()); |
| | | } |
| | | |
| | | /** |
| | | * @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); |
| | | } |
| | | } |