wangliang hace 1 año
padre
commit
a4caeffd6c

+ 13 - 4
themis-business/src/main/java/com/qmth/themis/business/templete/service/impl/TempleteLogicServiceImpl.java

@@ -254,6 +254,18 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
                 }
             }
         }
+        if (!CollectionUtils.isEmpty(roomCodeSet)) {
+            List<String> roomCodeList = new ArrayList<>();
+            roomCodeList.addAll(roomCodeSet);
+            List<String> roomNameList = new ArrayList<>();
+            roomNameList.addAll(roomNameSet);
+
+            for (int i = 0; i < roomCodeList.size(); i++) {
+                if (!checkRoomCodeExist(examId, roomCodeList.get(i), orgId, roomNameList.get(i))) {
+                    throw new BusinessException("考场代码 " + roomCodeList.get(i) + " 不存在");
+                }
+            }
+        }
         QueryWrapper<TBExamInvigilateUser> wrapper = new QueryWrapper<>();
         wrapper.lambda().eq(TBExamInvigilateUser::getOrgId, orgId)
                 .in(TBExamInvigilateUser::getRoomCode, roomCodeSet)
@@ -838,9 +850,6 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
      * @param createId
      */
     public void dataVerify(Long examId, String userName, String password, String roomCode, String roomName, Long orgId, Long createId, Set<TBUser> tbUserList, Set<TBUserRole> tbUserRoleList, Set<TBExamInvigilateUser> tbExamInvigilateUserList) throws UnsupportedEncodingException {
-        if (!checkRoomCodeExist(examId, roomCode, orgId, roomName)) {
-            throw new BusinessException("考场代码 " + roomCode + " 不存在");
-        }
         if (Objects.nonNull(userName)) {
             //先查询监考帐号是否存在
             QueryWrapper<TBUser> tbUserQueryWrapper = new QueryWrapper<>();
@@ -886,7 +895,7 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
                 .eq(TBExamInvigilateUserTemp::getRoomCode, roomCode)
                 .eq(TBExamInvigilateUserTemp::getRoomName, roomName);
         TBExamInvigilateUserTemp tbExamInvigilateUserTemp = tbExamInvigilateUserTempService.getOne(tbExamInvigilateUserTempQueryWrapper);
-        tbExamInvigilateUserTemp = Objects.isNull(tbExamInvigilateUserTemp) ? new TBExamInvigilateUserTemp(orgId, examId, roomCode, roomName) : tbExamInvigilateUserTemp;
+        tbExamInvigilateUserTemp = Objects.isNull(tbExamInvigilateUserTemp) ? new TBExamInvigilateUserTemp(examId, orgId, roomCode, roomName) : tbExamInvigilateUserTemp;
         return tbExamInvigilateUserTempService.saveOrUpdate(tbExamInvigilateUserTemp);
     }