Merge branch 'driver' of http://122.51.230.86:3000/dianliang/lanan-system into driver
This commit is contained in:
commit
29212c74ca
@ -29,4 +29,16 @@ public interface ProcessService extends IService<Process> {
|
|||||||
* @param process 查询对象
|
* @param process 查询对象
|
||||||
**/
|
**/
|
||||||
IPage<Process> getMyCourseStudentPage(Process process, Page<Process> page);
|
IPage<Process> getMyCourseStudentPage(Process process, Page<Process> page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查某个学员在某个教练的某个课程、某个科目的学习进度(当前在练习中的)
|
||||||
|
* @author vinjor-M
|
||||||
|
* @date 18:39 2025/1/16
|
||||||
|
* @param userId 学生id
|
||||||
|
* @param courseId 课程id
|
||||||
|
* @param subject 科目
|
||||||
|
* @param coachId 教练id
|
||||||
|
* @return cn.iocoder.yudao.module.course.entity.Process
|
||||||
|
**/
|
||||||
|
Process getByStudentAndCourse(Integer userId,String courseId,Integer subject,Long coachId);
|
||||||
}
|
}
|
||||||
|
@ -65,9 +65,33 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
queryWrapper.like(Process::getUserName,process.getUserName());
|
queryWrapper.like(Process::getUserName,process.getUserName());
|
||||||
}
|
}
|
||||||
//状态等于1-训练中的
|
//状态等于1-训练中的
|
||||||
queryWrapper.ne(Process::getStatus,"1")
|
queryWrapper.eq(Process::getStatus,"1")
|
||||||
.groupBy(Process::getUserId)
|
.groupBy(Process::getUserId)
|
||||||
.orderByDesc(BaseDO::getCreateTime);
|
.orderByDesc(BaseDO::getCreateTime);
|
||||||
return this.page(page,queryWrapper);
|
return this.page(page,queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查某个学员在某个教练的某个课程、某个科目的学习进度(当前在练习中的)
|
||||||
|
*
|
||||||
|
* @param userId 学生id
|
||||||
|
* @param courseId 课程id
|
||||||
|
* @param subject 科目
|
||||||
|
* @param coachId 教练id
|
||||||
|
* @return cn.iocoder.yudao.module.course.entity.Process
|
||||||
|
* @author vinjor-M
|
||||||
|
* @date 18:39 2025/1/16
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public Process getByStudentAndCourse(Integer userId, String courseId, Integer subject, Long coachId) {
|
||||||
|
LambdaQueryWrapper<Process> queryWrapper = new LambdaQueryWrapper<Process>()
|
||||||
|
.eq(Process::getUserId,userId)
|
||||||
|
.eq(Process::getCoachId,coachId)
|
||||||
|
.eq(Process::getCourseId,courseId)
|
||||||
|
.eq(Process::getSubject,subject)
|
||||||
|
.eq(Process::getStatus,"1")
|
||||||
|
.orderByDesc(BaseDO::getCreateTime);
|
||||||
|
List<Process> processList = this.list(queryWrapper);
|
||||||
|
return processList.isEmpty()?null:processList.get(0);
|
||||||
|
}
|
||||||
}
|
}
|
@ -72,5 +72,20 @@ public class ReservationCourseController {
|
|||||||
return success(reservationCourseService.getById(id));
|
return success(reservationCourseService.getById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据学生userId查询学生信息及当天的预约记录
|
||||||
|
* @author vinjor-M
|
||||||
|
* @date 17:25 2025/1/16
|
||||||
|
* @param userId 学生userId
|
||||||
|
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<cn.iocoder.yudao.module.train.entity.ReservationCourse>
|
||||||
|
**/
|
||||||
|
@GetMapping("/getUserInfoAndReservation")
|
||||||
|
@Operation(summary = "根据学生userId查询学生信息及当天的预约记录")
|
||||||
|
@Parameter(name = "id", description = "学生userId", required = true, example = "1024")
|
||||||
|
public CommonResult<?> getReservationCourse(@RequestParam("userId") Integer userId,
|
||||||
|
@RequestParam("courseId") String courseId,
|
||||||
|
@RequestParam("subject") Integer subject) {
|
||||||
|
return success(reservationCourseService.getUserInfoAndReservation(userId,courseId,subject));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约练车 DO
|
* 预约练车 DO
|
||||||
*
|
*
|
||||||
@ -51,11 +49,11 @@ public class ReservationCourse extends TenantBaseDO {
|
|||||||
*/
|
*/
|
||||||
private String coachName;
|
private String coachName;
|
||||||
/**
|
/**
|
||||||
* 预约日期
|
* 预约日期 yyyy-MM-dd
|
||||||
*/
|
*/
|
||||||
private Date reservDay;
|
private String reservDay;
|
||||||
/**
|
/**
|
||||||
* 时间段(字典:school_reserv_time)
|
* 时间段(字典:school_reserv_time)09:00-10:00
|
||||||
*/
|
*/
|
||||||
private String reservTime;
|
private String reservTime;
|
||||||
/**
|
/**
|
||||||
|
@ -38,6 +38,10 @@ public class Train extends TenantBaseDO {
|
|||||||
* 课程名称
|
* 课程名称
|
||||||
*/
|
*/
|
||||||
private String courseName;
|
private String courseName;
|
||||||
|
/**
|
||||||
|
* 科目(1-科目一;2-科目二;3科目三;4科目四)
|
||||||
|
*/
|
||||||
|
private Integer subject;
|
||||||
/**
|
/**
|
||||||
* 用户(学员)ID
|
* 用户(学员)ID
|
||||||
*/
|
*/
|
||||||
|
@ -6,6 +6,8 @@ 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.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约练车 Service 接口
|
* 预约练车 Service 接口
|
||||||
*
|
*
|
||||||
@ -23,4 +25,13 @@ public interface ReservationCourseService extends IService<ReservationCourse> {
|
|||||||
**/
|
**/
|
||||||
IPage<ReservationCourseVO> queryListPage(ReservationCourseVO pageReqVO, Page<ReservationCourseVO> page);
|
IPage<ReservationCourseVO> queryListPage(ReservationCourseVO pageReqVO, Page<ReservationCourseVO> page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据学生userId查询学生信息及当天的预约记录
|
||||||
|
* @author vinjor-M
|
||||||
|
* @date 17:27 2025/1/16
|
||||||
|
* @param userId
|
||||||
|
* @return java.util.Map<java.lang.String,java.lang.Object>
|
||||||
|
**/
|
||||||
|
Map<String,Object> getUserInfoAndReservation(Integer userId,String courseId,Integer subject);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,27 @@
|
|||||||
package cn.iocoder.yudao.module.train.service.impl;
|
package cn.iocoder.yudao.module.train.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
|
import cn.iocoder.yudao.module.course.entity.Process;
|
||||||
|
import cn.iocoder.yudao.module.course.service.ProcessService;
|
||||||
import cn.iocoder.yudao.module.train.entity.ReservationCourse;
|
import cn.iocoder.yudao.module.train.entity.ReservationCourse;
|
||||||
import cn.iocoder.yudao.module.train.mapper.ReservationCourseMapper;
|
import cn.iocoder.yudao.module.train.mapper.ReservationCourseMapper;
|
||||||
import cn.iocoder.yudao.module.train.service.ReservationCourseService;
|
import cn.iocoder.yudao.module.train.service.ReservationCourseService;
|
||||||
import cn.iocoder.yudao.module.train.vo.ReservationCourseVO;
|
import cn.iocoder.yudao.module.train.vo.ReservationCourseVO;
|
||||||
|
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约练车 Service 实现类
|
* 预约练车 Service 实现类
|
||||||
@ -20,6 +32,8 @@ import org.springframework.stereotype.Service;
|
|||||||
public class ReservationCourseServiceImpl extends ServiceImpl<ReservationCourseMapper, ReservationCourse> implements ReservationCourseService {
|
public class ReservationCourseServiceImpl extends ServiceImpl<ReservationCourseMapper, ReservationCourse> implements ReservationCourseService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ReservationCourseMapper reservationCourseMapper;
|
private ReservationCourseMapper reservationCourseMapper;
|
||||||
|
@Autowired
|
||||||
|
private ProcessService processService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询
|
* 分页查询
|
||||||
@ -35,4 +49,44 @@ public class ReservationCourseServiceImpl extends ServiceImpl<ReservationCourseM
|
|||||||
IPage<ReservationCourseVO> rtnList = reservationCourseMapper.queryListPage(pageReqVO, page);
|
IPage<ReservationCourseVO> rtnList = reservationCourseMapper.queryListPage(pageReqVO, page);
|
||||||
return rtnList;
|
return rtnList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据学生userId查询学生信息及当天的预约记录
|
||||||
|
*
|
||||||
|
* @param userId
|
||||||
|
* @return java.util.Map<java.lang.String, java.lang.Object>
|
||||||
|
* @author vinjor-M
|
||||||
|
* @date 17:27 2025/1/16
|
||||||
|
**/
|
||||||
|
@SneakyThrows
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> getUserInfoAndReservation(Integer userId,String courseId,Integer subject) {
|
||||||
|
Map<String, Object> rtnMap = new HashMap<>();
|
||||||
|
//当前教练ID
|
||||||
|
Long coachId = SecurityFrameworkUtils.getLoginUserId();
|
||||||
|
String nowDayStr = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||||
|
//查预约记录
|
||||||
|
LambdaQueryWrapper<ReservationCourse> queryWrapper=new LambdaQueryWrapper<ReservationCourse>()
|
||||||
|
.eq(ReservationCourse::getUserId,userId)
|
||||||
|
.eq(ReservationCourse::getCoachId,coachId)
|
||||||
|
.eq(ReservationCourse::getCourseId,courseId)
|
||||||
|
.eq(ReservationCourse::getSubject,subject)
|
||||||
|
.eq(ReservationCourse::getIfCancel,false)
|
||||||
|
.eq(ReservationCourse::getReservDay,nowDayStr)
|
||||||
|
.eq(ReservationCourse::getStatus,1)
|
||||||
|
.orderByDesc(BaseDO::getCreateTime);
|
||||||
|
List<ReservationCourse> list = this.list(queryWrapper);
|
||||||
|
if(!list.isEmpty()){
|
||||||
|
rtnMap.put("reservation",list.get(0));
|
||||||
|
}
|
||||||
|
//查该学员,该科目进度
|
||||||
|
Process process = processService.getByStudentAndCourse(userId,courseId,subject,coachId);
|
||||||
|
if(null==process){
|
||||||
|
throw new Exception("该学员未报名你的课程,请向管理员核实");
|
||||||
|
}
|
||||||
|
rtnMap.put("process",process);
|
||||||
|
//TODO 学员表接口对接
|
||||||
|
rtnMap.put("userInfo",null);
|
||||||
|
return rtnMap;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user