This commit is contained in:
Lx 2025-04-01 17:55:33 +08:00
parent 13bfeabaa9
commit f00389d7d9
9 changed files with 126 additions and 7 deletions

View File

@ -141,5 +141,17 @@
<!-- 请到https://search.maven.org/search?q=tencentcloud-sdk-java查询所有版本最新版本如下 --> <!-- 请到https://search.maven.org/search?q=tencentcloud-sdk-java查询所有版本最新版本如下 -->
<version>3.1.837</version> <version>3.1.837</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.5</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -87,6 +87,10 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId> <artifactId>spring-boot-starter-mail</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-common</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -1,13 +1,19 @@
package cn.iocoder.yudao.module.base.controller.app; package cn.iocoder.yudao.module.base.controller.app;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachCourseService;
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachService; import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachService;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachPageReqVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachPageReqVO;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachRespVO;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -18,6 +24,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.annotation.security.PermitAll; import javax.annotation.security.PermitAll;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "小程序 - 驾校教练") @Tag(name = "小程序 - 驾校教练")
@ -29,6 +37,9 @@ public class DlDriveSchoolCoachSmallProgramController {
@Resource @Resource
private DlDriveSchoolCoachService dlDriveSchoolCoachService; private DlDriveSchoolCoachService dlDriveSchoolCoachService;
@Resource
private DlDriveSchoolCoachCourseService coachCourseService;
/** /**
* 驾校教练普通员工列表 * 驾校教练普通员工列表
* *
@ -49,4 +60,36 @@ public class DlDriveSchoolCoachSmallProgramController {
Page<DlDriveSchoolCoachRespVO> page = new Page<>(pageNo, pageSize); Page<DlDriveSchoolCoachRespVO> page = new Page<>(pageNo, pageSize);
return success(dlDriveSchoolCoachService.queryListPage(pageReqVO, page)); return success(dlDriveSchoolCoachService.queryListPage(pageReqVO, page));
} }
/**
* 通过课程id查询课程与教练关联关系
*
* @param courseId 课程id
* @return java.util.List<cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse>
* @author PQZ
* @date 14:17 2025/2/8
**/
@GetMapping("/queryCoachByCourseId")
@TenantIgnore
@PermitAll
public List<DlDriveSchoolCoachCourse> queryByCourseId(String courseId) {
return coachCourseService.queryByCourseId(courseId);
}
/**
*
* @author vinjor-M
* @date 15:41 2025/2/18
* @param userId userId
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
**/
@GetMapping("/getCoachByUserId")
@Operation(summary = "根据userId获得驾校教练信息")
@Parameter(name = "userId", description = "用户id", required = true, example = "1024")
@TenantIgnore
@PermitAll
public CommonResult<?> getCoachByUserId(@RequestParam("userId") Long userId) {
return success(dlDriveSchoolCoachService.getDlDriveSchoolCoachByUserId(userId));
}
} }

View File

@ -1,17 +1,25 @@
package cn.iocoder.yudao.module.base.controller.app; package cn.iocoder.yudao.module.base.controller.app;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent;
import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService; import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.annotation.security.PermitAll;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "驾校学员") @Tag(name = "驾校学员")
@ -23,8 +31,13 @@ public class DlDriveSchoolStudentSmallProgramController {
@Resource @Resource
private DlDriveSchoolStudentService schoolStudentService; private DlDriveSchoolStudentService schoolStudentService;
@Autowired
private DlDriveSchoolStudentService studentService;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建驾校学员") @Operation(summary = "创建驾校学员")
@TenantIgnore
@PermitAll
public CommonResult<String> createDlDriveSchoolStudent(@Valid @RequestBody DlDriveSchoolStudentVO createReqVO) { public CommonResult<String> createDlDriveSchoolStudent(@Valid @RequestBody DlDriveSchoolStudentVO createReqVO) {
return success(schoolStudentService.createDlDriveSchoolStudent(createReqVO)); return success(schoolStudentService.createDlDriveSchoolStudent(createReqVO));
} }
@ -50,4 +63,19 @@ public class DlDriveSchoolStudentSmallProgramController {
public CommonResult<DlDriveSchoolStudentVO> getDlDriveSchoolStudent(@RequestParam("id") String id) { public CommonResult<DlDriveSchoolStudentVO> getDlDriveSchoolStudent(@RequestParam("id") String id) {
return success(schoolStudentService.queryStudentById(id)); return success(schoolStudentService.queryStudentById(id));
} }
/**
* 根据userID查学员详情
*
* @param userId 用户ID
* @return cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent
* @author vinjor-M
* @date 22:17 2025/1/20
**/
@GetMapping("/getByUserId")
@TenantIgnore
@PermitAll
public CommonResult<DlDriveSchoolStudent> getStudentByUserId(Long userId) {
return success(studentService.getStudentByUserId(userId));
}
} }

