From 5334ef84547c130085cbc5d670380c7940c5bdf6 Mon Sep 17 00:00:00 2001 From: slhaf <2998813882@qq.com> Date: Sun, 22 Sep 2024 20:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E8=90=A5=E4=B8=9A=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- .../com/sky/config/RedisConfiguration.java | 25 ++++++++++++ .../sky/controller/admin/ShopController.java | 39 +++++++++++++++++++ .../sky/controller/user/ShopController.java | 31 +++++++++++++++ 4 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 sky-server/src/main/java/com/sky/config/RedisConfiguration.java create mode 100644 sky-server/src/main/java/com/sky/controller/admin/ShopController.java create mode 100644 sky-server/src/main/java/com/sky/controller/user/ShopController.java diff --git a/.gitignore b/.gitignore index 362dbd7..4bbb86f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ *.class *Test.java **/test/ -*dev.properties \ No newline at end of file +resources/application-dev.properties \ No newline at end of file diff --git a/sky-server/src/main/java/com/sky/config/RedisConfiguration.java b/sky-server/src/main/java/com/sky/config/RedisConfiguration.java new file mode 100644 index 0000000..23398ba --- /dev/null +++ b/sky-server/src/main/java/com/sky/config/RedisConfiguration.java @@ -0,0 +1,25 @@ +package com.sky.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +@Slf4j +public class RedisConfiguration { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){ + log.info("开始创建Redis模板对象"); + RedisTemplate redisTemplate = new RedisTemplate<>(); + //设置连接工厂对象 + redisTemplate.setConnectionFactory(redisConnectionFactory); + //设置序列化器 + redisTemplate.setKeySerializer(new StringRedisSerializer()); + redisTemplate.setValueSerializer(new StringRedisSerializer()); + return redisTemplate; + } +} diff --git a/sky-server/src/main/java/com/sky/controller/admin/ShopController.java b/sky-server/src/main/java/com/sky/controller/admin/ShopController.java new file mode 100644 index 0000000..4dc31e1 --- /dev/null +++ b/sky-server/src/main/java/com/sky/controller/admin/ShopController.java @@ -0,0 +1,39 @@ +package com.sky.controller.admin; + +import com.sky.result.Result; +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.data.redis.core.RedisTemplate; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +@RestController("adminShopController") +@RequestMapping("/admin/shop") +@Api(tags = "店铺操作接口") +@Slf4j +public class ShopController { + + private static final String KEY = "SHOP_STATUS"; + + @Autowired + private RedisTemplate redisTemplate; + + @PutMapping("/{status}") + @ApiOperation("设置营业状态") + public Result setStatus(@PathVariable String status) { + log.info("设置店铺营业状态为: {}",status.equals("1") ? "营业中":"打烊中"); + redisTemplate.opsForValue().set(KEY, status); + return Result.success(); + } + + @GetMapping("/status") + @ApiOperation("获取营业状态") + public Result getStatus(){ + int status = Integer.parseInt((String) Objects.requireNonNull(redisTemplate.opsForValue().get(KEY))); + log.info("获取到营业状态为: {}", status == 1 ? "营业中" : "打烊中"); + return Result.success(status); + } +} diff --git a/sky-server/src/main/java/com/sky/controller/user/ShopController.java b/sky-server/src/main/java/com/sky/controller/user/ShopController.java new file mode 100644 index 0000000..18733b8 --- /dev/null +++ b/sky-server/src/main/java/com/sky/controller/user/ShopController.java @@ -0,0 +1,31 @@ +package com.sky.controller.user; + +import com.sky.result.Result; +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.data.redis.core.RedisTemplate; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; + +@RestController("userShopController") +@RequestMapping("/admin/user") +@Api(tags = "店铺操作接口") +@Slf4j +public class ShopController { + + private static final String KEY = "SHOP_STATUS"; + + @Autowired + private RedisTemplate redisTemplate; + + @GetMapping("/status") + @ApiOperation("获取营业状态") + public Result getStatus(){ + int status = Integer.parseInt((String) Objects.requireNonNull(redisTemplate.opsForValue().get(KEY))); + log.info("获取到营业状态为: {}", status == 1 ? "营业中" : "打烊中"); + return Result.success(status); + } +}