diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java index 0e68756..566d5a0 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java @@ -150,14 +150,33 @@ public class OrderBusiness { log.error("订单支付异常", ex); throw new ServiceException("支付失败"); } - OrderPayResultDTO orderPayResultDTO = new OrderPayResultDTO(); - orderPayResultDTO.setOrderIdList(orderInfoList.stream().map(OrderInfo::getOrderId).collect(Collectors.toList())); - orderPayResultDTO.setPayState(PayStateEnum.PAY_SUCC.getKey()); - orderPayResultDTO.setUpdateBy(SecurityUtils.getUsername()); - orderPayResultDTO.setOrderState(OrderStateEnum.PLACE.getKey()); - orderPayResultDTO.setPayTime(LocalDateTime.now()); - orderPayResultDTO.setUpdateTime(LocalDateTime.now()); - orderInfoMapper.updateOrderPayResult(orderPayResultDTO); + List deviceOrderInfoList = orderInfoList.stream() + .filter(orderInfo -> StringUtils.isNotEmpty(orderInfo.getDeviceOrderId())) + .collect(Collectors.toList()); + List reserveOrderInfoList = orderInfoList.stream() + .filter(orderInfo -> StringUtils.isEmpty(orderInfo.getDeviceOrderId())) + .collect(Collectors.toList()); + if(CollUtil.isNotEmpty(deviceOrderInfoList)) { + OrderPayResultDTO orderPayResultDTO = new OrderPayResultDTO(); + orderPayResultDTO.setOrderIdList(deviceOrderInfoList.stream().map(OrderInfo::getOrderId).collect(Collectors.toList())); + orderPayResultDTO.setPayState(PayStateEnum.PAY_SUCC.getKey()); + orderPayResultDTO.setUpdateBy(SecurityUtils.getUsername()); + orderPayResultDTO.setOrderState(OrderStateEnum.FINISH.getKey()); + orderPayResultDTO.setPayTime(LocalDateTime.now()); + orderPayResultDTO.setUpdateTime(LocalDateTime.now()); + orderInfoMapper.updateOrderPayResult(orderPayResultDTO); + } + if(CollUtil.isNotEmpty(reserveOrderInfoList)) { + OrderPayResultDTO orderPayResultDTO = new OrderPayResultDTO(); + orderPayResultDTO.setOrderIdList(reserveOrderInfoList.stream().map(OrderInfo::getOrderId).collect(Collectors.toList())); + orderPayResultDTO.setPayState(PayStateEnum.PAY_SUCC.getKey()); + orderPayResultDTO.setUpdateBy(SecurityUtils.getUsername()); + orderPayResultDTO.setOrderState(OrderStateEnum.PLACE.getKey()); + orderPayResultDTO.setPayTime(LocalDateTime.now()); + orderPayResultDTO.setUpdateTime(LocalDateTime.now()); + orderInfoMapper.updateOrderPayResult(orderPayResultDTO); + } + try { DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePerson(Math.toIntExact(orderInfoList.get(0).getUserId()),"update"); String jsonString = JacksonUtil.writeValueAsString(bean);