Showing
2 changed files
with
36 additions
and
3 deletions
| ... | @@ -60,7 +60,7 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl | ... | @@ -60,7 +60,7 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl |
| 60 | if (createOrderRpcRequest.getCreation().getShouldCreateCustomerNoticeJson()) { | 60 | if (createOrderRpcRequest.getCreation().getShouldCreateCustomerNoticeJson()) { |
| 61 | orderDb.setCustomerId(createOrderRpcRequest.getCreation().getCustomerId()); | 61 | orderDb.setCustomerId(createOrderRpcRequest.getCreation().getCustomerId()); |
| 62 | } | 62 | } |
| 63 | - orderDb.setStatus(OrderStatusEnum.TO_PREPARE_VALUE); | 63 | + orderDb.setStatus(createOrderRpcRequest.getCreation().getStatusValue()); |
| 64 | orderDb.setMenuId(createOrderRpcRequest.getCreation().getMenuId()); | 64 | orderDb.setMenuId(createOrderRpcRequest.getCreation().getMenuId()); |
| 65 | orderDb.setTotalNum(createOrderRpcRequest.getCreation().getTotalNum()); | 65 | orderDb.setTotalNum(createOrderRpcRequest.getCreation().getTotalNum()); |
| 66 | if (createOrderRpcRequest.getCreation().getShouldCreatePayPrice()) { | 66 | if (createOrderRpcRequest.getCreation().getShouldCreatePayPrice()) { |
| ... | @@ -284,7 +284,7 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl | ... | @@ -284,7 +284,7 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl |
| 284 | { | 284 | { |
| 285 | orderDb.setCustomerId(creation.getCustomerId()); | 285 | orderDb.setCustomerId(creation.getCustomerId()); |
| 286 | } | 286 | } |
| 287 | - orderDb.setStatus(OrderStatusEnum.TO_PREPARE_VALUE); | 287 | + orderDb.setStatus(creation.getStatusValue()); |
| 288 | orderDb.setMenuId(creation.getMenuId()); | 288 | orderDb.setMenuId(creation.getMenuId()); |
| 289 | orderDb.setTotalNum(creation.getTotalNum()); | 289 | orderDb.setTotalNum(creation.getTotalNum()); |
| 290 | if (creation.getShouldCreatePayPrice()) { | 290 | if (creation.getShouldCreatePayPrice()) { | ... | ... |
| ... | @@ -12,6 +12,7 @@ import com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustome | ... | @@ -12,6 +12,7 @@ import com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustome |
| 12 | import com.infoloop.tianting.clientcustomerorderservice.BatchUpdateClientCustomerOrderDetailsRpcRequest; | 12 | import com.infoloop.tianting.clientcustomerorderservice.BatchUpdateClientCustomerOrderDetailsRpcRequest; |
| 13 | import com.infoloop.tianting.clientcustomerorderservice.CreateClientCustomerOrderDetailRpcRequest; | 13 | import com.infoloop.tianting.clientcustomerorderservice.CreateClientCustomerOrderDetailRpcRequest; |
| 14 | import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDetailsByOrderIdsRpcRequest; | 14 | import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDetailsByOrderIdsRpcRequest; |
| 15 | +import com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum; | ||
| 15 | import com.infoloop.tianting.clientcustomerorderservice.ServeStatusEnum; | 16 | import com.infoloop.tianting.clientcustomerorderservice.ServeStatusEnum; |
| 16 | import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderDetailRpcRequest; | 17 | import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderDetailRpcRequest; |
| 17 | import com.tianting.infoloop.mapper.OrderDbMapper; | 18 | import com.tianting.infoloop.mapper.OrderDbMapper; |
| ... | @@ -39,6 +40,7 @@ import org.springframework.stereotype.Service; | ... | @@ -39,6 +40,7 @@ import org.springframework.stereotype.Service; |
| 39 | public class OrderDetailDbServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetailDb> | 40 | public class OrderDetailDbServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetailDb> |
| 40 | implements OrderDetailDbService { | 41 | implements OrderDetailDbService { |
| 41 | private final OrderDetailMapper orderDetailMapper; | 42 | private final OrderDetailMapper orderDetailMapper; |
| 43 | + private final OrderDbMapper orderDbMapper; | ||
| 42 | 44 | ||
| 43 | @Override | 45 | @Override |
| 44 | public OrderDetailDb createOrderDetailDb( | 46 | public OrderDetailDb createOrderDetailDb( |
| ... | @@ -247,7 +249,38 @@ public class OrderDetailDbServiceImpl extends ServiceImpl<OrderDetailMapper, Ord | ... | @@ -247,7 +249,38 @@ public class OrderDetailDbServiceImpl extends ServiceImpl<OrderDetailMapper, Ord |
| 247 | } | 249 | } |
| 248 | return orderDetailDb; | 250 | return orderDetailDb; |
| 249 | }).collect(Collectors.toList()); | 251 | }).collect(Collectors.toList()); |
| 250 | - return SpringUtil.getBean(OrderDetailDbServiceImpl.class).updateBatchById(list); | 252 | + final var res = SpringUtil.getBean(OrderDetailDbServiceImpl.class).updateBatchById(list); |
| 253 | + // 如果一个订单中所有的orderDetail都是已出餐状态,那么该订单的状态需要修改为已完成。 | ||
| 254 | + final var orderDetailIds = list.stream() | ||
| 255 | + .map(OrderDetailDb::getId) | ||
| 256 | + .distinct() | ||
| 257 | + .collect(Collectors.toList()); | ||
| 258 | + QueryWrapper<OrderDetailDb> wrapper = new QueryWrapper<>(); | ||
| 259 | + wrapper.eq("isDeleted", false); | ||
| 260 | + wrapper.in("id", orderDetailIds); | ||
| 261 | + final var orderDetails = orderDetailMapper.selectList(wrapper); | ||
| 262 | + final var orderIds = orderDetails.stream() | ||
| 263 | + .map(OrderDetailDb::getOrderId) | ||
| 264 | + .distinct() | ||
| 265 | + .collect(Collectors.toList()); | ||
| 266 | + | ||
| 267 | + for (Integer orderId: orderIds) { | ||
| 268 | + final var curOrderDetailStatus = orderDetails.stream() | ||
| 269 | + .filter(d -> d.getOrderId().equals(orderId)) | ||
| 270 | + .map(OrderDetailDb::getServeStatus) | ||
| 271 | + .distinct() | ||
| 272 | + .collect(Collectors.toList()); | ||
| 273 | + final var serveNotStartStatus = curOrderDetailStatus.stream() | ||
| 274 | + .filter(s -> s.equals(ServeStatusEnum.SERVE_NOT_START_VALUE)) | ||
| 275 | + .findAny(); | ||
| 276 | + if(serveNotStartStatus.isEmpty()) { | ||
| 277 | + var orderDb = new OrderDb(); | ||
| 278 | + orderDb.setId(orderId); | ||
| 279 | + orderDb.setStatus(OrderStatusEnum.ALL_SERVED_VALUE); | ||
| 280 | + orderDbMapper.updateById(orderDb); | ||
| 281 | + } | ||
| 282 | + } | ||
| 283 | + return res; | ||
| 251 | } | 284 | } |
| 252 | 285 | ||
| 253 | public List<OrderDetailDb> getOrderDetailsByOrderIds( | 286 | public List<OrderDetailDb> getOrderDetailsByOrderIds( | ... | ... |
-
Please register or login to post a comment