……尝试治一下自己的毛病
大致就是,写代码的时候做出许多假设,测试的时候发现假设并不总是成立。。
很多都是非常细小的问题,交付一个模块的时候记一下,不要再犯就是了
2019-11-14
微商城斑马二期用户分组、花型
MyBatis Plus默认不更新为null字段,导致无法将面料修改为花型
重构商品校验Service时,取错集合,拼错字符串,导致花型无法设置为前10商品时报错文案错误
商品占库业务没有考虑到库存可以为空,订单业务应该是花型订单才不占库,写反了
JRebel会导致修改Spring配置文件的配置项后不生效
审核订单需要计算幅宽克重,没有跳过
销售系统创建订单会根据类来推断订单类型,还有一个强行将生产数量置0的设定
管理后端商品详情应该写sql 用嵌套查询查出子表内的完整记录,然后返回id和名称给前端
商品详情没有返回折扣价,而且从登录Token信息取用户组id不一定是最新的
解决方案:
- 单个用户认证并且变更所在用户组的时候,需要踢出该用户
- 删除整个用户组时,需要踢出该用户组所有用户
- 商品详情使用用户组id从数据库获取并返回当前用户的折扣信息,由前端计算实时的商品价格/价格配置价格
- 订单详情的花型订单需要返回单品的单价
- 商品列表也需要返回折扣
购物车展示折扣价
2019-9-16
从前往后
标签模块
- 表名先用了复数,手写sql没改过来
- 没考虑添加商品时没有带标签的情况
- 删除接口Controller的请求方法写错
- TagDTO用于传输公司id,使用BeanUtils.copy时将公司id复制过去,导致返回结果多出公司id来
- 根据标签名搜索商品时 标签名与商品名条件应用OR排列,标签id应用and排列
2019-9-11
商品列表我认为是空列表,但是没有再swagger里写清楚,前端不知是传空数组还是不传
包括活动页Banner的必传性我也没有写清楚
而我后台做了许多没有判null就进行的操作是否需要主标题为空的校验写错了类型,写到了个人中心页的Banner
手动把模块表的某条记录从逻辑删除恢复,然后忘了恢复图片。。导致这个类型的模块拿不到,手动修了数据
哎呦,吐了,设计出现重大问题
之前做小程序banner一对多是按图片id做group,因为不想改原有数据结构
现在出现问题了,用两张相同的图片发现商品id被group到一个图片里去了
得改改,用json字符串存这个图片-商品一对多好了
2019-08-28
Banner图模块
- 关联查询时,由于习惯Mybatis Plus的自动过滤逻辑删除特性,自己撰写SQL时没有过滤关联查询表的已经逻辑删除的记录、以及子表中不存在的记录
代码:
1 |
|
重点在于and (i.is_deleted is NULL or i.is_deleted = 0)
- 根据类型筛选Banner图,前端应该这么传值:
1 | GET {{adminHost}}/microManage/pcBanner?type=0&type=3&type=4&type=5 |
后端应该这么接受:
1 |
|
前端直接用[0,3,4,5]这样的后端是接收不到的。。后端也不能用List