|
|
@@ -1,25 +1,34 @@
|
|
|
package com.izouma.wenlvju.service;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.github.kevinsawicki.http.HttpRequest;
|
|
|
import com.izouma.wenlvju.domain.ExamRoom;
|
|
|
+import com.izouma.wenlvju.domain.Organization;
|
|
|
+import com.izouma.wenlvju.domain.Record;
|
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
|
import com.izouma.wenlvju.exception.BusinessException;
|
|
|
import com.izouma.wenlvju.repo.ExamRoomRepo;
|
|
|
+import com.izouma.wenlvju.repo.OrganizationRepo;
|
|
|
import com.izouma.wenlvju.repo.RecordExamRoomRepo;
|
|
|
+import com.izouma.wenlvju.repo.RecordRepo;
|
|
|
import com.izouma.wenlvju.utils.JpaUtils;
|
|
|
+import jodd.util.StringUtil;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.PageImpl;
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
@@ -29,6 +38,8 @@ public class ExamRoomService {
|
|
|
private final ExamRoomRepo examRoomRepo;
|
|
|
private final EzvizTokenService ezvizTokenService;
|
|
|
private final RecordExamRoomRepo recordExamRoomRepo;
|
|
|
+ private final RecordService recordService;
|
|
|
+ private final OrganizationRepo organizationRepo;
|
|
|
|
|
|
public Page<ExamRoom> all(PageQuery pageQuery) {
|
|
|
return examRoomRepo.findAll(JpaUtils.toSpecification(pageQuery, ExamRoom.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
@@ -159,4 +170,29 @@ public class ExamRoomService {
|
|
|
return criteriaBuilder.and(and.toArray(new Predicate[0]));
|
|
|
}, JpaUtils.toPageRequest(pageQuery));
|
|
|
}
|
|
|
+
|
|
|
+ /*
|
|
|
+ 展示今天备案中的所有考场信息
|
|
|
+ */
|
|
|
+ public List<ExamRoom> byToday(Long recordId, String district) {
|
|
|
+ List<Record> all = recordService.byToday(recordId, district);
|
|
|
+ List<Long> rids = all.stream().map(Record::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(rids)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Long> ids = recordExamRoomRepo.findExamRoomIdByRecordIdIn(rids);
|
|
|
+ if (CollUtil.isEmpty(ids)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<ExamRoom> rooms = examRoomRepo.findAllById(ids);
|
|
|
+ Set<Long> organizationIds = rooms.stream().map(ExamRoom::getOrganizationId).collect(Collectors.toSet());
|
|
|
+ Map<Long, String> organizationMap = organizationRepo.findAllById(organizationIds)
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.toMap(Organization::getId, Organization::getName));
|
|
|
+
|
|
|
+ rooms.forEach(room -> room.setOrganizer(organizationMap.get(room.getOrganizationId())));
|
|
|
+ return rooms;
|
|
|
+ }
|
|
|
}
|