教练管理

This commit is contained in:
PQZ 2025-01-16 21:44:53 +08:00
parent 29212c74ca
commit 3e8480c390
5 changed files with 105 additions and 44 deletions

View File

@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -50,7 +49,7 @@ public class DlDriveSchoolCoachController {
}
/**
* 新增驾校教练
* 保存驾校教练
*
* @param createReqVO {@link DlDriveSchoolCoachSaveReqVO}
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.String>
@ -59,18 +58,19 @@ public class DlDriveSchoolCoachController {
**/
@PostMapping("/create")
@Operation(summary = "创建驾校教练")
public CommonResult<Boolean> createDlDriveSchoolCoach(@Valid @RequestBody DlDriveSchoolCoachSaveReqVO createReqVO) {
dlDriveSchoolCoachService.createDlDriveSchoolCoach(createReqVO);
return success(true);
}
@PutMapping("/update")
@Operation(summary = "更新驾校教练")
public CommonResult<Boolean> updateDlDriveSchoolCoach(@Valid @RequestBody DlDriveSchoolCoachSaveReqVO updateReqVO) {
dlDriveSchoolCoachService.updateDlDriveSchoolCoach(updateReqVO);
public CommonResult<Boolean> saveSchoolCoach(@Valid @RequestBody DlDriveSchoolCoachSaveReqVO createReqVO) {
dlDriveSchoolCoachService.saveSchoolCoach(createReqVO);
return success(true);
}
/**
* 通过id删除驾校教练
*
* @param id 教练id
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
* @author PQZ
* @date 21:40 2025/1/16
**/
@DeleteMapping("/delete")
@Operation(summary = "删除驾校教练")
@Parameter(name = "id", description = "编号", required = true)
@ -79,6 +79,13 @@ public class DlDriveSchoolCoachController {
return success(true);
}
/**
* 通过教练id获取驾校教练
* @author PQZ
* @date 21:41 2025/1/16
* @param id 教练id
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO>
**/
@GetMapping("/get")
@Operation(summary = "获得驾校教练")
@Parameter(name = "id", description = "编号", required = true, example = "1024")

View File

@ -77,7 +77,7 @@ public class DlDriveSchoolCoach extends TenantBaseDO {
/**
* 用户id
*/
private Integer userId;
private Long userId;
/**
* 身份证
*/

View File

@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.base.mapper;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachPageReqVO;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO;
import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

View File

@ -29,26 +29,20 @@ public interface DlDriveSchoolCoachService extends IService<DlDriveSchoolCoach>
IPage<DlDriveSchoolCoachRespVO> queryListPage(DlDriveSchoolCoachPageReqVO pageReqVO, Page<DlDriveSchoolCoachRespVO> page);
/**
* 创建驾校教练
* 保存驾校教练
*
* @param createReqVO {@link DlDriveSchoolCoachSaveReqVO}
* @author PQZ
* @date 2025/1/16
* @author PQZ @date 2025/1/16
**/
void createDlDriveSchoolCoach(@Valid DlDriveSchoolCoachSaveReqVO createReqVO);
/**
* 更新驾校教练
*
* @param updateReqVO 更新信息
*/
void updateDlDriveSchoolCoach(@Valid DlDriveSchoolCoachSaveReqVO updateReqVO);
void saveSchoolCoach(@Valid DlDriveSchoolCoachSaveReqVO createReqVO);
/**
* 删除驾校教练
*
* @param id 编号
*/
* @param id 教练id
* @author PQZ
* @date 21:39 2025/1/16
**/
void deleteDlDriveSchoolCoach(String id);
/**
@ -57,7 +51,7 @@ public interface DlDriveSchoolCoachService extends IService<DlDriveSchoolCoach>
* @param id 编号
* @return 驾校教练
*/
DlDriveSchoolCoach getDlDriveSchoolCoach(String id);
DlDriveSchoolCoachRespVO getDlDriveSchoolCoach(String id);
}

View File

@ -7,13 +7,24 @@ import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachService;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachPageReqVO;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachSaveReqVO;
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;
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.HashSet;
import java.util.Set;
import static cn.iocoder.yudao.common.BaseConstants.PASSWORD_DEFAULT;
import static cn.iocoder.yudao.framework.common.config.CommonStr.USER_TYPE_STAFF;
/**
* 驾校教练 Service 实现类
@ -26,6 +37,11 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl<DlDriveSchoolCoac
@Resource
private DlDriveSchoolCoachMapper dlDriveSchoolCoachMapper;
@Resource
@Lazy
private AdminUserApi adminUserApi;
@Resource
private PermissionApi permissionApi;
/**
* 驾校教练普通员工列表
@ -41,32 +57,77 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl<DlDriveSchoolCoac
return dlDriveSchoolCoachMapper.queryListPage(pageReqVO, page);
}
/**
* 保存驾校教练
*
* @param createReqVO {@link DlDriveSchoolCoachSaveReqVO}
* @author PQZ
* @date 21:07 2025/1/16
**/
@Override
public void createDlDriveSchoolCoach(DlDriveSchoolCoachSaveReqVO createReqVO) {
// 插入
@Transactional(rollbackFor = Exception.class)
public void saveSchoolCoach(DlDriveSchoolCoachSaveReqVO createReqVO) {
/*1、数据类型转换*/
DlDriveSchoolCoach dlDriveSchoolCoach = BeanUtils.toBean(createReqVO, DlDriveSchoolCoach.class);
dlDriveSchoolCoachMapper.insert(dlDriveSchoolCoach);
}
@Override
public void updateDlDriveSchoolCoach(DlDriveSchoolCoachSaveReqVO updateReqVO) {
// 校验存在
DlDriveSchoolCoach updateObj = BeanUtils.toBean(updateReqVO, DlDriveSchoolCoach.class);
dlDriveSchoolCoachMapper.updateById(updateObj);
if (null == createReqVO.getUserId()) {
/*2、新增教练或编辑教练无用户id时同时插入一条用户数据*/
//通过手机号查询用户
AdminUserRespDTO userDTO = adminUserApi.getUserByUsername(createReqVO.getPhone());
Long userId;
//存在两种情况1用户存在2用户不存在
if (null == userDTO) {
UserDTO user = new UserDTO();
//如果不存在创建用户
user.setUsername(createReqVO.getPhone());
user.setNickname(createReqVO.getName());
//默认密码
user.setPassword(PASSWORD_DEFAULT);
user.setMobile(createReqVO.getPhone());
//用户类型员工
user.setUserType(USER_TYPE_STAFF);
//创建客户
userId = adminUserApi.createUser(user);
//创建客户后为客户绑定角色
Set<String> roleCodes = new HashSet<>();
// TODO: 2025/1/16 枚举值问老马保存角色方法不对
permissionApi.assignUserRole(userId, roleCodes);
} else {
userId = userDTO.getId();
}
dlDriveSchoolCoach.setUserId(userId);
}
/*3、保存教练信息*/
saveOrUpdate(dlDriveSchoolCoach);
}
/**
* 删除驾校教练
*
* @param id 教练id
* @author PQZ
* @date 21:39 2025/1/16
**/
@Override
public void deleteDlDriveSchoolCoach(String id) {
// 删除
dlDriveSchoolCoachMapper.deleteById(id);
removeById(id);
}
/**
* 通过id查询教练信息
*
* @param id 教练id
* @return cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO
* @author PQZ
* @date 21:43 2025/1/16
**/
@Override
public DlDriveSchoolCoach getDlDriveSchoolCoach(String id) {
return dlDriveSchoolCoachMapper.selectById(id);
public DlDriveSchoolCoachRespVO getDlDriveSchoolCoach(String id) {
//通过id查询教练信息
DlDriveSchoolCoach schoolCoach = getById(id);
//数据类型转换
DlDriveSchoolCoachRespVO result = BeanUtils.toBean(schoolCoach, DlDriveSchoolCoachRespVO.class);
return result;
}