1.day1-开发环境搭建
nginx反向代理的配置方式
apifox在设计时用的接口管理
swagger的是后端开发时的方便测试的接口
常用管理接口文档注解
2.day2
1.需求分析和设计
2.beanutils工具类(实现对象属性拷贝)
3.ThreadLocal(获取登录员工的id)
一次请求就是一个线程
4.分页查询日期格式问题
ctrl+o
5.编辑员工功能
3.day3
6.分类管理功能模块
7.公共字段自动填充
4.day4---菜品分类功能
1.文件上传思路
2.新增菜品思路
有xml文件中,需要获取id值
3.菜品删除模块
4.菜品修改
查询功能,数据回显
修改update功能
5.day5
1.redis--解决店铺状态设置
简介
1
启动服务:redis-server.exe redis.windows.conf
客户端:redis-cli.exe -h localhost -p 6379 -a 123456
连接本地接口,密码123456
2.5种数据类型
3.操作命令
字符串操作命令
哈希操作命令
列表操作命令
集合操作命令
有序集合操作命令
通用命令
4.redis的java客户端
5.spring data redis的使用方式
6.店铺状态设置分析
6.day6--微信小程序、微信登录等
1.HttpClient
2.微信小程序开发
注册、完善小程序信息、下载开发者工具
3.微信登录流程
7.day7--缓存相关
1.缓存菜品
用redis缓存数据,减少服务器压力
实现思路:每一个dish_1对应一个菜类
调用 redisTemplate实现
@Autowired
private RedisTemplate redisTemplate;
/**
* 根据分类id查询菜品
*
* @param categoryId
* @return
*/
@GetMapping("/list")
@ApiOperation("根据分类id查询菜品")
public Result<List<DishVO>> list(Long categoryId) {
//构造redis中的key,规则:dish_分类id
String key = "dish_" + categoryId;
//查询redis中是否存在菜品数据
List<DishVO> list = (List<DishVO>)redisTemplate.opsForValue().get(key);
if(list != null && list.size()>0) {
//如果存在,直接返回,无须查询数据库
return Result.success(list);
}
Dish dish = new Dish();
dish.setCategoryId(categoryId);
dish.setStatus(StatusConstant.ENABLE);//查询起售中的菜品
//如果不存在,则查询数据库,并将查询到的数据放入redis中
list = dishService.listWithFlavor(dish);
redisTemplate.opsForValue().set(key,list);
return Result.success(list);
}
2.缓存套餐
spring cache注解----进一步快速处理redis缓存问题
常用注解
spring cache入门案例
主要实现思路
3.添加购物车
需求分析
查询购物车信息时,进行动态查询,判断有无菜品信息等等
4.查看购物车
在sky-server的controller下的ShoppingCartController类中加入如下代码:
@ApiOperation("查看购物车")
@GetMapping("/list")
public Result<List<ShoppingCart>> list(){
List<ShoppingCart> list = shoppingCartService.showShoppingCart();
return Result.success(list);
}
在sky-server的service下的ShoppingCartService类中加入如下代码:
List<ShoppingCart> showShoppingCart();
在sky-server的service的Impl下的ShoppingCartServiceImpl类中加入如下代码:
@Override
public List<ShoppingCart> showShoppingCart() {
Long userId = BaseContext.getCurrentId();
ShoppingCart shoppingCart = ShoppingCart.builder()
.userId(userId)
.build();
List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);//只需要传userid即可
return list;
}