From 1c3a70bc126e18193ca002273ef1aa07e49f36a0 Mon Sep 17 00:00:00 2001 From: zhaolongfei <2651195677@qq.com> Date: Tue, 28 May 2024 15:10:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/school/study/api/StudyAssessApi.java | 10 +++++++-- .../xboe/school/study/api/StudyCourseApi.java | 21 ++++++++++--------- .../xboe/school/study/api/StudyExamApi.java | 10 +++++++-- .../school/study/api/StudyHomeWorkApi.java | 11 +++++++--- .../xboe/school/study/dao/StudyCourseDao.java | 13 ++++++++++-- .../study/service/IStudyAssessService.java | 2 +- .../study/service/IStudyExamService.java | 2 +- .../study/service/IStudyHomeWorkService.java | 2 +- .../school/study/service/IStudyService.java | 6 +++--- .../service/impl/StudyAssessServiceImpl.java | 7 ++++--- .../service/impl/StudyExamServiceImpl.java | 4 ++-- .../impl/StudyHomeWorkServiceImpl.java | 6 +++--- .../study/service/impl/StudyServiceImpl.java | 12 +++++------ 13 files changed, 67 insertions(+), 39 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyAssessApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyAssessApi.java index a6fb1974..3fdd301b 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyAssessApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyAssessApi.java @@ -18,6 +18,8 @@ import com.xboe.school.study.service.IStudyAssessService; import lombok.extern.slf4j.Slf4j; +import javax.servlet.http.HttpServletRequest; + @Slf4j @RestController @RequestMapping(value="/xboe/school/study/assess") @@ -27,18 +29,22 @@ public class StudyAssessApi extends ApiBaseController{ IStudyAssessService sassessService; @PostMapping("/save") - public JsonResponse save(@RequestBody StudyAssess assess){ + public JsonResponse save(@RequestBody StudyAssess assess, HttpServletRequest request){ if(StringUtils.isBlank(assess.getCourseId())) { return badRequest("无课程信息"); } if(StringUtils.isBlank(assess.getStudyId())) { return badRequest("无学习id"); } + String token = request.getHeader("Xboe-Access-Token"); + if (StringUtils.isEmpty(token)) { + token = request.getHeader("token"); + } try { CurrentUser cu=getCurrent(); assess.setStudentId(cu.getAccountId()); assess.setStudentName(cu.getName()); - sassessService.save(assess); + sassessService.save(assess,token); return success(assess); }catch(Exception e) { log.error("保存课程评估信息错误",e); 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 6911036e..a4be7832 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 @@ -326,14 +326,11 @@ public class StudyCourseApi extends ApiBaseController{ if(item!=null) { //如果记录存在,但是进度不100无成情况,就更新进度,一期不会有这种情况 if(item.getProgress()<100 && sci.getProgress()>item.getProgress()) { - studyService.updateProcess(item.getId(), sci.getStudyId(), sci.getCourseId(), sci.getContentTotal(), sci.getProgress()); + studyService.updateProcess(item.getId(), sci.getStudyId(), sci.getCourseId(), sci.getContentTotal(), sci.getProgress(),token); } //追加学习时长 studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration()); - - List allUserList = thirdApi.getStudyCourseList(sci.getStudyId(), sci.getCourseId(), token); - log.info("在线课学习记录"+allUserList); - System.out.println("在线课学习记录"+allUserList); + //System.out.println("在线课学习记录"+allUserList); return success(item.getId()); } @@ -348,7 +345,7 @@ public class StudyCourseApi extends ApiBaseController{ sci.setAid(cuser.getAccountId()); sci.setAname(cuser.getName()); - studyService.saveStudyInfo(sci); + studyService.saveStudyInfo(sci,token); //学习记录成功后处理 studyService.appendStudyDuration(sci.getStudyId(),sci.getStudyItemId(),sci.getContentId(),sci.getDuration()); @@ -392,7 +389,7 @@ public class StudyCourseApi extends ApiBaseController{ * @return */ @PostMapping("/study-content-finish") - public JsonResponse studyContentFinish(@RequestBody StudyContentDto sci){ + public JsonResponse studyContentFinish(@RequestBody StudyContentDto sci, HttpServletRequest request){ if(StringUtils.isBlank(sci.getStudyId())){ return error("参数错误"); @@ -403,11 +400,15 @@ public class StudyCourseApi extends ApiBaseController{ // LocalDateTime now=LocalDateTime.now(); CurrentUser cuser=getCurrent(); //检查是否已存在 + String token = request.getHeader("Xboe-Access-Token"); + if (StringUtils.isEmpty(token)) { + token = request.getHeader("token"); + } StudyCourseItem item = studyService.checkHas(sci.getStudyId(),sci.getContentId()); if(item!=null) { //如果记录存在,但是进度不到100,未完成情况,就更新进度,一期不会有这种情况 if(item.getProgress()<100) { - studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),100); + studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),100,token); } //追加学习时长,学习时长是单独的记录,这里不再进行记录 //studyService.appendStudyDuration(st); @@ -418,7 +419,7 @@ public class StudyCourseApi extends ApiBaseController{ sci.setAid(cuser.getAccountId()); sci.setAname(cuser.getName()); sci.setProgress(100); - studyService.saveStudyInfo(sci); + studyService.saveStudyInfo(sci,token); return success(sci.getStudyItemId()); }catch(Exception e) { log.error("记录学习课程内容完成错误",e); @@ -507,7 +508,7 @@ public class StudyCourseApi extends ApiBaseController{ token = request.getHeader("token"); } try { - studyService.finishVideoStudyItem(itemId, studyId,courseId,cnum); + studyService.finishVideoStudyItem(itemId, studyId,courseId,cnum,token); List allUserList = thirdApi.getStudyCourseList(studyId, courseId, token); log.info("在线课学习记录"+allUserList); return success(true); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyExamApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyExamApi.java index d22bf8d9..953990fa 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyExamApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyExamApi.java @@ -23,6 +23,8 @@ import com.xboe.school.study.service.IStudyExamService; import lombok.extern.slf4j.Slf4j; +import javax.servlet.http.HttpServletRequest; + @Slf4j @RestController @RequestMapping(value="/xboe/school/study/exam") @@ -48,7 +50,7 @@ public class StudyExamApi extends ApiBaseController{ } @PostMapping("/save") - public JsonResponse save(@RequestBody StudyExam exam){ + public JsonResponse save(@RequestBody StudyExam exam, HttpServletRequest request){ if(StringUtils.isBlank(exam.getCourseId())) { return badRequest("无课程信息"); } @@ -58,6 +60,10 @@ public class StudyExamApi extends ApiBaseController{ if(exam.getScore()==null) { return badRequest("得分计算错误"); } + String token = request.getHeader("Xboe-Access-Token"); + if (StringUtils.isEmpty(token)) { + token = request.getHeader("token"); + } try { String key = exam.getStudyId() + "_" + exam.getContentId(); //判断是否存在redis @@ -80,7 +86,7 @@ public class StudyExamApi extends ApiBaseController{ exam.setEndTime(exam.getLastTime()); } log.info( exam.getStudyId() + "_" + exam.getContentId() + ",------------试卷开始提交 " + LocalDateTime.now()); - String msg = sexamService.save(exam); + String msg = sexamService.save(exam,token); log.info( exam.getStudyId() + "_" + exam.getContentId() + ",------------试卷保存完毕 ,msg = " + msg + " , " + LocalDateTime.now()); exam.setAnswerJson(""); exam.setPaperJson(""); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java index f38d5a6b..a67a474a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java @@ -19,6 +19,8 @@ import com.xboe.school.study.service.IStudyHomeWorkService; import lombok.extern.slf4j.Slf4j; +import javax.servlet.http.HttpServletRequest; + @Slf4j @RestController @RequestMapping(value="/xboe/school/study/homework") @@ -28,7 +30,7 @@ public class StudyHomeWorkApi extends ApiBaseController{ IStudyHomeWorkService shomeworkService; @PostMapping("/save") - public JsonResponse save(@RequestBody StudyHomeWork shw){ + public JsonResponse save(@RequestBody StudyHomeWork shw, HttpServletRequest request){ if(StringUtils.isBlank(shw.getCourseId())) { return badRequest("无课程信息"); } @@ -36,14 +38,17 @@ public class StudyHomeWorkApi extends ApiBaseController{ if(StringUtils.isBlank(shw.getStudyId())) { return badRequest("您还没有学习,不可提交作业"); } - + String token = request.getHeader("Xboe-Access-Token"); + if (StringUtils.isEmpty(token)) { + token = request.getHeader("token"); + } try { CurrentUser cu=getCurrent(); shw.setStudentId(cu.getAccountId()); shw.setStudentName(cu.getName()); shw.setEndTime(LocalDateTime.now()); - shomeworkService.save(shw); + shomeworkService.save(shw,token); return success(shw); }catch(Exception e) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyCourseDao.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyCourseDao.java index b09203be..5491db69 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyCourseDao.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyCourseDao.java @@ -1,7 +1,9 @@ package com.xboe.school.study.dao; import java.time.LocalDateTime; +import java.util.List; +import com.xboe.api.ThirdApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; @@ -13,6 +15,8 @@ import com.xboe.module.course.dao.CourseContentDao; import com.xboe.school.study.entity.StudyCourse; import com.xboe.school.study.entity.StudyCourseItem; +import javax.annotation.Resource; + @Slf4j @Repository public class StudyCourseDao extends BaseDao { @@ -22,14 +26,16 @@ public class StudyCourseDao extends BaseDao { @Autowired StudyCourseItemDao scItemDao; - + + @Resource + private ThirdApi thirdApi; /** * 完成情况检查 * @param studyId * @param courseId * @param total */ - public void finishCheck(String studyId,String courseId,Integer total){ + public void finishCheck(String studyId,String courseId,Integer total,String token){ log.info("------1.完成情况检查---------------studyId = " + studyId + " , courseId = " + courseId + " , total = " + total ); LocalDateTime now=LocalDateTime.now(); //已完成的内容 @@ -58,6 +64,9 @@ public class StudyCourseDao extends BaseDao { UpdateBuilder.create("lastTime",LocalDateTime.now()), UpdateBuilder.create("status",StudyCourse.STATUS_STUDYING)); } + + List allUserList = thirdApi.getStudyCourseList(studyId,courseId, token); + log.info("在线课学习记录"+allUserList); } public void finishCheck1(String studyId,String courseId,Integer total){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyAssessService.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyAssessService.java index 5715a698..821110b6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyAssessService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyAssessService.java @@ -10,7 +10,7 @@ public interface IStudyAssessService { * 保存考试信息 * @param exam */ - void save(StudyAssess homework); + void save(StudyAssess homework,String token); StudyAssess get(String id); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyExamService.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyExamService.java index cc009115..5cbe49f2 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyExamService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyExamService.java @@ -10,7 +10,7 @@ public interface IStudyExamService { * 保存考试信息 * @param exam */ - String save(StudyExam exam); + String save(StudyExam exam,String token); StudyExam get(String id); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java index b533c3a5..8d50ca19 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java @@ -10,7 +10,7 @@ public interface IStudyHomeWorkService { * 保存考试信息 * @param exam */ - void save(StudyHomeWork homework); + void save(StudyHomeWork homework,String token); StudyHomeWork get(String id); 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 155ba87e..9b25520f 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 @@ -30,7 +30,7 @@ public interface IStudyService { * @param studyContentId * @param progress */ - void updateProcess(String studyContentId,String studyId, String courseId,Integer total,Integer progress); + void updateProcess(String studyContentId,String studyId, String courseId,Integer total,Integer progress,String token); /** * 更新最后的学习时间,及学习时间点 @@ -44,7 +44,7 @@ public interface IStudyService { * 资源学习记录 * @param sci */ - void saveStudyInfo(StudyContentDto dto); + void saveStudyInfo(StudyContentDto dto,String token); /** * 保存学习内容,用于开始学习时添加学习条目 @@ -59,7 +59,7 @@ public interface IStudyService { * @param courseId * @param cnum */ - void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum); + void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum,String token); /** * 追加学习持续时长,此处理是一期的,有追加记录,二期后追加记录在stat服务中,这里不需要再记录了,所以不建议使用此方法 diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyAssessServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyAssessServiceImpl.java index ce7de601..4d952a8f 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyAssessServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyAssessServiceImpl.java @@ -4,8 +4,10 @@ import java.time.LocalDateTime; import java.util.List; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.transaction.Transactional; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,8 +37,7 @@ public class StudyAssessServiceImpl implements IStudyAssessService{ @Override @Transactional - public void save(StudyAssess assess) { - + public void save(StudyAssess assess,String token) { //完成处理,判断是否已存在 Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", assess.getStudyId()), FieldFilters.eq("contentId", assess.getContentId())); if(obj==null) { @@ -60,7 +61,7 @@ public class StudyAssessServiceImpl implements IStudyAssessService{ dao.save(assess); //检查是否全部学习完成 int totalContent=courseContentDao.count(FieldFilters.eq("courseId", assess.getCourseId()),FieldFilters.eq("deleted",false)); - scDao.finishCheck(assess.getStudyId(),assess.getCourseId(),totalContent); + scDao.finishCheck(assess.getStudyId(),assess.getCourseId(),totalContent,token); }else { //转为评估只有一条,所以这里显示一条,不能再增加 assess.setStudyItemId(obj.toString()); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyExamServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyExamServiceImpl.java index 688f565e..4db13f79 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyExamServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyExamServiceImpl.java @@ -52,7 +52,7 @@ public class StudyExamServiceImpl implements IStudyExamService{ @Override @Transactional - public String save(StudyExam exam) { + public String save(StudyExam exam,String token) { String key = exam.getStudyId() + "_" + exam.getContentId(); // //判断是否存在redis // if(StringUtils.isNotEmpty(redisTemplate.opsForValue().get(key))){ @@ -98,7 +98,7 @@ public class StudyExamServiceImpl implements IStudyExamService{ //检查是否全部学习完成 // int totalContent=courseContentDao.count(FieldFilters.eq("courseId", exam.getCourseId()),FieldFilters.eq("deleted",false)); int totalContent = courseContentDao.getCount(exam.getCourseId()); - scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent); + scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent,token); }else { exam.setStudyItemId(obj.toString());//此项就是学习条目的id diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java index f8aa1997..e02f488d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java @@ -36,8 +36,8 @@ public class StudyHomeWorkServiceImpl implements IStudyHomeWorkService{ @Override @Transactional - public void save(StudyHomeWork homework) { - + public void save(StudyHomeWork homework,String token) { + //完成处理,判断是否已存在 Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", homework.getStudyId()), FieldFilters.eq("contentId", homework.getContentId())); @@ -62,7 +62,7 @@ public class StudyHomeWorkServiceImpl implements IStudyHomeWorkService{ dao.save(homework); //检查是否全部学习完成 int totalContent=courseContentDao.count(FieldFilters.eq("courseId", homework.getCourseId()),FieldFilters.eq("deleted",false)); - scDao.finishCheck(homework.getStudyId(),homework.getCourseId(),totalContent); + scDao.finishCheck(homework.getStudyId(),homework.getCourseId(),totalContent,token); }else { //只是保留一条作业记录,不再保存多条记录了 //dao.save(homework); 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 094af290..c0067e60 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 @@ -61,7 +61,7 @@ public class StudyServiceImpl implements IStudyService{ @Override @Transactional - public void saveStudyInfo(StudyContentDto dto) { + public void saveStudyInfo(StudyContentDto dto,String token) { StudyCourseItem sci = scItemDao.findOne(FieldFilters.eq("studyId", dto.getStudyId()),FieldFilters.eq("contentId", dto.getContentId()),FieldFilters.eq("aid", dto.getAid())); LocalDateTime ldt=LocalDateTime.now(); if(sci==null) { @@ -95,7 +95,7 @@ public class StudyServiceImpl implements IStudyService{ dto.setStudyItemId(sci.getId()); //检查是否全部学习完成 - scDao.finishCheck(dto.getStudyId(),dto.getCourseId(),dto.getContentTotal()); + scDao.finishCheck(dto.getStudyId(),dto.getCourseId(),dto.getContentTotal(),token); } @@ -193,7 +193,7 @@ public class StudyServiceImpl implements IStudyService{ @Override @Transactional - public void updateProcess(String studyContentId,String studyId, String courseId,Integer total, Integer progress) { + public void updateProcess(String studyContentId,String studyId, String courseId,Integer total, Integer progress,String token) { int status=StudyCourseItem.STATUS_STUDYING; LocalDateTime now=LocalDateTime.now(); if(progress.intValue()==100) { @@ -204,7 +204,7 @@ public class StudyServiceImpl implements IStudyService{ UpdateBuilder.create("finishTime",now), UpdateBuilder.create("status",status)); //检查是否全部学习完成 - scDao.finishCheck(studyId,courseId,total); + scDao.finishCheck(studyId,courseId,total,token); }else { scItemDao.updateMultiFieldById(studyContentId, UpdateBuilder.create("progress",progress), @@ -296,7 +296,7 @@ public class StudyServiceImpl implements IStudyService{ @Override @Transactional - public void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum) { + public void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum,String token) { LocalDateTime now=LocalDateTime.now(); scItemDao.updateMultiFieldById(itemId, UpdateBuilder.create("progress", 100), @@ -305,7 +305,7 @@ public class StudyServiceImpl implements IStudyService{ UpdateBuilder.create("status",StudyCourseItem.STATUS_FINISH) ); //检查是否全部学习完成 - scDao.finishCheck(studyId,courseId,cnum); + scDao.finishCheck(studyId,courseId,cnum,token); } }