From 03322a3ffc83e9a6f25a9e97345d8e192b950da5 Mon Sep 17 00:00:00 2001 From: gaowdong Date: Wed, 7 May 2025 13:46:09 +0800 Subject: [PATCH] =?UTF-8?q?5912=20H5=E9=A2=84=E8=AE=A2=E9=A4=90=E4=B8=AD?= =?UTF-8?q?=E4=BC=91=E6=81=AF=E7=9A=84=E6=A1=A3=E5=8F=A3=E4=B9=9F=E8=83=BD?= =?UTF-8?q?=E4=B8=8B=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderInfoServiceImpl.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/service/impl/OrderInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/service/impl/OrderInfoServiceImpl.java index d6a0848..a522791 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/service/impl/OrderInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/service/impl/OrderInfoServiceImpl.java @@ -12,6 +12,8 @@ import com.bonus.canteen.core.account.service.IAccInfoService; import com.bonus.canteen.core.account.service.IAccTradeService; import com.bonus.canteen.core.account.service.IAccWalletInfoService; import com.bonus.canteen.core.account.utils.AccRedisUtils; +import com.bonus.canteen.core.alloc.domain.AllocStall; +import com.bonus.canteen.core.alloc.service.IAllocStallService; import com.bonus.canteen.core.common.utils.MqUtil; import com.bonus.canteen.core.common.utils.RedisUtil; import com.bonus.canteen.core.order.business.OrderBusiness; @@ -30,6 +32,7 @@ import com.bonus.canteen.core.user.domain.DeviceMqPersonalUpdateMessageDTO; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.houqin.constant.DelFlagEnum; import com.bonus.common.houqin.constant.SourceTypeEnum; import com.bonus.common.houqin.mq.constant.LeMqConstant; import com.bonus.common.houqin.utils.JacksonUtil; @@ -70,6 +73,8 @@ public class OrderInfoServiceImpl implements IOrderInfoService private OrderBusiness orderBusiness; @Autowired private IAccWalletInfoService accWalletInfoService; + @Autowired + private IAllocStallService allocStallService; /** * 查询订单 @@ -137,6 +142,7 @@ public class OrderInfoServiceImpl implements IOrderInfoService AccInfoDetailsVO accInfoVO = this.accInfoService.queryAccInfoByUserId(orderAddParam.getUserId()); accInfoService.checkAccStatus(accInfoVO); List canteenOrderInfoList = new OrderInfo().of(orderAddParam); + checkStallStatus(canteenOrderInfoList); checkOrdersTotalAmount(canteenOrderInfoList, orderAddParam.getRealAmount()); List orderInfoList = orderBusiness.orderPlaceHandler(canteenOrderInfoList); try { @@ -161,6 +167,7 @@ public class OrderInfoServiceImpl implements IOrderInfoService AccInfoDetailsVO accInfoVO = this.accInfoService.queryAccInfoByUserId(orderAddParam.getUserId()); accInfoService.checkAccStatus(accInfoVO); List canteenOrderInfoList = new OrderInfo().of(orderAddParam); + checkStallStatus(canteenOrderInfoList); checkDeviceOrderExisting(canteenOrderInfoList); checkOrdersTotalAmount(canteenOrderInfoList, orderAddParam.getRealAmount()); List orderInfoList = orderBusiness.orderPlaceHandler(canteenOrderInfoList); @@ -213,6 +220,25 @@ public class OrderInfoServiceImpl implements IOrderInfoService } } + private void checkStallStatus(List orderInfoList) { + if(CollUtil.isEmpty(orderInfoList)) { + throw new ServiceException("订单不能为空"); + } + for(OrderInfo orderInfo : orderInfoList) { + if(orderInfo.getIsOnline() == 1) { + AllocStall allocStall = allocStallService.selectAllocStallByStallId(orderInfo.getStallId()); + if(Objects.isNull(allocStall) || DelFlagEnum.DEL_TRUE.key().toString().equals(allocStall.getDelFlag())) { + throw new ServiceException("档口不存在"); + } + if(1 == allocStall.getBusinessState()) { + throw new ServiceException("档口已休息"); + } + + } + } + + } + @Override public void pay(Long orderId) { if(Objects.isNull(orderId) || orderId <= 0) {