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 b0959dd6..011df7e1 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 @@ -33,6 +33,10 @@ public class DlDriveSchoolCoachCourse extends TenantBaseDO { * 教练名称 */ private String coachName; + /** + * 教练联系方式 + */ + private String coachPhone; /** * 课程id */ diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachCourseMapper.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachCourseMapper.java new file mode 100644 index 00000000..9dffa491 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolCoachCourseMapper.java @@ -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 { + + +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java new file mode 100644 index 00000000..50b090fb --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java @@ -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 { + + /** + * 保存课程与教练关联关系 + * + * @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 coachList); + + /** + * 通过课程id删除课程与教练关联关系 + * @author PQZ + * @date 17:35 2025/2/7 + * @param courseId 课程id + **/ + void removeByCourseId(String courseId); +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachCourseServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachCourseServiceImpl.java new file mode 100644 index 00000000..bdb951be --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachCourseServiceImpl.java @@ -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 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 coachList) { + List 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 lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DlDriveSchoolCoachCourse::getCourseId,courseId); + remove(lambdaQueryWrapper); + } +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java index 2a540d52..13a220ee 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java @@ -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 coachList; + }