This commit is contained in:
PQZ 2025-02-21 16:54:42 +08:00
parent 72c6b2904c
commit e55c597e16
4 changed files with 96 additions and 33 deletions

View File

@ -91,6 +91,15 @@ public interface CompanyStaffService extends IService<CompanyStaff> {
**/
void resetPassword(CompanyStaffRespVO staffRespVO);
/**
* 通过手机号查询员工数据
* @author PQZ
* @date 15:08 2025/2/21
* @param phone 手机号
* @return cn.iocoder.yudao.module.staff.entity.CompanyStaff
**/
CompanyStaff queryByPhone(String phone);
/**
* 验证工号是否重复
* @author 小李

View File

@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.log.Log;
import cn.iocoder.yudao.common.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
@ -439,11 +440,32 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
* @author 小李
* @date 16:21 2024/8/9
**/
@Override
public void resetPassword(CompanyStaffRespVO staffRespVO) {
// 修改员工密码
adminUserApi.resetPassword(staffRespVO.getUserId(), staffRespVO.getPassword());
}
/**
* 通过手机号查询员工数据
*
* @param phone 手机号
* @return cn.iocoder.yudao.module.staff.entity.CompanyStaff
* @author PQZ
* @date 15:08 2025/2/21
**/
@Override
public CompanyStaff queryByPhone(String phone) {
LambdaQueryWrapper<CompanyStaff> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(BaseDO::getDeleted,0).eq(CompanyStaff::getTel,phone);
List<CompanyStaff> list = list(lambdaQueryWrapper);
if (!list.isEmpty()) {
return list.get(0);
} else {
return null;
}
}
/**
* 验证工号是否重复
*
@ -451,6 +473,7 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
* @author 小李
* @date 14:03 2024/8/9
**/
@Override
public Boolean checkWorkNo(String workNo) {
return staffMapper.selectCount(new LambdaQueryWrapper<CompanyStaff>().and(item -> {
item.eq(CompanyStaff::getWorkNo, workNo);

View File

@ -8,6 +8,9 @@ import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCoachMapper;
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachService;
import cn.iocoder.yudao.module.base.vo.*;
import cn.iocoder.yudao.module.jx.utils.StringUtils;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
import cn.iocoder.yudao.module.staff.service.UniqueCodeService;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@ -44,7 +47,13 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl<DlDriveSchoolCoac
@Lazy
private AdminUserApi adminUserApi;
@Resource
@Lazy
private CompanyStaffService companyStaffService;
@Resource
private PermissionApi permissionApi;
@Resource
private UniqueCodeService uniqueCodeService;
/**
* 驾校教练普通员工列表
@ -100,14 +109,23 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl<DlDriveSchoolCoac
@Override
@Transactional(rollbackFor = Exception.class)
public void saveSchoolCoach(DlDriveSchoolCoachSaveReqVO createReqVO) {
/*1、数据类型转换*/
/*1、基础数据准备*/
//数据类型转换
DlDriveSchoolCoach dlDriveSchoolCoach = BeanUtils.toBean(createReqVO, DlDriveSchoolCoach.class);
//初始化
CompanyStaff companyStaff = companyStaffService.queryByPhone(createReqVO.getPhone());
//查询用户
AdminUserRespDTO userDTO = new AdminUserRespDTO();
if (null == createReqVO.getUserId()) {
/*2、新增教练或编辑教练无用户id时同时插入一条用户数据*/
//通过手机号查询用户
AdminUserRespDTO userDTO = adminUserApi.getUserByUsername(createReqVO.getPhone());
Long userId;
//存在两种情况1用户存在2用户不存在
userDTO = adminUserApi.getUserByUsername(createReqVO.getPhone());
}
//定义用户id
Long userId = null;
if (StringUtils.isEmpty(createReqVO.getId())) {
/*2、 情况一:新增教练或员工时,员工表中无数据*/
//员工表中无数据
if (null == companyStaff) {
//用户表中无数据
if (null == userDTO) {
UserDTO user = new UserDTO();
//如果不存在创建用户
@ -129,8 +147,22 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl<DlDriveSchoolCoac
}
permissionApi.assignUserRole(userId, roleCodes);
} else {
//用户表中有数据
userId = userDTO.getId();
}
CompanyStaff newStaff = new CompanyStaff();
newStaff.setUserId(userId);
newStaff.setName(createReqVO.getName());
newStaff.setTel(createReqVO.getPhone());
newStaff.setAddress(createReqVO.getAddress());
newStaff.setSex(createReqVO.getSex());
newStaff.setUniqueCode(uniqueCodeService.createUniqueCode());
//保存到员工表
companyStaffService.save(newStaff);
} else {
//员工表中有数据则取用户id
userId = companyStaff.getUserId();
}
dlDriveSchoolCoach.setUserId(userId);
}
/*3、保存教练信息*/

View File

@ -56,7 +56,6 @@ public class DlDriveSchoolStudentServiceImpl extends ServiceImpl<DlDriveSchoolSt
//学员基本信息
DlDriveSchoolStudent student = getById(id);
DlDriveSchoolStudentVO result = BeanUtils.toBean(student,DlDriveSchoolStudentVO.class);
return result;
}