|
|
@@ -26,6 +26,7 @@ import com.zhongzheng.common.utils.ServletUtils;
|
|
|
import com.zhongzheng.common.utils.ToolsUtils;
|
|
|
import com.zhongzheng.common.utils.file.FileUtils;
|
|
|
import com.zhongzheng.common.utils.http.HttpUtils;
|
|
|
+import com.zhongzheng.common.utils.poi.ExcelUtil;
|
|
|
import com.zhongzheng.modules.alioss.service.OssService;
|
|
|
import com.zhongzheng.modules.bank.bo.QuestionChapterExamQueryBo;
|
|
|
import com.zhongzheng.modules.bank.bo.QuestionModuleChapterQueryBo;
|
|
|
@@ -33,6 +34,7 @@ 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.domain.UserProfile;
|
|
|
import com.zhongzheng.modules.base.service.IUserProfileService;
|
|
|
import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
|
|
|
import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
|
|
|
@@ -3721,6 +3723,85 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
return classPeriodStudentVos;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Boolean exportListVideoUserPeriod(Long userId, String dirPath) {
|
|
|
+ ClassGradeUserQueryBo userQueryBo = new ClassGradeUserQueryBo();
|
|
|
+ userQueryBo.setUserId(userId);
|
|
|
+ //查询班级学员信息
|
|
|
+ List<ClassPeriodStudentVo> classPeriodStudentVos = baseMapper.listVideoUserPeriod(userQueryBo);
|
|
|
+ //查找学员学习记录
|
|
|
+ for (ClassPeriodStudentVo classPeriodStudentVo : classPeriodStudentVos) {
|
|
|
+ Long secLong = 0L;
|
|
|
+ Long studyLong = 0L;
|
|
|
+
|
|
|
+ SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
|
|
|
+ subjectStudyRecordQueryBo.setGoodsId(classPeriodStudentVo.getGoodsId());
|
|
|
+ subjectStudyRecordQueryBo.setUserId(classPeriodStudentVo.getUserId());
|
|
|
+ subjectStudyRecordQueryBo.setGradeId(classPeriodStudentVo.getGradeId());
|
|
|
+ subjectStudyRecordQueryBo.setOrderGoodsId(classPeriodStudentVo.getOrderGoodsId());
|
|
|
+ List<SubjectStudyRecordVo> subjectStudyRecordVos = iUserStudyRecordService.listDangAnSubject(subjectStudyRecordQueryBo);
|
|
|
+ for (SubjectStudyRecordVo subjectStudyRecordVo : subjectStudyRecordVos) {
|
|
|
+ secLong = new BigDecimal(secLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getSectionNum().toString())).longValue();
|
|
|
+ studyLong = new BigDecimal(studyLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getRecordNum().toString())).longValue();
|
|
|
+ }
|
|
|
+ //总节数
|
|
|
+ classPeriodStudentVo.setSecAllNum(secLong);
|
|
|
+ //学习节数
|
|
|
+ classPeriodStudentVo.setStuAllNum(studyLong);
|
|
|
+
|
|
|
+ //总的审核状态按照策划规则
|
|
|
+ ClassGradeUserQueryBo classGradeUserQueryBo = new ClassGradeUserQueryBo();
|
|
|
+ classGradeUserQueryBo.setGradeId(classPeriodStudentVo.getGradeId());
|
|
|
+ classGradeUserQueryBo.setUserId(classPeriodStudentVo.getUserId());
|
|
|
+ classGradeUserQueryBo.setGoodsId(classPeriodStudentVo.getGoodsId());
|
|
|
+ List<ClassPeriodUserVo> classPeriodUserVos1 = baseMapper.listPeriod(classGradeUserQueryBo);
|
|
|
+ ClassPeriodUserVo classPeriodUserVos = classPeriodUserVos1.get(0);
|
|
|
+ classPeriodUserVos.setPending(classPeriodStudentVo.getSecAllNum() - classPeriodUserVos.getPass() - classPeriodUserVos.getCheat());
|
|
|
+ classPeriodUserVos.setExamPending(classPeriodUserVos.getExamNum() - classPeriodUserVos.getExamPass() - classPeriodUserVos.getExamCheat());
|
|
|
+ //當前班級學員審核狀態 -1不可审核 0待審 1未通过 2通过
|
|
|
+ Integer gradePeriodStatus = 0; //班级里的审核状态字段,保持一致 0 未通过 1通过 2待审核 -1 不可审核
|
|
|
+
|
|
|
+ classPeriodStudentVo.setAllStatus(changePeriodStatus(classPeriodStudentVo.getPeriodStatus()));
|
|
|
+
|
|
|
+ classPeriodStudentVo.setWaitRebuildNum(classPeriodUserVos.getCheat() + classPeriodUserVos.getExamCheat());
|
|
|
+ if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()))) {
|
|
|
+ //查找开始学习时间
|
|
|
+ classPeriodStudentVo.setStartTime(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()).get(0));
|
|
|
+ }else{
|
|
|
+ classPeriodStudentVo.setStartTime(baseMapper.selectStartNoPhoto(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ClassPeriodStudentExportListVo> exportList = new ArrayList<>();
|
|
|
+ for (ClassPeriodStudentVo classPeriodStudentVo : classPeriodStudentVos) {
|
|
|
+ ClassPeriodStudentExportListVo vo = BeanUtil.toBean(classPeriodStudentVo, ClassPeriodStudentExportListVo.class);
|
|
|
+ vo.setStudyTime(DateUtils.timestampToDate(classPeriodStudentVo.getStudyStartTime())+"至"+DateUtils.timestampToDate(classPeriodStudentVo.getStudyEndTime()));
|
|
|
+ vo.setProcess((classPeriodStudentVo.getRecordNum()+classPeriodStudentVo.getStuAllNum())+"/"+(classPeriodStudentVo.getExamNum()+classPeriodStudentVo.getSecAllNum()));
|
|
|
+ vo.setVideoProcess(classPeriodStudentVo.getStuAllNum()+"/"+classPeriodStudentVo.getSecAllNum());
|
|
|
+ if(classPeriodStudentVo.getPeriodStatus()==0){
|
|
|
+ vo.setPeriodStatus("未通过");
|
|
|
+ }
|
|
|
+ else if(classPeriodStudentVo.getPeriodStatus()==1){
|
|
|
+ vo.setPeriodStatus("通过");
|
|
|
+ }
|
|
|
+ else if(classPeriodStudentVo.getPeriodStatus()==2){
|
|
|
+ vo.setPeriodStatus("待审核");
|
|
|
+ }
|
|
|
+ else if(classPeriodStudentVo.getPeriodStatus()==3){
|
|
|
+ vo.setPeriodStatus("审核中");
|
|
|
+ }
|
|
|
+ else if(classPeriodStudentVo.getPeriodStatus()==-1){
|
|
|
+ vo.setPeriodStatus("不可审核");
|
|
|
+ }
|
|
|
+ exportList.add(vo);
|
|
|
+ }
|
|
|
+ ExcelUtil<ClassPeriodStudentExportListVo> util = new ExcelUtil<ClassPeriodStudentExportListVo>(ClassPeriodStudentExportListVo.class);
|
|
|
+ String filePath = dirPath+"/网课记录.xlsx";
|
|
|
+ util.exportEasyExcelUtil(exportList,ClassPeriodStudentExportListVo.class,filePath);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public Boolean sevenPushAuthCallBack(SevenPushAuthAddBo bo) {
|
|
|
if(Validator.isEmpty(bo.getGradeUserId())||Validator.isEmpty(bo.getPushStatus())){
|