From 01cd3bf58661adfafeb20dc7a941bf9c9b34b848 Mon Sep 17 00:00:00 2001 From: PQZ Date: Thu, 6 Feb 2025 16:19:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DlDriveSchoolStaffController.java | 48 ++++++++++++++++++ .../base/entity/DlDriveSchoolCoachCourse.java | 12 +++++ .../base/entity/DlDriveSchoolCourse.java | 28 ++++++----- .../base/mapper/DlDriveSchoolCoachMapper.java | 11 ++++ .../mapper/DlDriveSchoolStudentMapper.java | 11 ++++ .../service/DlDriveSchoolCoachService.java | 13 +++-- .../service/DlDriveSchoolStaffService.java | 25 ++++++++++ .../service/DlDriveSchoolStudentService.java | 11 ++++ .../impl/DlDriveSchoolCoachServiceImpl.java | 13 +++++ .../impl/DlDriveSchoolStaffServiceImpl.java | 50 +++++++++++++++++++ .../impl/DlDriveSchoolStudentServiceImpl.java | 15 ++++++ .../module/base/vo/DlDriveSchoolStaffVO.java | 25 ++++++++++ .../mapper/base/DlDriveSchoolCoachMapper.xml | 22 ++++++++ .../base/DlDriveSchoolStudentMapper.xml | 13 +++++ 14 files changed, 282 insertions(+), 15 deletions(-) create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolStaffController.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStaffService.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStaffServiceImpl.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStaffVO.java diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolStaffController.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolStaffController.java new file mode 100644 index 00000000..6e516582 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolStaffController.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.base.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolStaffService; +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; +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.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 驾校人员管理通用Controller") +@RestController +@RequestMapping("/base/drive-school-staff") +@Validated +public class DlDriveSchoolStaffController { + @Resource + private DlDriveSchoolStaffService staffService; + + /** + * 手机APP分页获取人员信息 + * + * @param staffVO {@link DlDriveSchoolStaffVO} + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult> + * @author PQZ + * @date 13:49 2025/2/6 + **/ + @GetMapping("/pageStaff") + @Operation(summary = "分页获取人员信息") + public CommonResult> pageStaff(DlDriveSchoolStaffVO staffVO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + return success(staffService.pageStaff(staffVO, page)); + } + + +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCoachCourse.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCoachCourse.java index f8d3bdbe..b0959dd6 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCoachCourse.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCoachCourse.java @@ -29,10 +29,22 @@ public class DlDriveSchoolCoachCourse extends TenantBaseDO { * 教练id */ private String coachId; + /** + * 教练名称 + */ + private String coachName; /** * 课程id */ private String courseId; + /** + * 课程名称 + */ + private String courseName; + /** + * 课程类型 + */ + private String courseType; /** * 科目 */ diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCourse.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCourse.java index cbe778f9..364650e8 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCourse.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DlDriveSchoolCourse.java @@ -29,17 +29,17 @@ public class DlDriveSchoolCourse extends TenantBaseDO { private String id; /** - * 车辆档位 - */ - private String automatic; - - /** - * 驾照类型 - */ - private String license; - - /** - * 驾驶证类型 + * 课程类型(驾证类型 + * 1:C1小型手动挡汽车 + * 2:C2小型自动档汽车 + * 3:B1中型客车 + * 4:B2大型货车 + * 5:A1大型客车 + * 6:A2牵引车 + * 7:A3城市公交车 + * 8:D三轮摩托车 + * 9:E两轮摩托车 + * 10:F轻便摩托车) */ private String type; @@ -47,6 +47,10 @@ public class DlDriveSchoolCourse extends TenantBaseDO { * 课程名字 */ private String name; + /** + * 课程名字 + */ + private String tittle; /** * 课程开始时间 @@ -68,7 +72,7 @@ public class DlDriveSchoolCourse extends TenantBaseDO { /** * 课程简介 */ - private String describ; + private String remark; /** * 定金 */ diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachMapper.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachMapper.java index 06595b84..099e8287 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachMapper.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachMapper.java @@ -3,6 +3,7 @@ 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.base.vo.DlDriveSchoolStaffVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -28,4 +29,14 @@ public interface DlDriveSchoolCoachMapper extends BaseMapper **/ IPage queryListPage(@Param("entity") DlDriveSchoolCoachPageReqVO entity, Page page); + /** + * 手机端查询人员信息 + * + * @param entity {@link DlDriveSchoolStaffVO} + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 13:53 2025/2/6 + **/ + IPage pageStaffCoach(@Param("entity") DlDriveSchoolStaffVO entity, Page page); } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java index 0f90fa38..dd2b8924 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.base.mapper; import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent; +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,4 +37,14 @@ public interface DlDriveSchoolStudentMapper extends BaseMapper selectCanExamStudentList(@Param("courseId")String courseId,@Param("coachId")Long coachId ,@Param("subject")Integer subject,@Param("userName")String userName); + + /** + * 手机端人员管理查询学员信息 + * @author PQZ + * @date 14:48 2025/2/6 + * @param staffVO {@link DlDriveSchoolStaffVO} + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + **/ + IPage pageStaffStudent(DlDriveSchoolStaffVO staffVO, Page page); } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachService.java index 983d61c7..6ac4c5aa 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachService.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachService.java @@ -1,9 +1,7 @@ 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 cn.iocoder.yudao.module.base.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; @@ -28,6 +26,15 @@ public interface DlDriveSchoolCoachService extends IService **/ IPage queryListPage(DlDriveSchoolCoachPageReqVO pageReqVO, Page page); + /** + * @param staffVO {@link DlDriveSchoolStaffVO} + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 13:51 2025/2/6 + **/ + IPage pageStaffCoach(DlDriveSchoolStaffVO staffVO, Page page); + /** * 保存驾校教练 * diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStaffService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStaffService.java new file mode 100644 index 00000000..cf94a101 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStaffService.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.base.service; + +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO; +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 驾校人员管理通用接口层 + * + * @author pqz + */ +public interface DlDriveSchoolStaffService { + + /** + * 分页获取人员信息 + * + * @param staffVO {@link DlDriveSchoolStaffVO} + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 13:50 2025/2/6 + **/ + IPage pageStaff(DlDriveSchoolStaffVO staffVO, Page page); +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStudentService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStudentService.java index 6c06c52a..aa55239f 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStudentService.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolStudentService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.base.service; import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent; +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -75,4 +76,14 @@ public interface DlDriveSchoolStudentService extends IService **/ List getCanExamStudentList(String courseId, Integer subject,String userName); + + /** + * 手机端获取学员 + * @author PQZ + * @date 14:47 2025/2/6 + * @param staffVO {@link DlDriveSchoolStaffVO} + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + **/ + IPage pageStaffStudent(DlDriveSchoolStaffVO staffVO, Page page); } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java index 1e8a9462..8a1d2cc3 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java @@ -7,6 +7,7 @@ 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.base.vo.DlDriveSchoolStaffVO; 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; @@ -57,6 +58,18 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl + * @author PQZ + * @date 13:51 2025/2/6 + **/ + @Override + public IPage pageStaffCoach(DlDriveSchoolStaffVO staffVO, Page page) { + return dlDriveSchoolCoachMapper.pageStaffCoach(staffVO,page); + } + /** * 保存驾校教练 * diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStaffServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStaffServiceImpl.java new file mode 100644 index 00000000..6ddd8b97 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStaffServiceImpl.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.base.service.impl; + +import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachService; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolStaffService; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService; +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 驾校人员管理通用接口实现类 + * + * @author pqz + */ +@Service +@Validated +public class DlDriveSchoolStaffServiceImpl implements DlDriveSchoolStaffService { + + @Resource + private DlDriveSchoolCoachService coachService; + @Resource + private DlDriveSchoolStudentService studentService; + + + /** + * 分页获取人员信息 + * + * @param staffVO {@link DlDriveSchoolStaffVO} + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 13:50 2025/2/6 + **/ + @Override + public IPage pageStaff(DlDriveSchoolStaffVO staffVO, Page page) { + IPage staffVOIPage = null; + if ("student".equals(staffVO.getType())){ + //学生 + staffVOIPage = studentService.pageStaffStudent(staffVO,page); + } else { + //教练和员工 + staffVOIPage = coachService.pageStaffCoach(staffVO,page); + } + return staffVOIPage; + } +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java index 836aac40..5d9d2c4c 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent; import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolStudentMapper; import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService; +import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -105,5 +106,19 @@ public class DlDriveSchoolStudentServiceImpl extends ServiceImpl + * @author PQZ + * @date 14:47 2025/2/6 + **/ + @Override + public IPage pageStaffStudent(DlDriveSchoolStaffVO staffVO, Page page) { + return dlDriveSchoolStudentMapper.pageStaffStudent(staffVO,page); + } + } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStaffVO.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStaffVO.java new file mode 100644 index 00000000..7c33d0c1 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStaffVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.base.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "驾校人员-手机APP查询专用接口") +@Data +public class DlDriveSchoolStaffVO { + /**主键id*/ + private String id; + /**人员类型*/ + private String type; + /**人员姓名*/ + private String name; + /**教龄*/ + private Integer seniority; + /**车牌*/ + private String carId; + /**联系电话*/ + private String phone; + /**科目*/ + private String subject; + /**课程类型*/ + private String courseTypes; +} \ No newline at end of file diff --git a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml index 2ae6b9ed..c3056cc2 100644 --- a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml @@ -24,4 +24,26 @@ order by main.create_time desc + \ No newline at end of file diff --git a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml index 5cb8fdd8..880fdd28 100644 --- a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml @@ -43,4 +43,17 @@ ORDER BY dss.create_time DESC + \ No newline at end of file