Java项目-苍穹外卖-Day05-Redis技术应用

1.店铺营业状态设置

需求分析和设计

左上角要求是有回显的

所以至少两个接口

1.查询营业状态接口(分为了管理端和用户端)

2.修改营业状态接口

因为管理端和用户端路径不同,所以现在是至少三个接口的


可以发现如果存到表里除了id只有一个字段且只有一列

所以 我们存储到redis中,提高效率

代码开发

管理端

java 复制代码
@RestController("adminShopController")
@RequestMapping("/admin/shop")
@Api(tags = "店铺相关接口")
@Slf4j
public class ShopController {//这种操作redis都用不到service和dao

    public static final String KEY = "SHOP_STATUS";

    @Autowired
    private RedisTemplate redisTemplate;

    @ApiOperation("设置店铺营业状态")
    @PutMapping("/{status}")
    public Result setStatus(@PathVariable Integer status){
        log.info("设置店铺营业状态为:{}",status==1 ? "营业中" : "打烊中");
        ValueOperations valueOperations = redisTemplate.opsForValue();
        valueOperations.set(KEY,status);
        return Result.success();
    }
    @ApiOperation("查询店铺营业状态")
    @GetMapping("/status")
    public Result<Integer> getStatus(){
        //之前用Integer存进去的,所以取的时候也用Integer
        Integer status = (Integer)redisTemplate.opsForValue().get(KEY);
        log.info("获取店铺营业状态为:{}",status==1 ? "营业中" : "打烊中");
        return Result.success(status);
    }
}

用户端

java 复制代码
@RestController("userShopController")
@RequestMapping("/user/shop")
@Api(tags = "店铺相关接口")
@Slf4j
public class ShopController {//这种操作redis都用不到service和dao

    public static final String KEY = "SHOP_STATUS";


    @Autowired
    private RedisTemplate redisTemplate;

    @ApiOperation("查询店铺营业状态")
    @GetMapping("/status")
    public Result<Integer> getStatus(){
        //之前用Integer存进去的,所以取的时候也用Integer
        Integer status = (Integer)redisTemplate.opsForValue().get(KEY);
        log.info("获取店铺营业状态为:{}",status==1 ? "营业中" : "打烊中");
        return Result.success(status);
    }
}

功能测试

注意:一定要保证redis,idea项目同时开启才可以修改状态

(可以自己研究一下吧redis变成默认开启服务)


相关推荐
Yue丶越14 分钟前
【C语言】深入理解指针(二)
c语言·开发语言·数据结构·算法·排序算法
m0_7482480218 分钟前
C++中的位运算符:与、或、异或详解
java·c++·算法
介一安全19 分钟前
从 0 到 1 玩转 2025 最新 WebGoat 靶场:环境搭建 + 全关卡漏洞解析(超级详细)
java·web安全·网络安全·靶场
web安全工具库19 分钟前
Linux进程的:深入理解子进程回收与僵尸进程
java·linux·数据库
沐浴露z20 分钟前
详解【限流算法】:令牌桶、漏桶、计算器算法及Java实现
java·算法·限流算法
兜有米啦40 分钟前
python练习题3
开发语言·python
chxii43 分钟前
Spring Boot 响应给客户端的常见返回类型
java·spring boot·后端
Wzx1980121 小时前
go基础语法练习
开发语言·后端·golang
老友@1 小时前
一次由 PageHelper 分页污染引发的 Bug 排查实录
java·数据库·bug·mybatis·pagehelper·分页污染
AI分享猿1 小时前
小白学规则编写:雷池 WAF 配置教程,用 Nginx 护住 WordPress 博客
java·网络·nginx