From 3aae8ddd5b9624626921abdcc33122dccdcd5c61 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Fri, 27 Dec 2024 13:24:46 +0800
Subject: [PATCH] 修改学时证书接收接口
---
exam-system/src/main/java/com/gkhy/exam/institutionalaccess/service/serviceImpl/TripartiteInterfaceServiceImpl.java | 165 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 90 insertions(+), 75 deletions(-)
diff --git a/exam-system/src/main/java/com/gkhy/exam/institutionalaccess/service/serviceImpl/TripartiteInterfaceServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/institutionalaccess/service/serviceImpl/TripartiteInterfaceServiceImpl.java
index 55b849e..2a3bfcf 100644
--- a/exam-system/src/main/java/com/gkhy/exam/institutionalaccess/service/serviceImpl/TripartiteInterfaceServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/institutionalaccess/service/serviceImpl/TripartiteInterfaceServiceImpl.java
@@ -69,36 +69,48 @@
private ThCertService certService;
@Override
- public boolean receiveQuestionBank(JSONObject jsonObject) throws Exception {
+ public AjaxResult receiveQuestionBank(JSONObject jsonObject) throws Exception {
InstitutionUser institutionUser = ThreeInContextHolder.getContext();
- ThQuestionBankReqDTO questionBankReqDTO = decryptData(jsonObject, new TypeReference<ThQuestionBankReqDTO>() {},"题库数据");
- if(questionBankReqDTO==null){
+ List<ThQuestionBankReqDTO> questionBankReqDTO = decryptData(jsonObject, new TypeReference<List<ThQuestionBankReqDTO>>() {},"题库数据");
+ if(CollectionUtils.isEmpty(questionBankReqDTO)){
throw new BusinessException(this.getClass(),ResultConstants.THREE_INSTITUTION_PARAMM_NULL,"题库数据不可为空");
}
- String valdateMessage=ValidatorUtils.validateFast(questionBankReqDTO);
- if(!StringUtils.isEmpty(valdateMessage)){
- throw new BusinessException(this.getClass(), ResultConstants.THREE_INSTITUTION_PARAMM_NULL,valdateMessage);
+ List<ThErrorDataRespDTO> errorDataRespDTOS = new ArrayList<>();
+ List<ThQuestionBankReqDTO> thQuestionBankReqDTOS = new ArrayList<>();
+ for (ThQuestionBankReqDTO thQuestionBankReqDTO : questionBankReqDTO) {
+ String valdateMessage=ValidatorUtils.validateFast(thQuestionBankReqDTO);
+ if(!StringUtils.isEmpty(valdateMessage)){
+// throw new BusinessException(this.getClass(), ResultConstants.THREE_INSTITUTION_PARAMM_NULL,valdateMessage);
+ errorDataRespDTOS.add(new ThErrorDataRespDTO(thQuestionBankReqDTO.getUuid(),valdateMessage));
+ continue;
+ }
+ thQuestionBankReqDTOS.add(thQuestionBankReqDTO);
}
- //根据uuid查询数据
- ThQuestionBank qb = questionBankService.getQuestionInfoByUuid(questionBankReqDTO.getUuid());
- boolean i = true;
- if(qb == null){
- //新增
- qb = new ThQuestionBank();
- BeanUtils.copyProperties(questionBankReqDTO, qb);
- qb.setUuid(questionBankReqDTO.getUuid());
- qb.setInstitutionId(institutionUser.getId());
- qb.setInstitutionName(institutionUser.getInstitutionalName());
- qb.setCreateBy(institutionUser.getInstitutionalName());
- qb.setUpdateBy(institutionUser.getInstitutionalName());
- i = questionBankService.save(qb);
- }else {
- //修改
- BeanUtils.copyProperties(questionBankReqDTO, qb);
- qb.setUpdateBy(institutionUser.getInstitutionalName());
- i = questionBankService.updateById(qb);
+ List<ThQuestionBank> savethQuestionBanks = new ArrayList<>();
+ List<ThQuestionBank> updatethQuestionBanks = new ArrayList<>();
+ for (ThQuestionBankReqDTO thQuestionBankReqDTO : thQuestionBankReqDTOS) {
+ //根据uuid查询数据
+ ThQuestionBank qb = questionBankService.getQuestionInfoByUuid(thQuestionBankReqDTO.getUuid());
+ if(qb == null){
+ //新增
+ qb = new ThQuestionBank();
+ BeanUtils.copyProperties(thQuestionBankReqDTO, qb);
+ qb.setUuid(thQuestionBankReqDTO.getUuid());
+ qb.setInstitutionId(institutionUser.getId());
+ qb.setInstitutionName(institutionUser.getInstitutionalName());
+ qb.setCreateBy(institutionUser.getInstitutionalName());
+ qb.setUpdateBy(institutionUser.getInstitutionalName());
+ savethQuestionBanks.add(qb);
+ }else {
+ //修改
+ BeanUtils.copyProperties(thQuestionBankReqDTO, qb);
+ qb.setUpdateBy(institutionUser.getInstitutionalName());
+ updatethQuestionBanks.add(qb);
+ }
}
- return i;
+ questionBankService.saveBatch(savethQuestionBanks);
+ questionBankService.updateBatchById(updatethQuestionBanks);
+ return AjaxResult.success(errorDataRespDTOS);
}
@Transactional
@@ -425,22 +437,22 @@
}
//数据插入
//课程插入
- List<List<ThCourse>> splitSaveCourseList = ListUtil.split(saveCourseList, 500);
+ List<List<ThCourse>> splitSaveCourseList = ListUtil.split(saveCourseList, 200);
for(List<ThCourse> courseList : splitSaveCourseList){
courseService.insertBatch(courseList);
}
//修改课程
- List<List<ThCourse>> splitUpdateCourseList = ListUtil.split(updateCourseList, 500);
+ List<List<ThCourse>> splitUpdateCourseList = ListUtil.split(updateCourseList, 200);
for(List<ThCourse> courseList : splitUpdateCourseList){
courseService.updateBatch(courseList);
}
//插入章节
- List<List<ThCourseChapter>> splitSaveChapterList = ListUtil.split(saveCourseChapterList, 500);
+ List<List<ThCourseChapter>> splitSaveChapterList = ListUtil.split(saveCourseChapterList, 200);
for(List<ThCourseChapter> chapterList : splitSaveChapterList){
courseChapterService.insertBatch(chapterList);
}
//修改章节
- List<List<ThCourseChapter>> splitUpdateChapterList = ListUtil.split(updateCourseChapterList, 500);
+ List<List<ThCourseChapter>> splitUpdateChapterList = ListUtil.split(updateCourseChapterList, 200);
for(List<ThCourseChapter> chapterList : splitUpdateChapterList){
courseChapterService.updateBatch(chapterList);
}
@@ -544,7 +556,7 @@
List<ThStudentBatch> updateThStudentBatchList = new ArrayList<>();
for (ThStudentReqDTO studentReqDTO : saveStudentReqDTOList) {
//学生表中过滤
- List<ThStudent> collect = students.stream().filter(s -> s.getIdcard().equals(studentReqDTO.getIdcard())).collect(Collectors.toList());
+ List<ThStudent> collect = students.stream().filter(s -> s.getIdcard().equals(studentReqDTO.getIdcard()) && s.getInstitutionId().equals(institutionUser.getId()) ).collect(Collectors.toList());
if(collect.size() > 0){
ThStudent student = collect.get(0);
//修改
@@ -606,23 +618,23 @@
}
}
//学生表新增
- List<List<ThStudent>> splitSaveStudentList = ListUtil.split(saveSudentList, 500);
+ List<List<ThStudent>> splitSaveStudentList = ListUtil.split(saveSudentList, 200);
for (List<ThStudent> studentList : splitSaveStudentList) {
studentService.insertBatch(studentList);
}
//学生表更新
- List<List<ThStudent>> splitUpdateStudentList = ListUtil.split(updateStudentList, 500);
+ List<List<ThStudent>> splitUpdateStudentList = ListUtil.split(updateStudentList, 200);
for (List<ThStudent> studentList : splitUpdateStudentList) {
studentService.updateBatch(studentList);
}
//学生关联班级表
- List<List<ThStudentBatch>> splitSaveThStudentBatchList = ListUtil.split(saveThStudentBatchList, 500);
+ List<List<ThStudentBatch>> splitSaveThStudentBatchList = ListUtil.split(saveThStudentBatchList, 200);
for (List<ThStudentBatch> studentBatcheList : splitSaveThStudentBatchList) {
studentBatchService.insertBatch(studentBatcheList);
}
//学生关联班级表修改
- List<List<ThStudentBatch>> splitUpdateThStudentBatchList = ListUtil.split(updateThStudentBatchList, 500);
+ List<List<ThStudentBatch>> splitUpdateThStudentBatchList = ListUtil.split(updateThStudentBatchList, 200);
for (List<ThStudentBatch> studentBatcheList : splitUpdateThStudentBatchList) {
studentBatchService.updateBatch(studentBatcheList);
}
@@ -1229,12 +1241,12 @@
}
//插入章节
- List<List<ThBatchCourseChapter>> splitSaveBatchCourseChapterList = ListUtil.split(saveBatchCourseChapterList, 500);
+ List<List<ThBatchCourseChapter>> splitSaveBatchCourseChapterList = ListUtil.split(saveBatchCourseChapterList, 200);
for (List<ThBatchCourseChapter> chapterList : splitSaveBatchCourseChapterList) {
batchCourseChapterService.insertBatch(chapterList);
}
//修改章节
- List<List<ThBatchCourseChapter>> splitUpdateBatchCourseChapterList = ListUtil.split(updateBatchCourseChapterList, 500);
+ List<List<ThBatchCourseChapter>> splitUpdateBatchCourseChapterList = ListUtil.split(updateBatchCourseChapterList, 200);
for (List<ThBatchCourseChapter> chapterList : splitUpdateBatchCourseChapterList) {
batchCourseChapterService.updateBatch(chapterList);
}
@@ -1351,20 +1363,20 @@
errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"结束位置不可为空"));
continue;
}
- if(StringUtils.isEmpty(studentDetailReqDTO.getLessonReportUrl())){
- errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学时报告不可为空"));
- continue;
- }
+// if(StringUtils.isEmpty(studentDetailReqDTO.getLessonReportUrl())){
+// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学时报告不可为空"));
+// continue;
+// }
//认证记录集合
// if(CollectionUtils.isEmpty(studentDetailReqDTO.getAuthList())){
// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"认证记录集合不可为空"));
// continue;
// }
//学习轨迹集合
- if(CollectionUtils.isEmpty(studentDetailReqDTO.getTrackList())){
- errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹集合不可为空"));
- continue;
- }
+// if(CollectionUtils.isEmpty(studentDetailReqDTO.getTrackList())){
+// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹集合不可为空"));
+// continue;
+// }
/*boolean authFlag = false;
for(ThStudytAuthReqDTO item : studentDetailReqDTO.getAuthList()){
@@ -1397,32 +1409,32 @@
if(authFlag){
continue;
}*/
- boolean trackFlag = false;
- for(ThStudyTrackReqDTO item : studentDetailReqDTO.getTrackList()){
- if(StringUtils.isEmpty(item.getUuid()) || !UUID.checkIsUuid(item.getUuid())){
- trackFlag = true;
- errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+")不符合规范"));
- break;
- }
- if(item.getStartTime() == null){
- trackFlag = true;
- errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+"),轨迹开始时间不可为空"));
- break;
- }
- if(item.getEndTime() == null){
- trackFlag = true;
- errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+"),轨迹结束时间不可为空"));
- break;
- }
- if(item.getTimeInterval() == null) {
- trackFlag = true;
- errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+"),时间间隔(秒)不可为空"));
- break;
- }
- }
- if(trackFlag){
- continue;
- }
+// boolean trackFlag = false;
+// for(ThStudyTrackReqDTO item : studentDetailReqDTO.getTrackList()){
+// if(StringUtils.isEmpty(item.getUuid()) || !UUID.checkIsUuid(item.getUuid())){
+// trackFlag = true;
+// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+")不符合规范"));
+// break;
+// }
+// if(item.getStartTime() == null){
+// trackFlag = true;
+// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+"),轨迹开始时间不可为空"));
+// break;
+// }
+// if(item.getEndTime() == null){
+// trackFlag = true;
+// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+"),轨迹结束时间不可为空"));
+// break;
+// }
+// if(item.getTimeInterval() == null) {
+// trackFlag = true;
+// errorDataRespDTOS.add(new ThErrorDataRespDTO(studentDetailReqDTO.getUuid(),"学习轨迹uuid("+item.getUuid()+"),时间间隔(秒)不可为空"));
+// break;
+// }
+// }
+// if(trackFlag){
+// continue;
+// }
saveStudyDetailReqDTOS.add(studentDetailReqDTO);
//判断需要修改的批次学生
@@ -1519,27 +1531,27 @@
}
}
//插入学习记录
- List<List<ThStudyDetail>> splitSaveDetailList = ListUtil.split(saveStudyDetailList, 500);
+ List<List<ThStudyDetail>> splitSaveDetailList = ListUtil.split(saveStudyDetailList, 200);
for (List<ThStudyDetail> thStudyDetails : splitSaveDetailList) {
studyDetailService.insertBatch(thStudyDetails);
}
//修改学习记录
- List<List<ThStudyDetail>> splitUpdateDetailList = ListUtil.split(updateStudyDetailList, 500);
+ List<List<ThStudyDetail>> splitUpdateDetailList = ListUtil.split(updateStudyDetailList, 200);
for (List<ThStudyDetail> thStudyDetails : splitUpdateDetailList) {
studyDetailService.updateBatch(thStudyDetails);
}
//插入认证记录
- List<List<ThStudyAuth>> splitSaveAuthList = ListUtil.split(saveStudyAuthList, 500);
+ List<List<ThStudyAuth>> splitSaveAuthList = ListUtil.split(saveStudyAuthList, 200);
for (List<ThStudyAuth> thStudyAuths : splitSaveAuthList) {
studyAuthService.insetBatch(thStudyAuths);
}
//插入学习轨迹
- List<List<ThStudyTrack>> splitSaveTrackList = ListUtil.split(saveStudyTrackList, 500);
+ List<List<ThStudyTrack>> splitSaveTrackList = ListUtil.split(saveStudyTrackList, 200);
for (List<ThStudyTrack> thStudyTracks : splitSaveTrackList) {
studyTrackService.insertBatch(thStudyTracks);
}
//修改学生完成状态
- List<List<ThStudentBatch>> splitUpdateThStudentBatchList = ListUtil.split(updateStudentBatchList, 500);
+ List<List<ThStudentBatch>> splitUpdateThStudentBatchList = ListUtil.split(updateStudentBatchList, 200);
for (List<ThStudentBatch> studentBatcheList : splitUpdateThStudentBatchList) {
studentBatchService.updateBatch(studentBatcheList);
}
@@ -1809,6 +1821,9 @@
cert.setUpdateTime(LocalDateTime.now());
cert.setInstitutionId(institutionUser.getId());
cert.setInstitutionName(institutionUser.getInstitutionalName());
+ if (cert.getDelFlag()==null) {
+ cert.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ }
updateCertList.add(cert);
} else {
//新增
--
Gitblit v1.9.2