licailing 4 жил өмнө
parent
commit
bc59062bdc

+ 5 - 5
src/main/java/com/izouma/wenlvju/service/ExamRoomService.java

@@ -14,6 +14,7 @@ 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;
@@ -151,12 +152,11 @@ public class ExamRoomService {
         if (CollUtil.isEmpty(ids)) {
             return new PageImpl<>(new ArrayList<>(), JpaUtils.toPageRequest(pageQuery), 0);
         }
-        examRoomRepo.findAll((root, criteriaQuery, criteriaBuilder) -> {
+
+        return examRoomRepo.findAll((root, criteriaQuery, criteriaBuilder) -> {
             List<Predicate> and = JpaUtils.toPredicates(pageQuery, ExamRoom.class, root, criteriaQuery, criteriaBuilder);
             and.add(root.get("id").in(ids));
-            JpaUtils.toSpecification(pageQuery, ExamRoom.class);
-            return null;
-        });
-        return null;
+            return criteriaBuilder.and(and.toArray(new Predicate[0]));
+        }, JpaUtils.toPageRequest(pageQuery));
     }
 }

+ 8 - 10
src/main/java/com/izouma/wenlvju/web/ExamRoomController.java

@@ -1,33 +1,28 @@
 package com.izouma.wenlvju.web;
 
-import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.StrUtil;
 import com.izouma.wenlvju.domain.ExamRoom;
 import com.izouma.wenlvju.dto.PageQuery;
 import com.izouma.wenlvju.exception.BusinessException;
 import com.izouma.wenlvju.repo.ExamRoomRepo;
 import com.izouma.wenlvju.service.ExamRoomService;
-import com.izouma.wenlvju.utils.JpaUtils;
 import com.izouma.wenlvju.utils.ObjUtils;
 import com.izouma.wenlvju.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
 import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageImpl;
 import org.springframework.web.bind.annotation.*;
 
-import javax.persistence.criteria.Predicate;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 
 @RestController
 @RequestMapping("/examRoom")
 @AllArgsConstructor
 public class ExamRoomController extends BaseController {
-    private final ExamRoomService    examRoomService;
-    private final ExamRoomRepo       examRoomRepo;
-
+    private final ExamRoomService examRoomService;
+    private final ExamRoomRepo    examRoomRepo;
 
 
     //@PreAuthorize("hasRole('ADMIN')")
@@ -79,8 +74,11 @@ public class ExamRoomController extends BaseController {
     }
 
     @PostMapping("/byRecord")
-    public Page<ExamRoom> byRecord(PageQuery pageQuery, Long recordId) {
-        return null;
+    public Page<ExamRoom> byRecord(PageQuery pageQuery) {
+        Object recordId = pageQuery.getQuery().get("recordId");
+        //转换
+        Long id = Convert.convert(Long.class, recordId);
+        return examRoomService.byRecord(id, pageQuery);
     }
 }