From 8ba92347a539f5a2af792233dd6024ddf393430a Mon Sep 17 00:00:00 2001 From: zengtao01 Date: Thu, 10 Oct 2024 15:58:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../diningplates/DiningPlatesService.java | 2 ++ .../diningplates/DiningPlatesServiceImpl.java | 12 ++++++++++ .../orderdetail/OrderDetailServiceImpl.java | 23 +++++-------------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java index 0feb1c83..c971c502 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java @@ -49,6 +49,8 @@ public interface DiningPlatesService { */ DiningPlatesDO getDiningPlates(Long id); + DiningPlatesDO getDiningPlatesByNum(String diningPlatesNum,Long storeId); + /** * 获得餐盘分页 * diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java index 6477fc00..c05b3794 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java @@ -118,6 +118,18 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { return diningPlatesMapper.selectById(id); } + @Override + public DiningPlatesDO getDiningPlatesByNum(String diningPlatesNum,Long storeId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) + .eq(DiningPlatesDO::getStoreId, storeId); + List list = diningPlatesMapper.selectList(wrapper); + if(CollectionUtil.isNotEmpty(list)){ + return list.get(0); + } + return new DiningPlatesDO(); + } + @Override public PageResult getDiningPlatesPage(DiningPlatesPageReqVO pageReqVO) { PageResult diningPlatesDOPageResult = diningPlatesMapper.selectPage(pageReqVO); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java index c65d9294..d517ea7e 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DishVO; import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailPageReqVO; import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailRespVO; import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailSaveReqVO; -import cn.iocoder.yudao.module.member.dal.dataobject.order.DishOrderDO; +import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO; import cn.iocoder.yudao.module.member.dal.dataobject.orderdetail.OrderDetailDO; import cn.iocoder.yudao.module.member.dal.mysql.order.DishOrderMapper; import cn.iocoder.yudao.module.member.dal.mysql.orderdetail.OrderDetailMapper; @@ -33,7 +33,8 @@ import java.time.format.DateTimeFormatter; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ORDER_ALREADY_COMPLETE; +import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ORDER_DETAIL_NOT_EXISTS; /** * 订单明细 Service 实现类 @@ -73,23 +74,11 @@ public class OrderDetailServiceImpl implements OrderDetailService { @Transactional(rollbackFor = Exception.class) public Long createOrderDetail(AppOrderDetailSaveReqVO createReqVO) { - //餐盘号去获取订单 - DishOrderDO dishOrderDO = dishOrderMapper.selectOne(Wrappers.lambdaQuery() - .eq(DishOrderDO::getDiningPlatesNum, createReqVO.getDiningPlatesNum()) - .eq(DishOrderDO::getStoreId, createReqVO.getStoreId()) - .eq(DishOrderDO::getOrderStatus, DishOrderDO.INCOMPLETE) - .orderByDesc(DishOrderDO::getCreateTime) - .last(MemberConstants.LIMIT_ONE)); - if (dishOrderDO == null) { + DiningPlatesDO diningPlatesDO = diningPlatesService.getDiningPlatesByNum(createReqVO.getDiningPlatesNum(), createReqVO.getStoreId()); + if (diningPlatesDO == null || diningPlatesDO.getOrderId() ==null) { throw exception(ORDER_ALREADY_COMPLETE); } - ////判定餐盘是否绑定并刷新绑定时间 - //Boolean b = diningPlatesService.checkBind(createReqVO.getDiningPlatesNum(), createReqVO.getStoreId()); - //if (!b) { - // throw exception(DINING_PLATES_NOT_BIND); - //} - DishesRespDto dish = dishesApi.getDish(createReqVO.getDishesId()); DishesNutritionRespDTO dishEnergy = dishesNutritionApi.getDishEnergy(createReqVO.getDishesId()); @@ -115,7 +104,7 @@ public class OrderDetailServiceImpl implements OrderDetailService { } } - orderDetail.setOrderId(dishOrderDO.getId()).setDishesName(dish.getDishesName()).setDishUrl(dish.getDishesImageUrl()); + orderDetail.setOrderId(diningPlatesDO.getOrderId()).setDishesName(dish.getDishesName()).setDishUrl(dish.getDishesImageUrl()); orderDetail.setSn(this.getHearder()); orderDetail.setPrice(bigDecimal1); orderDetailMapper.insert(orderDetail);