1.店铺营业状态设置
需求分析和设计
左上角要求是有回显的
所以至少两个接口
1.查询营业状态接口(分为了管理端和用户端)
2.修改营业状态接口
因为管理端和用户端路径不同,所以现在是至少三个接口的
可以发现如果存到表里除了id只有一个字段且只有一列
所以 我们存储到redis中,提高效率
代码开发
管理端
@RestController("adminShopController")
@RequestMapping("/admin/shop")
@Api(tags = "店铺相关接口")
@Slf4j
public class ShopController {//这种操作redis都用不到service和daopublic static final String KEY = "SHOP_STATUS";@Autowiredprivate 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存进去的,所以取的时候也用IntegerInteger status = (Integer)redisTemplate.opsForValue().get(KEY);log.info("获取店铺营业状态为:{}",status==1 ? "营业中" : "打烊中");return Result.success(status);}
}
用户端
@RestController("userShopController")
@RequestMapping("/user/shop")
@Api(tags = "店铺相关接口")
@Slf4j
public class ShopController {//这种操作redis都用不到service和daopublic static final String KEY = "SHOP_STATUS";@Autowiredprivate RedisTemplate redisTemplate;@ApiOperation("查询店铺营业状态")@GetMapping("/status")public Result<Integer> getStatus(){//之前用Integer存进去的,所以取的时候也用IntegerInteger status = (Integer)redisTemplate.opsForValue().get(KEY);log.info("获取店铺营业状态为:{}",status==1 ? "营业中" : "打烊中");return Result.success(status);}
}
功能测试
注意:一定要保证redis,idea项目同时开启才可以修改状态
(可以自己研究一下吧redis变成默认开启服务)