This commit is contained in:
Vinjor 2025-01-17 17:53:15 +08:00
commit 31e18a0512
21 changed files with 874 additions and 24 deletions

View File

@ -0,0 +1,98 @@
package cn.iocoder.yudao.module.base.controller.admin;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
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 com.baomidou.mybatisplus.core.metadata.IPage;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 驾校教练")
@RestController
@RequestMapping("/base/dl-drive-school-coach")
@Validated
public class DlDriveSchoolCoachController {
@Resource
private DlDriveSchoolCoachService dlDriveSchoolCoachService;
/**
* 驾校教练普通员工列表
*
* @param pageReqVO {@link DlDriveSchoolCoachPageReqVO}
* @param pageNo 分页参数第几页
* @param pageSize 分页参数每页多少条数据
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<com.baomidou.mybatisplus.core.metadata.IPage < ?>>
* @author PQZ
* @date 14:58 2025/1/16
**/
@GetMapping("/page")
@Operation(summary = "获得驾校教练分页")
public CommonResult<IPage<?>> getDlDriveSchoolCoachPage(DlDriveSchoolCoachPageReqVO pageReqVO,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<DlDriveSchoolCoachRespVO> page = new Page<>(pageNo, pageSize);
return success(dlDriveSchoolCoachService.queryListPage(pageReqVO, page));
}
/**
* 保存驾校教练
*
* @param createReqVO {@link DlDriveSchoolCoachSaveReqVO}
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.String>
* @author PQZ
* @date 16:19 2025/1/16
**/
@PostMapping("/save")
@Operation(summary = "创建驾校教练")
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)
public CommonResult<Boolean> deleteDlDriveSchoolCoach(@RequestParam("id") String id) {
dlDriveSchoolCoachService.deleteDlDriveSchoolCoach(id);
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")
public CommonResult<DlDriveSchoolCoachRespVO> getDlDriveSchoolCoach(@RequestParam("id") String id) {
DlDriveSchoolCoach dlDriveSchoolCoach = dlDriveSchoolCoachService.getDlDriveSchoolCoach(id);
return success(BeanUtils.toBean(dlDriveSchoolCoach, DlDriveSchoolCoachRespVO.class));
}
}

View File

