订单、明细准备
tips
- domain中选择包装类和基本类型,看是否需要用到非空状态
- 所有DML操作的值是关联对象.id
订单
- OrderBill 中用List集合保存明细,getItems时触发延迟加载,发额外SQL查询
status表示单据状态:0未审核,1已审核,
定义常量psf int STATUS_NORMAL=0 STATUS_AUDIT=1
贴注解:@DateTimeFormat(pattern = "yyyy-MM-dd")
- OrderBillMapper里映射ResultMap,注意前缀
queryForList中内联查询,只有审核人是需要左外联接的,这样才可以查出未审核的订单
明细
- OrderBillItemMapper只需要增加、删除、通过BillId查询item的方法
关联Product中属性,要关联id、name、brandName
通过Bill id关联查询时,要查出product的id,否则Mybatis会把所有数据当作一条处理
- 单据和明细是组合关系,不能分开管理,不需要单独的service,统一在OrderBillServiceImpl中处理
页面效果
- 点击放大镜,弹出子页面
- 传值:点击选择该商品按钮,关闭窗口,传递商品数据
- 页面准备:ProductController中复制一份list方法修改为selectProductList,简单修改页面
实现功能