1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| 新建控制类 ShopController,专门用来存放店铺相关接口,然后开发设置店铺营业状态和管理端查询营业状态两个接口: 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.*;
@RestController("adminShopController") //与用户端的ShopController区分开 @RequestMapping("/admin/shop") @Slf4j @Api("店铺操作相关接口") public class ShopController {
public static final String KEY = "SHOP_STATUS";
@Autowired private RedisTemplate redisTemplate;
/** * 设置店铺的营业状态 * * @param status * @return */ @PutMapping("/{status}") @ApiOperation("设置店铺的营业状态") public Result setStatus(@PathVariable Integer status) { log.info("设置店铺的营业状态为:{}", status == 1 ? "营业中" : "打烊"); redisTemplate.opsForValue().set(KEY, status); return Result.success(); }
/** * 获取店铺的营业状态 * * @return */ @GetMapping("/status") @ApiOperation("获取店铺的营业状态") public Result<Integer> getStatus() { Integer status = (Integer) redisTemplate.opsForValue().get(KEY); log.info("获取到店铺的营业状态为:{}", status == 1 ? "营业中" : "打烊"); return Result.success(status); } }
用户端查询营业状态接口开发: 用户端查询营业状态这个接口的逻辑和管理端的一模一样,所以我们可以先在 controller 包下新建 user 包用来存放用户端的控制类,然后将管理端的 ShopController 复制一份到 user 包下,再稍加修改即可
|