@ -0,0 +1,112 @@
package cn.iocoder.yudao.module.base.controller.admin;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseService;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 课程管理")
@RestController
@RequestMapping("/base/dl-drive-school-course")
@Validated
public class DlDriveSchoolCouseController {
@Resource
private DlDriveSchoolCourseService courseService;
/**
* 分页获取课程信息
*
* @param pageReqVO {@link DlDriveSchoolCourseVO}
* @param pageNo 分页参数-第几页
* @param pageSize 分页参数-当前页有多少条数据
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<com.baomidou.mybatisplus.core.metadata.IPage < ?>>
* @author PQZ
* @date 22:20 2025/1/16
**/
@GetMapping("/page")
@Operation(summary = "分页获取课程信息")
public CommonResult<IPage<?>> getDlDriveSchoolCoursePage(DlDriveSchoolCourseVO pageReqVO,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<DlDriveSchoolCourseVO> page = new Page<>(pageNo, pageSize);
return success(courseService.queryListPage(pageReqVO, page));
}
/**
* 不分页获取课程信息
*
* @param pageReqVO {@link DlDriveSchoolCourseVO}
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.util.List < ?>>
* @author PQZ
* @date 22:22 2025/1/16
**/
@GetMapping("/list")
@Operation(summary = "不分页获取课程信息")
public CommonResult<List<?>> getDlDriveSchoolCourseList(DlDriveSchoolCourseVO pageReqVO) {
return success(courseService.queryList(pageReqVO));
}
/**
* 保存课程信息
*
* @param saveVO {@link DlDriveSchoolCourseVO}
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
* @author PQZ
* @date 22:24 2025/1/16
**/
@PostMapping("/save")
@Operation(summary = "创建驾校教练")
public CommonResult<Boolean> saveSchoolCoach(@Valid @RequestBody DlDriveSchoolCourseVO saveVO) {
courseService.saveDriveSchoolCourse(saveVO);
return success(true);
}
/**
* 删除课程信息
*
* @param id 课程id
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
* @author PQZ
* @date 22:25 2025/1/16
**/
@DeleteMapping("/delete")
@Operation(summary = "删除课程信息")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deleteCourse(@RequestParam("id") String id) {
courseService.deleteCourse(id);
return success(true);
}
/**
* 获取课程信息
*
* @param id 课程id
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO>
* @author PQZ
* @date 22:26 2025/1/16
**/
@GetMapping("/get")
@Operation(summary = "获取课程信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<DlDriveSchoolCourseVO> getDlDriveSchoolCoach(@RequestParam("id") String id) {
return success(courseService.queryDetailById(id));
}
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.yudao.module.base.controller.admin;
public class TestController {
}

View File

@ -0,0 +1,98 @@
package cn.iocoder.yudao.module.base.entity;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* 驾校教练 DO
*
* @author pqz
*/
@TableName("drive_school_coach")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DlDriveSchoolCoach extends TenantBaseDO {
/**
* 主键id
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 照片
*/
private String image;
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private Integer age;
/**
* 性别
*
*/
private String sex;
/**
* 联系电话
*/
private String phone;
/**
* 身份证号
*/
private String idNumber;
/**
* 车牌
*/
private String carId;
/**
* 户籍地址
*/
private String regAddress;
/**
* 家庭住址
*/
private String address;
/**
* 教龄
*/
private Integer seniority;
/**
* 个人简介
*/
private String instructorDesc;
/**
* 工作人员类型教练工作人员
*/
private String type;
/**
* 用户id
*/
private Long userId;
/**
* 身份证
*/
private String idPhoto;
/**
* 生活照
*/
private String lifePhoto;
/**
* 驾驶证
*/
private String drivePhoto;
/**
* 其他证件
*/
private String otherPhoto;
}

View File

@ -0,0 +1,80 @@
package cn.iocoder.yudao.module.base.entity;
import cn.iocoder.yudao.module.jx.core.page.TenantBaDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.math.BigDecimal;
/**
* 驾校课程实体
*
* @author pqz
*/
@TableName("drive_school_course")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DlDriveSchoolCourse extends TenantBaDO {
/**
* 主键id
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 车辆档位
*/
private String automatic;
/**
* 驾照类型
*/
private String license;
/**
* 驾驶证类型
*/
private String type;
/**
* 课程名字
*/
private String name;
/**
* 课程开始时间
*/
private String dayStart;
/**
* 课程结束时间
*/
private String dayEnd;
/**
* 价格
*/
private BigDecimal price;
/**
* 封面图
*/
private String photo;
/**
* 课程简介
*/
private String describ;
/**
* 定金
*/
private BigDecimal reserveMoney;
/**
* 交付定金的优惠
*/
private double favour;
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.yudao.module.base.entity;
public class TestEntity {
}

View File

@ -0,0 +1,31 @@
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 com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 驾校教练 Mapper
*
* @author pqz
*/
@Mapper
public interface DlDriveSchoolCoachMapper extends BaseMapper<DlDriveSchoolCoach> {
/**
* 驾校教练普通员工列表
*
* @param entity {@link DlDriveSchoolCoachPageReqVO}
* @param page 分页参数
* @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO>
* @author PQZ
* @date 15:04 2025/1/16
**/
IPage<DlDriveSchoolCoachRespVO> queryListPage(@Param("entity") DlDriveSchoolCoachPageReqVO entity, Page<DlDriveSchoolCoachRespVO> page);
}

View File

@ -0,0 +1,16 @@
package cn.iocoder.yudao.module.base.mapper;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* 驾校课程Mapper
*
* @author pqz
*/
@Mapper
public interface DlDriveSchoolCourseMapper extends BaseMapper<DlDriveSchoolCourse> {
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.yudao.module.base.mapper;
public class TestMapper {
}

View File

@ -0,0 +1,57 @@
package cn.iocoder.yudao.module.base.service;
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.base.vo.DlDriveSchoolCoachSaveReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.validation.Valid;
/**
* 驾校教练 Service 接口
*
* @author pqz
*/
public interface DlDriveSchoolCoachService extends IService<DlDriveSchoolCoach> {
/**
* 驾校教练普通员工列表
*
* @param pageReqVO {@link DlDriveSchoolCoachPageReqVO}
* @param page 分页参数
* @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO>
* @author PQZ
* @date 15:02 2025/1/16
**/
IPage<DlDriveSchoolCoachRespVO> queryListPage(DlDriveSchoolCoachPageReqVO pageReqVO, Page<DlDriveSchoolCoachRespVO> page);
/**
* 保存驾校教练
*
* @param createReqVO {@link DlDriveSchoolCoachSaveReqVO}
* @author PQZ @date 2025/1/16
**/
void saveSchoolCoach(@Valid DlDriveSchoolCoachSaveReqVO createReqVO);
/**
* 删除驾校教练
*
* @param id 教练id
* @author PQZ
* @date 21:39 2025/1/16
**/
void deleteDlDriveSchoolCoach(String id);
/**
* 获得驾校教练
*
* @param id 编号
* @return 驾校教练
*/
DlDriveSchoolCoachRespVO getDlDriveSchoolCoach(String id);
}

View File

@ -0,0 +1,67 @@
package cn.iocoder.yudao.module.base.service;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* 驾校课程Service
*
* @author pqz
*/
public interface DlDriveSchoolCourseService extends IService<DlDriveSchoolCourse> {
/**
* 分页查询驾校课程
*
* @param pageReqVO DlDriveSchoolCourseVO
* @param page 分页参数
* @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO>
* @author PQZ
* @date 22:04 2025/1/16
**/
IPage<DlDriveSchoolCourseVO> queryListPage(DlDriveSchoolCourseVO pageReqVO, Page<DlDriveSchoolCourseVO> page);
/**
* 不分页查询驾校课程
*
* @param courseVO {@link DlDriveSchoolCourseVO}
* @return java.util.List<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO>
* @author PQZ
* @date 22:07 2025/1/16
**/
List<DlDriveSchoolCourse> queryList(DlDriveSchoolCourseVO courseVO);
/**
* 保存课程信息
*
* @param courseVO {@link DlDriveSchoolCourseVO}
* @author PQZ
* @date 22:12 2025/1/16
**/
void saveDriveSchoolCourse(DlDriveSchoolCourseVO courseVO);
/**
* 删除课程信息
*
* @param id 课程id
* @author PQZ
* @date 22:14 2025/1/16
**/
void deleteCourse(String id);
/**
* 通过id查询课程信息
*
* @param id 课程id
* @return cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO
* @author PQZ
* @date 22:15 2025/1/16
**/
DlDriveSchoolCourseVO queryDetailById(String id);
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.yudao.module.base.service;
public class TestService {
}

View File

@ -0,0 +1,134 @@
package cn.iocoder.yudao.module.base.service.impl;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCoachMapper;
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 实现类
*
* @author pqz
*/
@Service
@Validated
public class DlDriveSchoolCoachServiceImpl extends ServiceImpl<DlDriveSchoolCoachMapper, DlDriveSchoolCoach> implements DlDriveSchoolCoachService {
@Resource
private DlDriveSchoolCoachMapper dlDriveSchoolCoachMapper;
@Resource
@Lazy
private AdminUserApi adminUserApi;
@Resource
private PermissionApi permissionApi;
/**
* 驾校教练普通员工列表
*
* @param pageReqVO {@link DlDriveSchoolCoachPageReqVO}
* @param page 分页参数
* @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO>
* @author PQZ
* @date 15:02 2025/1/16
**/
@Override
public IPage<DlDriveSchoolCoachRespVO> queryListPage(DlDriveSchoolCoachPageReqVO pageReqVO, Page<DlDriveSchoolCoachRespVO> page) {
return dlDriveSchoolCoachMapper.queryListPage(pageReqVO, page);
}
/**
* 保存驾校教练
*
* @param createReqVO {@link DlDriveSchoolCoachSaveReqVO}
* @author PQZ
* @date 21:07 2025/1/16
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void saveSchoolCoach(DlDriveSchoolCoachSaveReqVO createReqVO) {
/*1、数据类型转换*/
DlDriveSchoolCoach dlDriveSchoolCoach = BeanUtils.toBean(createReqVO, DlDriveSchoolCoach.class);
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) {
removeById(id);
}
/**
* 通过id查询教练信息
*
* @param id 教练id
* @return cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO
* @author PQZ
* @date 21:43 2025/1/16
**/
@Override
public DlDriveSchoolCoachRespVO getDlDriveSchoolCoach(String id) {
//通过id查询教练信息
DlDriveSchoolCoach schoolCoach = getById(id);
//数据类型转换
DlDriveSchoolCoachRespVO result = BeanUtils.toBean(schoolCoach, DlDriveSchoolCoachRespVO.class);
return result;
}
}

View File

@ -0,0 +1,101 @@
package cn.iocoder.yudao.module.base.service.impl;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCourseMapper;
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseService;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO;
import cn.iocoder.yudao.module.jx.core.page.TenantBaDO;
import cn.iocoder.yudao.module.jx.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
/**
* 驾校教练 Service 实现类
*
* @author pqz
*/
@Service
@Validated
public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCourseMapper, DlDriveSchoolCourse> implements DlDriveSchoolCourseService {
/**
* 分页查询驾校课程
*
* @param pageReqVO {@link DlDriveSchoolCourseVO}
* @param page 分页参数
* @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO>
* @author PQZ
* @date 22:04 2025/1/16
**/
@Override
public IPage<DlDriveSchoolCourseVO> queryListPage(DlDriveSchoolCourseVO pageReqVO, Page<DlDriveSchoolCourseVO> page) {
return null;
}
/**
* 不分页查询驾校课程
*
* @param courseVO {@link DlDriveSchoolCourseVO}
* @return java.util.List<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO>
* @author PQZ
* @date 22:07 2025/1/16
**/
@Override
public List<DlDriveSchoolCourse> queryList(DlDriveSchoolCourseVO courseVO) {
LambdaQueryWrapper<DlDriveSchoolCourse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(TenantBaDO::getDeleted, 0);
if (StringUtils.isNotEmpty(courseVO.getName())) {
lambdaQueryWrapper.like(DlDriveSchoolCourse::getName, courseVO.getName());
}
return list(lambdaQueryWrapper);
}
/**
* 保存课程信息
*
* @param courseVO {@link DlDriveSchoolCourseVO}
* @author PQZ
* @date 22:12 2025/1/16
**/
@Override
public void saveDriveSchoolCourse(DlDriveSchoolCourseVO courseVO) {
saveOrUpdate(courseVO);
}
/**
* 删除课程信息
*
* @param id 课程id
* @author PQZ
* @date 22:14 2025/1/16
**/
@Override
public void deleteCourse(String id) {
removeById(id);
}
/**
* 通过id查询课程信息
*
* @param id 课程id
* @return cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO
* @author PQZ
* @date 22:15 2025/1/16
**/
@Override
public DlDriveSchoolCourseVO queryDetailById(String id) {
DlDriveSchoolCourse course = getById(id);
DlDriveSchoolCourseVO result = BeanUtils.toBean(course, DlDriveSchoolCourseVO.class);
return result;
}
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.yudao.module.base.service.impl;
public class TestServiceImpl {
}

View File

@ -0,0 +1,15 @@
package cn.iocoder.yudao.module.base.vo;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 驾校教练分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DlDriveSchoolCoachPageReqVO extends DlDriveSchoolCoach {
}

View File

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.base.vo;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 驾校教练 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DlDriveSchoolCoachRespVO extends DlDriveSchoolCoach {
}

View File

@ -0,0 +1,11 @@
package cn.iocoder.yudao.module.base.vo;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 驾校教练新增/修改 Request VO")
@Data
public class DlDriveSchoolCoachSaveReqVO extends DlDriveSchoolCoach {
}

View File

@ -0,0 +1,17 @@
package cn.iocoder.yudao.module.base.vo;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
import cn.iocoder.yudao.module.jx.core.page.TenantBaDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
@Schema(description = "驾校课程管理VO")
@Data
public class DlDriveSchoolCourseVO extends DlDriveSchoolCourse {
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.yudao.module.base.vo;
public class TestVo {
}

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCoachMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="queryListPage" resultType="cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO">
SELECT
main.*
FROM
drive_school_coach main
<where>
main.deleted = 0
<if test="entity.type != null and entity.type != '' ">and main.type = #{entity.type}</if>
<if test="entity.name != null and entity.name != ''">and main.name like concat('%', #{entity.name}, '%')</if>
<if test="entity.phone != null and entity.phone != ''">and main.phone like concat('%', #{entity.phone}, '%')</if>
</where>
</select>
</mapper>