From 81ea19f0f381f8208555191e6018a0dd70620ae5 Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 3 Mar 2025 17:49:49 +0800 Subject: [PATCH 1/9] =?UTF-8?q?study-video-time=20redis=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../school/study/api/StudyCourseTask.java | 98 +++++++++++++++++++ .../school/study/service/IStudyService.java | 1 + .../study/service/impl/StudyServiceImpl.java | 22 ++++- 3 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java new file mode 100644 index 00000000..e26b3a4a --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java @@ -0,0 +1,98 @@ +package com.xboe.school.study.api; + +import com.xboe.school.study.service.IStudyService; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.connection.RedisConnection; +import org.springframework.data.redis.core.Cursor; +import org.springframework.data.redis.core.ScanOptions; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.Objects; +import java.util.concurrent.TimeUnit; + +/** + * @author by lyc + * @date 2025/3/3 + */ +@Component +@Slf4j +@RequiredArgsConstructor +public class StudyCourseTask { + + private final IStudyService studyService; + private final StringRedisTemplate redisTemplate; + + /** + * 定时任务 + * 获取redis 中学习结束的数据更新入库 + * */ + @XxlJob("saveStudyCourseItemLastTime") + public void saveStudyCourseItemLastTime() { + // 1. 定义匹配模式(匹配所有目标key) + final String KEY_PATTERN = "studyContentId:*:last_active"; + + // 2. 使用SCAN安全遍历(避免阻塞) + ScanOptions options = ScanOptions.scanOptions() + .match(KEY_PATTERN) + .count(100) // 分页大小 + .build(); + + try (RedisConnection connection = Objects.requireNonNull(redisTemplate.getConnectionFactory()).getConnection()) { + Cursor cursor = connection.scan(options); + // 3. 遍历处理符合条件的key + while (cursor.hasNext()) { + String redisKey = new String(cursor.next()); + // 4. 获取剩余TTL(秒) + Long ttl = redisTemplate.getExpire(redisKey, TimeUnit.SECONDS); + + // 5. 过滤条件:剩余时间 >= 29天23小时30分钟(转换为秒) + // 总需时间 = (30天 - 30分钟) = 29天23小时30分钟 = 2590200秒 + if (ttl <= 2590200) { + try { + // 6. 提取studyContentId + String[] parts = redisKey.split(":"); + if (parts.length < 2) continue; + String studyContentId = parts[1]; + + // 7. 获取存储的时间点(示例逻辑) + String lastStudyTimeStr = redisTemplate.opsForValue().get(redisKey); + if (lastStudyTimeStr == null) continue; + int lastStudyTime = Integer.parseInt(lastStudyTimeStr); + + // 8. 更新数据库(调用已有服务方法) + studyService.updateStudyCourseItemLastTime(studyContentId, lastStudyTime, "system_job"); + + // 9. 删除Redis键(原子操作) + redisTemplate.delete(redisKey); + + log.info("处理成功 key: {}, lastStudyTime: {}", redisKey, lastStudyTime); + } catch (Exception e) { + log.error("处理失败 key: {}", redisKey, e); + } + } + + } + cursor.close(); + } catch (Exception e) { + log.error("定时任务执行异常", e); + } + + /* // 新增日志逻辑 + if (ttl <= 172800) { + studyService.saveCourseExpireLog( + studyContentId, + lastStudyTime, + redisKey, + ttl, + "system_job" + ); + }*/ + + } + + + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyService.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyService.java index 2d25fd37..043e7efa 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyService.java @@ -99,4 +99,5 @@ public interface IStudyService { List getList(String courseId, String contentId, String name, Integer status); + void updateStudyCourseItemLastTime(String studyContentId, int lastStudyTime, String systemJob); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java index 9351fdd1..3abe0b9d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java @@ -1,5 +1,6 @@ package com.xboe.school.study.service.impl; +import java.time.Duration; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -15,6 +16,7 @@ import com.xboe.school.study.entity.StudyCourse; import com.xboe.system.user.entity.User; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import com.xboe.common.OrderCondition; @@ -51,7 +53,10 @@ public class StudyServiceImpl implements IStudyService{ @Autowired UserDao userDao; - + @Autowired + StringRedisTemplate redisTemplate; + + @Override public StudyCourseItem checkHas(String studyId,String contentId) { List items = scItemDao.findList(FieldFilters.eq("studyId", studyId),FieldFilters.eq("contentId", contentId)); @@ -324,8 +329,20 @@ public class StudyServiceImpl implements IStudyService{ // 更新 前端传输已学习时长 @Override - @Transactional public void updateLastTime(String studyContentId, int lastStudyTime,String aid) { + // 20250303 优化 多次更新改一次更新 + // 更新Redis中的最后活跃时间(带30秒过期) + redisTemplate.opsForValue().set( + "studyContentId:" + studyContentId + ":last_active", + String.valueOf(lastStudyTime), + Duration.ofSeconds(2592000) + ); +// Duration.ofDays(30) 也就是 2592000秒 + } + + @Override + @Transactional + public void updateStudyCourseItemLastTime(String studyContentId, int lastStudyTime,String aid) { // 更新最后的学习时间点 LocalDateTime now=LocalDateTime.now(); UpdateBuilder update=UpdateBuilder.from(StudyCourseItem.class); @@ -335,7 +352,6 @@ public class StudyServiceImpl implements IStudyService{ update.addUpdateField("lastStudyTime", lastStudyTime); update.addUpdateField("lastTime", now); scItemDao.update(update.builder()); - //增加用户的学习时长,在api中调用 } @Override From a79f6b43b2d91dd73cacaa5bfa6e93129f7f5607 Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 10 Mar 2025 14:22:03 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java | 2 ++ .../src/main/java/com/xboe/school/study/api/StudyCourseApi.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java index c39b69a9..5c242900 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java @@ -262,11 +262,13 @@ public class ThirdApi { } public List getStudyCourseList(String studyId, String courseId, String token) { + log.info(" 1 在线课学习记录 studyId = "+ studyId + " ,courseId = " + courseId ); StudyCourseVo studyCourseVo = new StudyCourseVo(); studyCourseVo.setStudyId(studyId); studyCourseVo.setCourseId(courseId); ProjectStudyDto projectStudyDto = new ProjectStudyDto(); BeanUtil.copyProperties(studyCourseVo, studyCourseVo); + log.info(" 1 在线课学习记录 studyId = "+ projectStudyDto.getStudyId() + " ,courseId = " + projectStudyDto.getCourseId() ); projectRemoteClient.updateStudyStatus(projectStudyDto); return new ArrayList<>(); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index 8663e426..20c2fc82 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -343,6 +343,8 @@ public class StudyCourseApi extends ApiBaseController{ } //追加学习时长 studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration()); + + log.info(" 1 在线课学习记录 sci.getStudyId() = "+ sci.getStudyId() + " , sci.getCourseId() = " + sci.getCourseId() ); List allUserList = thirdApi.getStudyCourseList(sci.getStudyId() ,sci.getCourseId(), token); log.info("在线课学习记录"+allUserList); return success(item.getId()); From 8aea21bde7a2f57e656564c91c9f4cb7feee7108 Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 10 Mar 2025 14:32:21 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/api/ThirdApi.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java index 5c242900..ad0fff49 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java @@ -262,13 +262,19 @@ public class ThirdApi { } public List getStudyCourseList(String studyId, String courseId, String token) { - log.info(" 1 在线课学习记录 studyId = "+ studyId + " ,courseId = " + courseId ); + log.info(" 1 studyId = "+ studyId + " ,courseId = " + courseId ); + if ( studyId == null || courseId == null ){ + log.error(" 在线课学习记录 参数不能为空 "); + return new ArrayList<>(); + } StudyCourseVo studyCourseVo = new StudyCourseVo(); studyCourseVo.setStudyId(studyId); studyCourseVo.setCourseId(courseId); ProjectStudyDto projectStudyDto = new ProjectStudyDto(); - BeanUtil.copyProperties(studyCourseVo, studyCourseVo); - log.info(" 1 在线课学习记录 studyId = "+ projectStudyDto.getStudyId() + " ,courseId = " + projectStudyDto.getCourseId() ); +// BeanUtil.copyProperties(studyCourseVo, studyCourseVo); + projectStudyDto.setStudyId(Long.parseLong(studyId)); + projectStudyDto.setCourseId(Long.parseLong(courseId)); + log.info(" 12 在线课学习记录 studyId = "+ projectStudyDto.getStudyId() + " ,courseId = " + projectStudyDto.getCourseId() ); projectRemoteClient.updateStudyStatus(projectStudyDto); return new ArrayList<>(); } From 98611edcaa3508a1f1f1183b5ec0dadf40318ed5 Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 10 Mar 2025 16:02:19 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E8=80=83=E8=AF=95=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E8=B0=83=E7=94=A8course=E9=A1=B9=E7=9B=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/api/ThirdApi.java | 8 ++++++++ .../exam/service/impl/AloneExamServiceImpl.java | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java index ad0fff49..93d14d1f 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java @@ -8,9 +8,11 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.boe.feign.api.courseweb.entity.ExamTestDto; import com.boe.feign.api.courseweb.entity.ProjectStudyDto; +import com.boe.feign.api.courseweb.remote.ExternalRemoteClient; import com.boe.feign.api.courseweb.remote.OffCourseRemoteClient; import com.boe.feign.api.courseweb.remote.ProjectAdminRemoteClient; import com.boe.feign.api.courseweb.remote.ProjectRemoteClient; +import com.boe.feign.api.courseweb.reps.ExamStudyRecordParam; import com.boe.feign.api.infrastructure.entity.CommonSearchVo; import com.boe.feign.api.infrastructure.entity.Dict; import com.boe.feign.api.infrastructure.remote.DictRemoteClient; @@ -73,6 +75,8 @@ public class ThirdApi { @Resource private ProjectRemoteClient projectRemoteClient; + @Resource + ExternalRemoteClient externalRemoteClient; @Resource private DictRemoteClient dictRemoteClient; @@ -390,4 +394,8 @@ public class ThirdApi { .body()).orElseThrow(() -> new RuntimeException("token校验失败")); log.info("updateOrSaveCourse = " + resp); } + + public void syncExamStudyRecord(ExamStudyRecordParam param) { + externalRemoteClient.syncExamStudyRecord(param); + } } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java index 263f836f..151642c1 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java @@ -8,6 +8,9 @@ import java.util.Map; import javax.annotation.Resource; +import com.boe.feign.api.courseweb.reps.ExamStudyRecordParam; +import com.xboe.api.ThirdApi; +import com.xboe.module.exam.vo.ExamStudyRecordParam; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,7 +40,10 @@ public class AloneExamServiceImpl implements IAloneExamService{ @Resource AloneExamDao aeDao; - + @Resource + private ThirdApi thirdApi; + + @Override @Transactional public void save(AloneExamAnswer aea){ @@ -101,6 +107,13 @@ public class AloneExamServiceImpl implements IAloneExamService{ // //这种情况汶是不存在的 // } } + + ExamStudyRecordParam param = new ExamStudyRecordParam(); + param.setTestId(aea.getTestId()); + param.setAid(aea.getAid()); + thirdApi.syncExamStudyRecord(param); + + } @Override From c8ffdd561fbe7ba91f671ebb434d94de062a8c39 Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 10 Mar 2025 16:03:10 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E8=80=83=E8=AF=95=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E8=B0=83=E7=94=A8course=E9=A1=B9=E7=9B=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/exam/service/impl/AloneExamServiceImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java index 151642c1..751fdd29 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java @@ -10,7 +10,6 @@ import javax.annotation.Resource; import com.boe.feign.api.courseweb.reps.ExamStudyRecordParam; import com.xboe.api.ThirdApi; -import com.xboe.module.exam.vo.ExamStudyRecordParam; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; From 58d6f49006f24576fdb4f058342f05c67996da4b Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Thu, 13 Mar 2025 10:03:21 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E8=80=83=E8=AF=95=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=8A=A0catch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exam/service/impl/AloneExamServiceImpl.java | 14 +++++++++----- .../com/xboe/school/study/api/StudyCourseTask.java | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java index 751fdd29..75f6fbd3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java @@ -107,13 +107,17 @@ public class AloneExamServiceImpl implements IAloneExamService{ // } } - ExamStudyRecordParam param = new ExamStudyRecordParam(); - param.setTestId(aea.getTestId()); - param.setAid(aea.getAid()); - thirdApi.syncExamStudyRecord(param); + try { + ExamStudyRecordParam param = new ExamStudyRecordParam(); + param.setTestId(aea.getTestId()); + param.setAid(aea.getAid()); + thirdApi.syncExamStudyRecord(param); + } catch (Exception e) { + throw new RuntimeException(e); + } - } + } @Override @Transactional diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java index e26b3a4a..5a344186 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseTask.java @@ -50,6 +50,7 @@ public class StudyCourseTask { // 5. 过滤条件:剩余时间 >= 29天23小时30分钟(转换为秒) // 总需时间 = (30天 - 30分钟) = 29天23小时30分钟 = 2590200秒 + // 5分钟 300秒 || 2592000 - 300 = 2591700 if (ttl <= 2590200) { try { // 6. 提取studyContentId From 76f0d1933a039c9f23f00b7ff58ca19061b73fdf Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Wed, 19 Mar 2025 11:56:48 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=AF=BE-=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E8=AE=B2=E5=B8=88=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/school/study/api/StudyCourseApi.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index 20c2fc82..8479dd6e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -212,11 +212,11 @@ public class StudyCourseApi extends ApiBaseController{ redisTemplate.opsForValue().set(teacherVo.get(0).getTeacherId(), teacherVo.get(0).getStatus()); //设置过期时间为1天 redisTemplate.expire(teacherVo.get(0).getTeacherId(), 24 * 60 * 60, TimeUnit.SECONDS); - if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){ + if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && t.getTeacherType() == 1 ){ ct.setTeacherName("BOE教师"); } } - if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){ + if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && t.getTeacherType() == 1 ){ ct.setTeacherName("BOE教师"); } } From ee95435d0118daa8e6733abbf061c7479d00e5ca Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Wed, 19 Mar 2025 13:08:54 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=AF=BE-=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E8=AE=B2=E5=B8=88=E6=8A=A5=E9=94=99=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BE=9B=E5=BA=94=E5=95=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/course/entity/CourseTeacher.java | 4 ++++ .../main/java/com/xboe/school/study/api/StudyCourseApi.java | 1 + 2 files changed, 5 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java index 85fa695c..3757cae3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java @@ -49,4 +49,8 @@ public class CourseTeacher extends IdBaseEntity { @Transient private String code; + /**供应商*/ + @Transient + private String supplier; + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index 8479dd6e..fc56ec94 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -204,6 +204,7 @@ public class StudyCourseApi extends ApiBaseController{ Teacher t = teacherService.get(ct.getTeacherId()); if(t!=null) { ct.setRemark(t.getDescription()); + ct.setSupplier(t.getSupplier()); } if(redisTemplate.opsForValue().get(ct.getTeacherId())==null){ Listlist=new ArrayList<>(); From 500fb090fb6c74bb689942e778aa47b348f97abb Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Wed, 19 Mar 2025 13:17:06 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=AF=BE-=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E8=AE=B2=E5=B8=88=E6=8A=A5=E9=94=99=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=AE=B2=E5=B8=88=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/course/entity/CourseTeacher.java | 4 ++++ .../main/java/com/xboe/school/study/api/StudyCourseApi.java | 1 + 2 files changed, 5 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java index 3757cae3..f924f0b8 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseTeacher.java @@ -53,4 +53,8 @@ public class CourseTeacher extends IdBaseEntity { @Transient private String supplier; + /**讲师类型 1 内部讲师 2外部讲师*/ + @Transient + private Integer teacherType; + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index fc56ec94..12d264dc 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -205,6 +205,7 @@ public class StudyCourseApi extends ApiBaseController{ if(t!=null) { ct.setRemark(t.getDescription()); ct.setSupplier(t.getSupplier()); + ct.setTeacherType(t.getTeacherType()); } if(redisTemplate.opsForValue().get(ct.getTeacherId())==null){ Listlist=new ArrayList<>();