From 39f8fb5886475604b6a9b6d99afe53ec730a293b Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期四, 31 十月 2024 14:31:20 +0800
Subject: [PATCH] 修改题库推送接口

---
 exam-system/src/main/java/com/gkhy/exam/institutionalaccess/service/serviceImpl/TripartiteInterfaceServiceImpl.java |   62 ++++++++++++++++++------------
 1 files changed, 37 insertions(+), 25 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..e6d9fff 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

--
Gitblit v1.9.2