Kaynağa Gözat

数据库优化

xiongzhu 3 yıl önce
ebeveyn
işleme
e9a10d44b5

+ 5 - 3
src/main/java/com/izouma/nineth/service/BlindBoxItemService.java

@@ -2,10 +2,11 @@ package com.izouma.nineth.service;
 
 import com.izouma.nineth.domain.BlindBoxItem;
 import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.dto.PageWrapper;
 import com.izouma.nineth.repo.BlindBoxItemRepo;
 import com.izouma.nineth.utils.JpaUtils;
 import lombok.AllArgsConstructor;
-import org.springframework.data.domain.Page;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
 @Service
@@ -14,7 +15,8 @@ public class BlindBoxItemService {
 
     private BlindBoxItemRepo blindBoxItemRepo;
 
-    public Page<BlindBoxItem> all(PageQuery pageQuery) {
-        return blindBoxItemRepo.findAll(JpaUtils.toSpecification(pageQuery, BlindBoxItem.class), JpaUtils.toPageRequest(pageQuery));
+    @Cacheable(value = "blindBoxList", key = "#pageQuery.hashCode()")
+    public PageWrapper<BlindBoxItem> all(PageQuery pageQuery) {
+        return PageWrapper.of(blindBoxItemRepo.findAll(JpaUtils.toSpecification(pageQuery, BlindBoxItem.class), JpaUtils.toPageRequest(pageQuery)));
     }
 }

+ 1 - 3
src/main/java/com/izouma/nineth/web/BlindBoxItemController.java

@@ -8,7 +8,6 @@ import com.izouma.nineth.service.BlindBoxItemService;
 import com.izouma.nineth.utils.ObjUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
-import org.springframework.cache.annotation.Cacheable;
 import org.springframework.data.domain.Page;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -38,9 +37,8 @@ public class BlindBoxItemController extends BaseController {
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/all")
-    @Cacheable(value = "blindBoxItemList", key = "#pageQuery.hashCode()")
     public Page<BlindBoxItem> all(@RequestBody PageQuery pageQuery) {
-        return blindBoxItemService.all(pageQuery);
+        return blindBoxItemService.all(pageQuery).toPage();
     }
 
     @GetMapping("/get/{id}")