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);