|
@@ -26,6 +26,12 @@ import com.zhongzheng.common.utils.ToolsUtils;
|
|
|
import com.zhongzheng.common.utils.file.FileUtils;
|
|
|
import com.zhongzheng.common.utils.http.HttpUtils;
|
|
|
import com.zhongzheng.modules.alioss.service.OssService;
|
|
|
+import com.zhongzheng.modules.bank.bo.QuestionChapterExamQueryBo;
|
|
|
+import com.zhongzheng.modules.bank.bo.QuestionModuleChapterQueryBo;
|
|
|
+import com.zhongzheng.modules.bank.service.IQuestionChapterExamService;
|
|
|
+import com.zhongzheng.modules.bank.service.IQuestionModuleChapterService;
|
|
|
+import com.zhongzheng.modules.bank.vo.ExamVo;
|
|
|
+import com.zhongzheng.modules.bank.vo.QuestionChapterVo;
|
|
|
import com.zhongzheng.modules.base.service.IUserProfileService;
|
|
|
import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
|
|
|
import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
|
|
@@ -35,8 +41,11 @@ import com.zhongzheng.modules.course.vo.CourseBusinessVo;
|
|
|
import com.zhongzheng.modules.course.vo.CourseChapterVo;
|
|
|
import com.zhongzheng.modules.course.vo.CourseModuleVo;
|
|
|
import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
|
|
|
+import com.zhongzheng.modules.goods.bo.GoodsAttachedQueryBo;
|
|
|
import com.zhongzheng.modules.goods.domain.Goods;
|
|
|
+import com.zhongzheng.modules.goods.service.IGoodsAttachedService;
|
|
|
import com.zhongzheng.modules.goods.service.IGoodsService;
|
|
|
+import com.zhongzheng.modules.goods.vo.GoodsAttachedVo;
|
|
|
import com.zhongzheng.modules.goods.vo.GoodsVo;
|
|
|
import com.zhongzheng.modules.grade.bo.*;
|
|
|
import com.zhongzheng.modules.grade.domain.ClassGrade;
|
|
@@ -62,10 +71,7 @@ import com.zhongzheng.modules.user.bo.*;
|
|
|
import com.zhongzheng.modules.user.domain.User;
|
|
|
import com.zhongzheng.modules.user.domain.UserStudyRecordPhoto;
|
|
|
import com.zhongzheng.modules.user.mapper.UserStudyRecordPhotoMapper;
|
|
|
-import com.zhongzheng.modules.user.service.IUserBankRecordService;
|
|
|
-import com.zhongzheng.modules.user.service.IUserService;
|
|
|
-import com.zhongzheng.modules.user.service.IUserStudyRecordPhotoService;
|
|
|
-import com.zhongzheng.modules.user.service.IUserStudyRecordService;
|
|
|
+import com.zhongzheng.modules.user.service.*;
|
|
|
import com.zhongzheng.modules.user.vo.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
@@ -162,6 +168,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
@Autowired
|
|
|
private ISysConfigService configService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IUserExamRecordService iUserExamRecordService;
|
|
|
+
|
|
|
@Value("${aliyun.oss.endpoint}")
|
|
|
private String ALIYUN_OSS_ENDPOINT;
|
|
|
|
|
@@ -198,6 +207,15 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
@Autowired
|
|
|
private IMajorService iMajorService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IGoodsAttachedService iGoodsAttachedService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IQuestionModuleChapterService iQuestionModuleChapterService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IQuestionChapterExamService iQuestionChapterExamService;
|
|
|
+
|
|
|
|
|
|
private String SEVEN_OFFICIALPUSH_INFOACCOUNT;
|
|
|
private String SEVEN_OFFICIALPUSH_TOKEN;
|
|
@@ -1691,6 +1709,28 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
return userPeriodExportVo;
|
|
|
}
|
|
|
|
|
|
+ private UserPeriodExportV2Vo mergeQuestionEamDataV2(Long index, String moduleName, String chapterName, String examName, UserExamRecordQueryBo recordQueryBo) {
|
|
|
+ //试卷学习记录
|
|
|
+ List<UserExamRecordVo> recordList = iUserExamRecordService.queryList(recordQueryBo);
|
|
|
+ //录入学时记录
|
|
|
+ UserPeriodExportV2Vo userPeriodExportVo = new UserPeriodExportV2Vo();
|
|
|
+ userPeriodExportVo.setId(index);
|
|
|
+ userPeriodExportVo.setExamName(examName);
|
|
|
+ List<UserPeriodItemExportVo> studyList = new ArrayList<>();
|
|
|
+ for (UserExamRecordVo vo : recordList) {
|
|
|
+ UserPeriodItemExportVo exportVo = new UserPeriodItemExportVo();
|
|
|
+ exportVo.setStudyStartTime(vo.getCreateTime());
|
|
|
+ exportVo.setStudyEndTime(vo.getCommitTime());
|
|
|
+ exportVo.setSectionType(4);
|
|
|
+ exportVo.setStatus(vo.getReportStatus());
|
|
|
+ exportVo.setScore(vo.getPerformance());
|
|
|
+ exportVo.setFromPlat(vo.getFromPlat());
|
|
|
+ studyList.add(exportVo);
|
|
|
+ }
|
|
|
+ userPeriodExportVo.setRecordList(studyList);
|
|
|
+ return userPeriodExportVo;
|
|
|
+ }
|
|
|
+
|
|
|
private UserPeriodExportV2Vo mergeDataV2(Long index, String moduleName, String chapterName, String sectionName, ClassPeriodSectionVo classPeriodSectionVo, UserStudyRecordQueryBo recordQueryBo) {
|
|
|
//节学习记录
|
|
|
List<SectionStudyRecordVo> recordList = iUserStudyRecordService.selectSectionRecord(recordQueryBo);
|
|
@@ -2840,6 +2880,83 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
return studyList;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<UserPeriodExportV2Vo> listUserStudyQuestionRecordV2Week(ClassGradeUserQueryBo bo) {
|
|
|
+ if(Validator.isEmpty(bo.getOrderGoodsId())){
|
|
|
+ throw new CustomException("orderGoodsId缺失");
|
|
|
+ }
|
|
|
+ GoodsAttachedQueryBo attachedQueryBo = new GoodsAttachedQueryBo();
|
|
|
+ attachedQueryBo.setGoodsId(bo.getGoodsId());
|
|
|
+ List<GoodsAttachedVo> topList = iGoodsAttachedService.getTopList(attachedQueryBo);
|
|
|
+ String moduleName = "";
|
|
|
+ String chapterName = "";
|
|
|
+ String examName = "";
|
|
|
+ List<UserPeriodExportV2Vo> studyList = new ArrayList<>();
|
|
|
+ long i = 0;
|
|
|
+ Long gradeId = bo.getGradeId();
|
|
|
+ Long userId = bo.getUserId();
|
|
|
+ Long goodsId = bo.getGoodsId();
|
|
|
+ Long courseId = bo.getCourseId();
|
|
|
+ Long orderGoodsId = bo.getOrderGoodsId();
|
|
|
+ for (GoodsAttachedVo classPeriodVo : topList) {
|
|
|
+ moduleName = "";
|
|
|
+ chapterName = "";
|
|
|
+ examName = "";
|
|
|
+ if (classPeriodVo.getType() == 1) {
|
|
|
+ moduleName = classPeriodVo.getName();
|
|
|
+ QuestionModuleChapterQueryBo moduleChapterQueryBo = new QuestionModuleChapterQueryBo();
|
|
|
+ moduleChapterQueryBo.setModuleExamId(classPeriodVo.getMajorId());
|
|
|
+ List<QuestionChapterVo> chapterList= iQuestionModuleChapterService.getList(moduleChapterQueryBo);
|
|
|
+ for (QuestionChapterVo chapterVo : chapterList) {
|
|
|
+ chapterName = chapterVo.getName();
|
|
|
+ QuestionChapterExamQueryBo chapterExamQueryBo = new QuestionChapterExamQueryBo();
|
|
|
+ chapterExamQueryBo.setChapterExamId(chapterVo.getChapterExamId());
|
|
|
+ List<ExamVo> examVoList = iQuestionChapterExamService.getSimpleList(chapterExamQueryBo);
|
|
|
+ for (ExamVo examVo : examVoList) {
|
|
|
+ examName = examVo.getExamName();
|
|
|
+ i++;
|
|
|
+ UserExamRecordQueryBo recordQueryBo = new UserExamRecordQueryBo();
|
|
|
+ recordQueryBo.setExamId(examVo.getExamId());
|
|
|
+ recordQueryBo.setModuleExamId(classPeriodVo.getMajorId());
|
|
|
+ recordQueryBo.setChapterExamId(chapterVo.getChapterExamId());
|
|
|
+ recordQueryBo.setUserId(userId);
|
|
|
+ recordQueryBo.setOrderGoodsId(orderGoodsId);
|
|
|
+ studyList.add(mergeQuestionEamDataV2(i, moduleName, chapterName, examName, recordQueryBo));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (classPeriodVo.getType() == 2) {
|
|
|
+ chapterName = classPeriodVo.getName();
|
|
|
+ QuestionChapterExamQueryBo chapterExamQueryBo = new QuestionChapterExamQueryBo();
|
|
|
+ chapterExamQueryBo.setChapterExamId(classPeriodVo.getMajorId());
|
|
|
+ List<ExamVo> examVoList = iQuestionChapterExamService.getSimpleList(chapterExamQueryBo);
|
|
|
+ for (ExamVo examVo : examVoList) {
|
|
|
+ examName = examVo.getExamName();
|
|
|
+ i++;
|
|
|
+ UserExamRecordQueryBo recordQueryBo = new UserExamRecordQueryBo();
|
|
|
+ recordQueryBo.setExamId(examVo.getExamId());
|
|
|
+ recordQueryBo.setModuleExamId(0L);
|
|
|
+ recordQueryBo.setChapterExamId(classPeriodVo.getMajorId());
|
|
|
+ recordQueryBo.setUserId(userId);
|
|
|
+ recordQueryBo.setOrderGoodsId(orderGoodsId);
|
|
|
+ studyList.add(mergeQuestionEamDataV2(i, moduleName, chapterName, examName, recordQueryBo));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ examName = classPeriodVo.getName();
|
|
|
+ i++;
|
|
|
+ UserExamRecordQueryBo recordQueryBo = new UserExamRecordQueryBo();
|
|
|
+ recordQueryBo.setExamId(classPeriodVo.getMajorId());
|
|
|
+ recordQueryBo.setModuleExamId(0L);
|
|
|
+ recordQueryBo.setChapterExamId(0L);
|
|
|
+ recordQueryBo.setUserId(userId);
|
|
|
+ recordQueryBo.setOrderGoodsId(orderGoodsId);
|
|
|
+ studyList.add(mergeQuestionEamDataV2(i, moduleName, chapterName, examName, recordQueryBo));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return studyList;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<ClassPeriodUserVo> listPeriod(ClassGradeUserQueryBo bo) {
|
|
|
if(Validator.isEmpty(bo.getOrderGoodsId())){
|