From 08292e03f42bb2e72449ae1a71bf65f85f7ab79d Mon Sep 17 00:00:00 2001
From: xuxin <840198532@qq.com>
Date: Mon, 24 Nov 2025 14:13:24 +0800
Subject: [PATCH] =?UTF-8?q?=E8=8B=8D=E7=A9=B9=E5=A4=96=E5=8D=96--=E7=94=A8?=
=?UTF-8?q?=E6=88=B7=E7=AB=AF=E6=9F=A5=E8=AF=A2=E6=97=B6=EF=BC=8C=E4=BF=9D?=
=?UTF-8?q?=E5=AD=98=E5=A5=97=E9=A4=90=E7=BC=93=E5=AD=98=EF=BC=8C=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E7=AB=AF=E5=A2=9E=E5=88=A0=E6=94=B9=E8=B5=B7=E5=81=9C?=
=?UTF-8?q?=E5=94=AE=E6=97=B6=EF=BC=8C=E5=A5=97=E9=A4=90=E7=BC=93=E5=AD=98?=
=?UTF-8?q?=E7=9A=84=E6=B8=85=E7=90=86=E4=B8=9A=E5=8A=A1=E5=AE=9E=E7=8E=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sky-server/pom.xml | 3 ++-
sky-server/src/main/java/com/sky/SkyApplication.java | 2 ++
.../java/com/sky/controller/admin/SetmealController.java | 9 +++++++++
.../java/com/sky/controller/user/SetmealController.java | 2 ++
4 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/sky-server/pom.xml b/sky-server/pom.xml
index 3a86d87..565b5da 100644
--- a/sky-server/pom.xml
+++ b/sky-server/pom.xml
@@ -86,12 +86,13 @@
knife4j-spring-boot-starter
-
+
org.springframework.boot
spring-boot-starter-data-redis
+
org.springframework.boot
spring-boot-starter-cache
diff --git a/sky-server/src/main/java/com/sky/SkyApplication.java b/sky-server/src/main/java/com/sky/SkyApplication.java
index b13f77c..5c75b01 100644
--- a/sky-server/src/main/java/com/sky/SkyApplication.java
+++ b/sky-server/src/main/java/com/sky/SkyApplication.java
@@ -3,11 +3,13 @@ package com.sky;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableTransactionManagement //开启注解方式的事务管理
@Slf4j
+@EnableCaching //开启缓存注解功能
public class SkyApplication {
public static void main(String[] args) {
SpringApplication.run(SkyApplication.class, args);
diff --git a/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java b/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java
index eff3f33..83fc1d2 100644
--- a/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java
+++ b/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java
@@ -10,6 +10,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -33,6 +34,8 @@ public class SetmealController {
*/
@PostMapping
@ApiOperation("新增套餐")
+ //在客户端新增套餐时,要把对应分类的套餐缓存清理,在下一次查询时,获取最新的数据进行缓存
+ @CacheEvict(cacheNames = "setmealCache",key = "#setmealDTO.categoryId")
public Result save(@RequestBody SetmealDTO setmealDTO) {
setmealService.saveWithDish(setmealDTO);
return Result.success();
@@ -57,6 +60,8 @@ public class SetmealController {
*/
@DeleteMapping
@ApiOperation("批量删除套餐")
+ //客户端批量删除套餐数据时,可能删除多个分类下的套餐,为了避免多余的查询操作,直接将套餐的所有缓存直接清理
+ @CacheEvict(cacheNames = "setmealCache",allEntries = true)
public Result delete(@RequestParam List ids){
setmealService.deleteBatch(ids);
return Result.success();
@@ -83,6 +88,8 @@ public class SetmealController {
*/
@PutMapping
@ApiOperation("修改套餐")
+ //客户端修改套餐数据时,可能修改分类的类型,为了避免多余的查询操作,直接将套餐的所有缓存直接清理
+ @CacheEvict(cacheNames = "setmealCache",allEntries = true)
public Result update(@RequestBody SetmealDTO setmealDTO) {
setmealService.update(setmealDTO);
return Result.success();
@@ -96,6 +103,8 @@ public class SetmealController {
*/
@PostMapping("/status/{status}")
@ApiOperation("套餐起售停售")
+ //客户端起售停售套餐时,没有传递套餐的分类id,为了避免多余的查询操作,直接将套餐的所有缓存直接清理
+ @CacheEvict(cacheNames = "setmealCache",allEntries = true)
public Result startOrStop(@PathVariable Integer status, Long id) {
setmealService.startOrStop(status, id);
return Result.success();
diff --git a/sky-server/src/main/java/com/sky/controller/user/SetmealController.java b/sky-server/src/main/java/com/sky/controller/user/SetmealController.java
index 5557e7c..9f60302 100644
--- a/sky-server/src/main/java/com/sky/controller/user/SetmealController.java
+++ b/sky-server/src/main/java/com/sky/controller/user/SetmealController.java
@@ -8,6 +8,7 @@ import com.sky.vo.DishItemVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,6 +30,7 @@ public class SetmealController {
*/
@GetMapping("/list")
@ApiOperation("根据分类id查询套餐")
+ @Cacheable(cacheNames = "setmealCache",key = "#categoryId") //redis的key setmealCache::#categoryId
public Result> list(Long categoryId) {
Setmeal setmeal = new Setmeal();
setmeal.setCategoryId(categoryId);