业务描述

业务需求,根据订单每天(一个订单包含多天),展示出订单每天的详细信息,视图需求如下:
业务模型
一个订单包含多天,一个订单的一天包含多餐,每餐包含多个菜品,每个产品包含多种食物。
数据库建模结构:
1、订单————nutrition_provide_order
2、订单每天————nutrition_provide_order_day————一个订单包含多个订单每天
3、订单每餐————nutrition_provide_order_meals————一个订单每天包含多个订单每餐
4、订单每餐菜品————nutrition_provide_order_meals_dishes
业务分析
UML时序图:
代码实现
源码示例:
@Override public ServerResponse getDetailsByOrderDayId(Integer orderDayId) throws Exception { NutritionProvideOrderDetailsVo nutritionProvideOrderDetailsVo = new NutritionProvideOrderDetailsVo(); // 3、订单号是否为空 if(orderDayId==null){ throw new Exception("ID为空"); } // 5、查询订单每天 NutritionProvideOrderDay nutritionProvideOrderDay = nutritionProvideOrderDayMapper.selectById(orderDayId); if(nutritionProvideOrderDay==null){ throw new Exception("订单不存在"); } // 8、查询订单 NutritionProvideOrder nutritionProvideOrder = nutritionProvideOrderMapper.selectById(nutritionProvideOrderDay.getOrderId()); if(nutritionProvideOrder==null){ throw new Exception("订单天不存在"); } // 11、根据天查询每餐信息 Map<String,Integer> paramMap = new HashMap(); paramMap.put("orderId", nutritionProvideOrder.getId()); List<NutritionProvideOrderDetailsDistributionProgrammeVo> everyMealRequestList = nutritionProvideOrderMealsMapper.selectNutritionProvideOrderDetailsDistributionProgrammeVo(paramMap); // 13、按照6餐构建列表 everyMealRequestList = ResNutritionProvideOrderHelper.toEveryMealAdapterByName(everyMealRequestList); // 14、组装对象,JSON格式化(部分代码略) return ServerResponse.createBySuccess(nutritionProvideOrderDetailsVo); }


还没有评论,来说两句吧...