个人网站我的大学我做主页面,海尔电子商务网站建设,天津工商网上办事大厅,郑州网站制作招聘需求分析和设计
1.1.1 产品原型
进到苍穹外卖后台#xff0c;显示餐厅的营业状态#xff0c;营业状态分为营业中和打烊中#xff0c;若当前餐厅处于营业状态#xff0c;自动接收任何订单#xff0c;客户可在小程序进行下单操作#xff1b;若当前餐厅处于打烊状态#…需求分析和设计
1.1.1 产品原型
进到苍穹外卖后台显示餐厅的营业状态营业状态分为营业中和打烊中若当前餐厅处于营业状态自动接收任何订单客户可在小程序进行下单操作若当前餐厅处于打烊状态不接受任何订单客户便无法在小程序进行下单操作。
点击营业状态按钮时弹出更改营业状态
选择营业设置餐厅为营业中状态
选择打烊设置餐厅为打烊中状态
1.1.2 接口设计
根据上述原型图设计接口共包含3个接口。
接口设计
设置营业状态管理端查询营业状态用户端查询营业状态
**注**从技术层面分析其实管理端和用户端查询营业状态时可通过一个接口去实现即可。因为营业状态是一致的。但是本项目约定
管理端发出的请求统一使用/admin作为前缀。用户端发出的请求统一使用/user作为前缀。
因为访问路径不一致故分为两个接口实现。
1.1.3 营业状态存储方式
虽然可以通过一张表来存储营业状态数据但整个表中只有一个字段所以意义不大。
营业状态数据存储方式基于Redis的字符串来进行存储
**约定**1表示营业 0表示打烊
1.2 代码开发
1.2.1 设置营业状态
在sky-server模块中创建ShopController.java
根据接口定义创建ShopController的setStatus设置营业状态方法
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.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController(adminShopController)
RequestMapping(/admin/shop)
Api(tags 店铺相关接口)
Slf4j
public class ShopController {public static final String KEY SHOP_STATUS;Autowiredprivate 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();}
}1.2.2 管理端查询营业状态
根据接口定义创建ShopController的getStatus查询营业状态方法 /*** 获取店铺的营业状态* return*/GetMapping(/status)ApiOperation(获取店铺的营业状态)public ResultInteger getStatus(){Integer status (Integer) redisTemplate.opsForValue().get(KEY);log.info(获取到店铺的营业状态为{},status 1 ? 营业中 : 打烊中);return Result.success(status);}1.2.3 用户端查询营业状态
创建com.sky.controller.user包在该包下创建ShopController.java
根据接口定义创建ShopController的getStatus查询营业状态方法
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.*;RestController(userShopController)
RequestMapping(/user/shop)
Api(tags 店铺相关接口)
Slf4j
public class ShopController {public static final String KEY SHOP_STATUS;Autowiredprivate RedisTemplate redisTemplate;/*** 获取店铺的营业状态* return*/GetMapping(/status)ApiOperation(获取店铺的营业状态)public ResultInteger getStatus(){Integer status (Integer) redisTemplate.opsForValue().get(KEY);log.info(获取到店铺的营业状态为{},status 1 ? 营业中 : 打烊中);return Result.success(status);}
}