feat(order): 添加订单用餐时间查询功能
- 在OrderDbDTO中新增mealTime字段用于存储用餐时间- 在OrderServiceRpcClient中引入日期处理工具类 - 实现根据用餐时间范围过滤订单的查询逻辑 -优化代码格式并保持方法参数对齐
Showing
2 changed files
with
26 additions
and
19 deletions
| ... | @@ -71,6 +71,7 @@ public class OrderDbDTO { | ... | @@ -71,6 +71,7 @@ public class OrderDbDTO { |
| 71 | private OrderStatusEnum status; | 71 | private OrderStatusEnum status; |
| 72 | private String keyword; | 72 | private String keyword; |
| 73 | private List<Integer> stallIds; | 73 | private List<Integer> stallIds; |
| 74 | + private String mealTime; | ||
| 74 | } | 75 | } |
| 75 | 76 | ||
| 76 | @Data | 77 | @Data | ... | ... |
| 1 | package com.infoloop.tianting.service.client; | 1 | package com.infoloop.tianting.service.client; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.date.DateTime; | ||
| 3 | import com.infoloop.tianting.SingleResponse; | 4 | import com.infoloop.tianting.SingleResponse; |
| 4 | import com.infoloop.tianting.SingleSkuResponse; | 5 | import com.infoloop.tianting.SingleSkuResponse; |
| 5 | import com.infoloop.tianting.SingleSpecialResponse; | 6 | import com.infoloop.tianting.SingleSpecialResponse; |
| ... | @@ -494,24 +495,29 @@ public class OrderServiceRpcClient { | ... | @@ -494,24 +495,29 @@ public class OrderServiceRpcClient { |
| 494 | .setStatus(queryOrderDto.getStatus()) | 495 | .setStatus(queryOrderDto.getStatus()) |
| 495 | .setEnterpriseId(queryOrderDto.getEnterpriseId()) | 496 | .setEnterpriseId(queryOrderDto.getEnterpriseId()) |
| 496 | .setShouldFilterClientIds(true).addClientIds(queryOrderDto.getClientId()) | 497 | .setShouldFilterClientIds(true).addClientIds(queryOrderDto.getClientId()) |
| 497 | - .setShouldFilterStallIds(true).addAllStallIds(queryOrderDto.getStallIds()) | 498 | + .setShouldFilterStallIds(true).addAllStallIds(queryOrderDto.getStallIds()); |
| 498 | - .build(); | 499 | + if (StringUtils.isNotEmpty(queryOrderDto.getMealTime())) { |
| 499 | - return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request); | 500 | + DateTime date = cn.hutool.core.date.DateUtil.parse(queryOrderDto.getMealTime()); |
| 501 | + long startOfDay = cn.hutool.core.date.DateUtil.beginOfDay(date).getTime(); | ||
| 502 | + long endOfDay = cn.hutool.core.date.DateUtil.endOfDay(date).getTime(); | ||
| 503 | + request.setShouldFilterMealTimeStart(true).setMealTimeStart(startOfDay).setShouldFilterMealTimeEnd(true).setMealTimeEnd(endOfDay); | ||
| 504 | + } | ||
| 505 | + return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request.build()); | ||
| 500 | } | 506 | } |
| 501 | 507 | ||
| 502 | public QueryClientCustomerOrdersByPaginationRpcResponse queryRefundClientCustomerOrdersByPagination( | 508 | public QueryClientCustomerOrdersByPaginationRpcResponse queryRefundClientCustomerOrdersByPagination( |
| 503 | - QueryRefundOrderByPaginationDto queryOrderDto) { | 509 | + QueryRefundOrderByPaginationDto queryOrderDto) { |
| 504 | final var request = QueryClientCustomerOrdersByPaginationRpcRequest.newBuilder() | 510 | final var request = QueryClientCustomerOrdersByPaginationRpcRequest.newBuilder() |
| 505 | - .setKeyword(queryOrderDto.getKeyword() == null ? "" : queryOrderDto.getKeyword()) | 511 | + .setKeyword(queryOrderDto.getKeyword() == null ? "" : queryOrderDto.getKeyword()) |
| 506 | - .setPageNo(queryOrderDto.getPn()) | 512 | + .setPageNo(queryOrderDto.getPn()) |
| 507 | - .setPageSize(queryOrderDto.getPz()) | 513 | + .setPageSize(queryOrderDto.getPz()) |
| 508 | - .setShouldFilterStatus(false) | 514 | + .setShouldFilterStatus(false) |
| 509 | - .setShouldFilterPayStatus(true) | 515 | + .setShouldFilterPayStatus(true) |
| 510 | - .setPayStatus(PayStatusEnum.REFUND) | 516 | + .setPayStatus(PayStatusEnum.REFUND) |
| 511 | - .setEnterpriseId(queryOrderDto.getEnterpriseId()) | 517 | + .setEnterpriseId(queryOrderDto.getEnterpriseId()) |
| 512 | - .setClientId(queryOrderDto.getClientId()) | 518 | + .setClientId(queryOrderDto.getClientId()) |
| 513 | - .addAllStallIds(queryOrderDto.getStallIds()) | 519 | + .addAllStallIds(queryOrderDto.getStallIds()) |
| 514 | - .build(); | 520 | + .build(); |
| 515 | return orderServiceRpcBlockingStub.queryClientCustomerOrdersByPagination(request); | 521 | return orderServiceRpcBlockingStub.queryClientCustomerOrdersByPagination(request); |
| 516 | } | 522 | } |
| 517 | 523 | ||
| ... | @@ -646,11 +652,11 @@ public class OrderServiceRpcClient { | ... | @@ -646,11 +652,11 @@ public class OrderServiceRpcClient { |
| 646 | } | 652 | } |
| 647 | } | 653 | } |
| 648 | final var orderResponse = orderServiceRpcBlockingStub.createClientCustomerOrder(CreateClientCustomerOrderRpcRequest.newBuilder() | 654 | final var orderResponse = orderServiceRpcBlockingStub.createClientCustomerOrder(CreateClientCustomerOrderRpcRequest.newBuilder() |
| 649 | - .setCreation(creation) | 655 | + .setCreation(creation) |
| 650 | - .setCreationSource(OrderSourceEnum.forNumber(createOrderDto.getCreationSource())) | 656 | + .setCreationSource(OrderSourceEnum.forNumber(createOrderDto.getCreationSource())) |
| 651 | - .setEnterpriseId(createOrderDto.getEnterpriseId()) | 657 | + .setEnterpriseId(createOrderDto.getEnterpriseId()) |
| 652 | - .setCreatedBy(createOrderDto.getCreatedBy()) | 658 | + .setCreatedBy(createOrderDto.getCreatedBy()) |
| 653 | - .build()); | 659 | + .build()); |
| 654 | if (orderResponse.getIsCreated()) { | 660 | if (orderResponse.getIsCreated()) { |
| 655 | // 用餐时间为当天,并且非在线支付餐单,发送消息给客户端 | 661 | // 用餐时间为当天,并且非在线支付餐单,发送消息给客户端 |
| 656 | if (createOrderDto.getMealTime().toLocalDate().equals(LocalDate.now()) && menuById.getResponse().getOrderRuleJson().getModeOfPayment() != ModeOfPaymentEnum.ONLINE) { | 662 | if (createOrderDto.getMealTime().toLocalDate().equals(LocalDate.now()) && menuById.getResponse().getOrderRuleJson().getModeOfPayment() != ModeOfPaymentEnum.ONLINE) { | ... | ... |
-
Please register or login to post a comment