保存课程教练关联关系
This commit is contained in:
parent
64927cecf0
commit
a713c8f862
@ -33,6 +33,10 @@ public class DlDriveSchoolCoachCourse extends TenantBaseDO {
|
||||
* 教练名称
|
||||
*/
|
||||
private String coachName;
|
||||
/**
|
||||
* 教练联系方式
|
||||
*/
|
||||
private String coachPhone;
|
||||
/**
|
||||
* 课程id
|
||||
*/
|
||||
|
@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.base.mapper;
|
||||
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 驾校教练 Mapper
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
@Mapper
|
||||
public interface DlDriveSchoolCoachCourseMapper extends BaseMapper<DlDriveSchoolCoachCourse> {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.base.service;
|
||||
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
|
||||
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 驾校教练 Service 接口
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
public interface DlDriveSchoolCoachCourseService extends IService<DlDriveSchoolCoachCourse> {
|
||||
|
||||
/**
|
||||
* 保存课程与教练关联关系
|
||||
*
|
||||
* @param courseId 课程id
|
||||
* @param courseName 课程名称
|
||||
* @param courseType 教练类型
|
||||
* @param coachList 教练集合
|
||||
* @author PQZ
|
||||
* @date 17:14 2025/2/7
|
||||
**/
|
||||
void saveCoachCourse(String courseId, String courseName, String courseType, List<DlDriveSchoolCoachVO> coachList);
|
||||
|
||||
/**
|
||||
* 通过课程id删除课程与教练关联关系
|
||||
* @author PQZ
|
||||
* @date 17:35 2025/2/7
|
||||
* @param courseId 课程id
|
||||
**/
|
||||
void removeByCourseId(String courseId);
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
package cn.iocoder.yudao.module.base.service.impl;
|
||||
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
|
||||
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCoachCourseMapper;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachCourseService;
|
||||
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 驾校教练 Service 实现类
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class DlDriveSchoolCoachCourseServiceImpl extends ServiceImpl<DlDriveSchoolCoachCourseMapper, DlDriveSchoolCoachCourse> implements DlDriveSchoolCoachCourseService {
|
||||
|
||||
/**
|
||||
* 保存课程与教练关联关系
|
||||
*
|
||||
* @param courseId 课程id
|
||||
* @param courseName 课程名称
|
||||
* @param courseType 教练类型
|
||||
* @param coachList 教练集合
|
||||
* @author PQZ
|
||||
* @date 17:14 2025/2/7
|
||||
**/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveCoachCourse(String courseId, String courseName, String courseType, List<DlDriveSchoolCoachVO> coachList) {
|
||||
List<DlDriveSchoolCoachCourse> saveList = new ArrayList<>();
|
||||
//删除与课程关联的教练
|
||||
removeByCourseId(courseId);
|
||||
//初始化教练与课程关联数据
|
||||
if (!coachList.isEmpty()){
|
||||
coachList.forEach(item -> {
|
||||
DlDriveSchoolCoachCourse coachCourse = new DlDriveSchoolCoachCourse();
|
||||
coachCourse.setCoachId(item.getCoachId());
|
||||
coachCourse.setCoachName(item.getCoachName());
|
||||
coachCourse.setCoachPhone(item.getCoachPhone());
|
||||
//教练在本课程中的任教科目
|
||||
coachCourse.setSubject(item.getSubject());
|
||||
coachCourse.setCourseId(courseId);
|
||||
coachCourse.setCourseName(courseName);
|
||||
coachCourse.setCourseType(courseType);
|
||||
saveList.add(coachCourse);
|
||||
});
|
||||
}
|
||||
//批量保存
|
||||
saveBatch(saveList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过课程id删除课程与教练关联关系
|
||||
*
|
||||
* @param courseId 课程id
|
||||
* @author PQZ
|
||||
* @date 17:35 2025/2/7
|
||||
**/
|
||||
@Override
|
||||
public void removeByCourseId(String courseId) {
|
||||
LambdaQueryWrapper<DlDriveSchoolCoachCourse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(DlDriveSchoolCoachCourse::getCourseId,courseId);
|
||||
remove(lambdaQueryWrapper);
|
||||
}
|
||||
}
|
@ -4,6 +4,7 @@ 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.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.DlDriveSchoolCourseVO;
|
||||
import cn.iocoder.yudao.module.jx.utils.StringUtils;
|
||||
@ -28,6 +29,8 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
|
||||
@Resource
|
||||
private DlDriveSchoolCourseMapper courseMapper;
|
||||
@Resource
|
||||
private DlDriveSchoolCoachCourseService coachCourseService;
|
||||
|
||||
/**
|
||||
* 分页查询驾校课程
|
||||
@ -70,7 +73,9 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
**/
|
||||
@Override
|
||||
public void saveDriveSchoolCourse(DlDriveSchoolCourseVO courseVO) {
|
||||
saveOrUpdate(courseVO);
|
||||
DlDriveSchoolCourse course = BeanUtils.toBean(courseVO,DlDriveSchoolCourse.class);
|
||||
saveOrUpdate(course);
|
||||
coachCourseService.saveCoachCourse(course.getId(),courseVO.getName(),courseVO.getType(),courseVO.getCoachList());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -0,0 +1,17 @@
|
||||
package cn.iocoder.yudao.module.base.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 驾校教练新增/修改 Request VO")
|
||||
@Data
|
||||
public class DlDriveSchoolCoachVO {
|
||||
/**教练id*/
|
||||
private String coachId;
|
||||
/**教练姓名*/
|
||||
private String coachName;
|
||||
/**联系方式*/
|
||||
private String coachPhone;
|
||||
/**任教科目*/
|
||||
private String subject;
|
||||
}
|
@ -9,9 +9,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "驾校课程管理VO")
|
||||
@Data
|
||||
public class DlDriveSchoolCourseVO extends DlDriveSchoolCourse {
|
||||
|
||||
List<DlDriveSchoolCoachVO> coachList;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user