1
This commit is contained in:
parent
45f43b6a38
commit
6a85ce60bd
@ -28,9 +28,20 @@ public interface DlDriveSchoolCoachCourseService extends IService<DlDriveSchoolC
|
||||
|
||||
/**
|
||||
* 通过课程id删除课程与教练关联关系
|
||||
*
|
||||
* @param courseId 课程id
|
||||
* @author PQZ
|
||||
* @date 17:35 2025/2/7
|
||||
* @param courseId 课程id
|
||||
**/
|
||||
**/
|
||||
void removeByCourseId(String courseId);
|
||||
|
||||
/**
|
||||
* 通过课程id查询课程与教练关联关系
|
||||
*
|
||||
* @param courseId 课程id
|
||||
* @return java.util.List<cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse>
|
||||
* @author PQZ
|
||||
* @date 14:17 2025/2/8
|
||||
**/
|
||||
List<DlDriveSchoolCoachCourse> queryByCourseId(String courseId);
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.base.service.impl;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
|
||||
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCoachCourseMapper;
|
||||
@ -71,4 +72,19 @@ public class DlDriveSchoolCoachCourseServiceImpl extends ServiceImpl<DlDriveScho
|
||||
lambdaQueryWrapper.eq(DlDriveSchoolCoachCourse::getCourseId,courseId);
|
||||
remove(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过课程id查询课程与教练关联关系
|
||||
*
|
||||
* @param courseId 课程id
|
||||
* @return java.util.List<cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse>
|
||||
* @author PQZ
|
||||
* @date 14:17 2025/2/8
|
||||
**/
|
||||
@Override
|
||||
public List<DlDriveSchoolCoachCourse> queryByCourseId(String courseId) {
|
||||
LambdaQueryWrapper<DlDriveSchoolCoachCourse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(DlDriveSchoolCoachCourse::getCourseId,courseId).eq(BaseDO::getDeleted,0).orderByDesc(BaseDO::getCreateTime);
|
||||
return list(lambdaQueryWrapper);
|
||||
}
|
||||
}
|
@ -2,10 +2,12 @@ package cn.iocoder.yudao.module.base.service.impl;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
|
||||
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCourseMapper;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachCourseService;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseService;
|
||||
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO;
|
||||
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO;
|
||||
import cn.iocoder.yudao.module.jx.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@ -16,7 +18,10 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 驾校教练 Service 实现类
|
||||
@ -43,7 +48,7 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
**/
|
||||
@Override
|
||||
public IPage<DlDriveSchoolCourseVO> queryListPage(DlDriveSchoolCourseVO pageReqVO, Page<DlDriveSchoolCourseVO> page) {
|
||||
return courseMapper.queryListPage(pageReqVO,page);
|
||||
return courseMapper.queryListPage(pageReqVO, page);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -73,9 +78,9 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
**/
|
||||
@Override
|
||||
public void saveDriveSchoolCourse(DlDriveSchoolCourseVO courseVO) {
|
||||
DlDriveSchoolCourse course = BeanUtils.toBean(courseVO,DlDriveSchoolCourse.class);
|
||||
DlDriveSchoolCourse course = BeanUtils.toBean(courseVO, DlDriveSchoolCourse.class);
|
||||
saveOrUpdate(course);
|
||||
coachCourseService.saveCoachCourse(course.getId(),courseVO.getName(),courseVO.getType(),courseVO.getCoachList());
|
||||
coachCourseService.saveCoachCourse(course.getId(), courseVO.getName(), courseVO.getType(), courseVO.getCoachList());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -101,9 +106,47 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
@Override
|
||||
public DlDriveSchoolCourseVO queryDetailById(String id) {
|
||||
DlDriveSchoolCourse course = getById(id);
|
||||
//查询课程信息
|
||||
DlDriveSchoolCourseVO result = BeanUtils.toBean(course, DlDriveSchoolCourseVO.class);
|
||||
//课程关联教练
|
||||
List<DlDriveSchoolCoachVO> coachList = transCoachList(coachCourseService.queryByCourseId(id));
|
||||
result.setCoachList(coachList);
|
||||
// 使用 Stream API 按 coachId 分组
|
||||
Map<String, List<String>> groupedCoachMap = coachList.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
DlDriveSchoolCoachVO::getCoachName,
|
||||
Collectors.mapping(coach -> "科目" + coach.getSubject() , Collectors.toList())
|
||||
));
|
||||
// 将 groupedCoachMap 转换为字符串格式
|
||||
String resultString = groupedCoachMap.entrySet().stream()
|
||||
.map(entry -> entry.getKey() + "[" + String.join(" ", entry.getValue()) + "]")
|
||||
.collect(Collectors.joining(", "));
|
||||
result.setCoachListText(resultString);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 数据类型转换
|
||||
* @author PQZ
|
||||
* @date 14:25 2025/2/8
|
||||
* @param coachList TODO
|
||||
* @return java.util.List<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO>
|
||||
**/
|
||||
private List<DlDriveSchoolCoachVO> transCoachList(List<DlDriveSchoolCoachCourse> coachList) {
|
||||
List<DlDriveSchoolCoachVO> transList = new ArrayList<>();
|
||||
if (!coachList.isEmpty()) {
|
||||
coachList.forEach(item -> {
|
||||
DlDriveSchoolCoachVO vo = new DlDriveSchoolCoachVO();
|
||||
vo.setCoachId(item.getCoachId());
|
||||
vo.setCoachName(item.getCoachName());
|
||||
vo.setSubject(item.getSubject());
|
||||
vo.setCoachPhone(item.getCoachPhone());
|
||||
transList.add(vo);
|
||||
});
|
||||
}
|
||||
return transList;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -14,7 +14,6 @@ import java.util.List;
|
||||
@Schema(description = "驾校课程管理VO")
|
||||
@Data
|
||||
public class DlDriveSchoolCourseVO extends DlDriveSchoolCourse {
|
||||
|
||||
List<DlDriveSchoolCoachVO> coachList;
|
||||
|
||||
private List<DlDriveSchoolCoachVO> coachList;
|
||||
private String coachListText;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user