day01:
前端网址通过nginx访问后端网址(前后网址不一致),有三个好处:
一是提高访问速度,二是进行负载均衡,三是保障后端安全性
用md5加密了密码
后端使用knife4j调试,用Swagger生成接口文档(代替tomcat),前端使用yapi
day02
添加员工,并用全局变量接收重复命名异常,获取当前用户id课通过ThreadLocal获取
分页功能,mybatis+pagehelper(返回Page<> 对象),分页的时间格式
状态功能,查找语句
编辑员工,两个接口,先根据id查询,再更新
导入分类模块
day03
获取自动填充(先创注解,调用枚举,写aop,加注解)
图片上传码云
菜品及口味模块,分页查询
菜品删除
day05
笔记:
Redis是一个基于内存的key-value结构数据库(适用于热点数据)
字符串命令:set key value,get key,setex key seconds value,setnx key value
哈希命令:hset key field value,hget key field,hdel key value,hkeys key,hvals key
列表命令:lpush key values,rpop key,lrange key start stop,llen key
集合命令:sadd key member1 ,smembers key,scard key,sinter key1 key2,sunion key1 key2,srem key member1 member2
有序集合命令:zadd key score1 member1,zrem key member,zrange key start stop withscores,zincrby key increment member
通用命令:keys pattern,del key,exist key,type key
day06
微信登录:controller:由接口文档知其传进来的数据,返回的类型及数据,请求方式,然后根据需求,登录需要返回token,id和user,token由jwt生成,jwt的参数由配置方法注入得到,后通过builders方法写入并返回
service:
day07
spring cache是一个缓存注解,enablecaching开启缓存注解,cacheable将返回值存入缓存,若没用返回值则调用方法获取,cacheput将返回值存入缓存,cacheevict删除缓存
day08
微信支付:首先调用一个预支付接口,并听过许可证,密钥和临时内网ip加密
day10
统计营业额模块:
接收始末日期并返回营业额,
用到StringUtils的join将集合转为字符串并插入“,”,
金额用double类型,若输入给mapper的参数考虑可能为空,可用map封装
注意:
1,用map封装接收的对象
2,订单有可能金额为空,需对map进项判断
统计新增和总用户模块:
接收始末日期并返回营业额,
用到StringUtils的join将集合转为字符串并插入“,”,
用动态条件接收时间,控制动态条件的语句是执行的先后
统计订单模块:
用Stream可快速算出集合的总和vaildOrdersCountList.stream().reduce(Integer::sum).get()
若不同类型无法强转,可将一个值转
销量top10模块:
若mapper 返回的对象有两个则封装一个对象返回
可用Stream将对象的方法依次取出并封装到集合