View File

@ -26,6 +26,15 @@ public interface DlDriveSchoolStudentService extends IService<DlDriveSchoolStude
*/ */
String createDlDriveSchoolStudent(@Valid DlDriveSchoolStudentVO createReqVO); String createDlDriveSchoolStudent(@Valid DlDriveSchoolStudentVO createReqVO);
/**
* 根据身份证查询学员是否已存在
*
* @param idCard 身份证号
* return boolean
*
*/
DlDriveSchoolStudent getStudentByIdCard(String idCard);
/** /**
* 获取学员详细信息 * 获取学员详细信息
* *

View File

@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO;
import cn.iocoder.yudao.module.base.vo.StudentCountVO; import cn.iocoder.yudao.module.base.vo.StudentCountVO;
import cn.iocoder.yudao.module.course.service.ProcessService; import cn.iocoder.yudao.module.course.service.ProcessService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -40,11 +41,26 @@ public class DlDriveSchoolStudentServiceImpl extends ServiceImpl<DlDriveSchoolSt
public String createDlDriveSchoolStudent(DlDriveSchoolStudentVO createReqVO) { public String createDlDriveSchoolStudent(DlDriveSchoolStudentVO createReqVO) {
// 插入 // 插入
DlDriveSchoolStudent dlDriveSchoolStudent = BeanUtils.toBean(createReqVO, DlDriveSchoolStudent.class); DlDriveSchoolStudent dlDriveSchoolStudent = BeanUtils.toBean(createReqVO, DlDriveSchoolStudent.class);
dlDriveSchoolStudentMapper.insert(dlDriveSchoolStudent); DlDriveSchoolStudent studentByIdCard = this.getStudentByIdCard(dlDriveSchoolStudent.getIdCard());
if(studentByIdCard == null){
dlDriveSchoolStudentMapper.insert(dlDriveSchoolStudent);
return dlDriveSchoolStudent.getId();
}
// 返回 // 返回
return dlDriveSchoolStudent.getId(); return studentByIdCard.getId();
} }
@Override
public DlDriveSchoolStudent getStudentByIdCard(String idCard) {
return lambdaQuery()
.eq(DlDriveSchoolStudent::getIdCard, idCard)
.orderByDesc(DlDriveSchoolStudent::getCreateTime)
.last("LIMIT 1")
.one();
}
/** /**
* 获取学员详细信息 * 获取学员详细信息
* *

View File

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.course.controller.admin;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.module.course.entity.Process; import cn.iocoder.yudao.module.course.entity.Process;
import cn.iocoder.yudao.module.course.service.ProcessService; import cn.iocoder.yudao.module.course.service.ProcessService;
import cn.iocoder.yudao.module.course.vo.ProcessAddVO; import cn.iocoder.yudao.module.course.vo.ProcessAddVO;
@ -15,6 +16,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.annotation.security.PermitAll;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;

View File

@ -49,7 +49,8 @@
dsp.deleted = 0 dsp.deleted = 0
<if test="entity.coachName != null and entity.coachName != '' "> and dsp.coach_name like concat('%', #{entity.coachName}, '%')</if> <if test="entity.coachName != null and entity.coachName != '' "> and dsp.coach_name like concat('%', #{entity.coachName}, '%')</if>
<if test="entity.userName != null and entity.userName != '' "> and dsp.user_name like concat('%', #{entity.userName}, '%')</if> <if test="entity.userName != null and entity.userName != '' "> and dsp.user_name like concat('%', #{entity.userName}, '%')</if>
<if test="entity.courseName != null and entity.courseName != '' "> and dsc.name like concat('%', #{entity.courseName}, '%')</if> <if test="entity.courseName != null and entity.courseName != '' "> and dsp.name like concat('%', #{entity.courseName}, '%')</if>
<if test="entity.userId != null "> and dsp.user_id = #{entity.userId}</if>
</where> </where>
order by dsp.create_time desc order by dsp.create_time desc
</select> </select>

View File

@ -31,6 +31,10 @@
<artifactId>poi-tl</artifactId> <artifactId>poi-tl</artifactId>
<version>1.10.0</version> <version>1.10.0</version>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies> </dependencies>
<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>