Showing
5 changed files
with
77 additions
and
15 deletions
| 1 | +package com.infoloop.tianting.model.dto; | ||
| 2 | + | ||
| 3 | +import com.infoloop.tianting.clientcustomerorderservice.OrderOperationType; | ||
| 4 | +import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum; | ||
| 5 | +import com.infoloop.tianting.model.dto.MenuDbDTO.DishRuleJson; | ||
| 6 | +import com.infoloop.tianting.model.dto.MenuDbDTO.OrderRuleJson; | ||
| 7 | +import io.swagger.annotations.ApiModel; | ||
| 8 | +import java.util.List; | ||
| 9 | +import lombok.Builder; | ||
| 10 | +import lombok.Data; | ||
| 11 | +import lombok.ToString; | ||
| 12 | + | ||
| 13 | +@Data | ||
| 14 | +@ApiModel(description = "操作记录DTO") | ||
| 15 | +public class OperationDTO { | ||
| 16 | + | ||
| 17 | + @Data | ||
| 18 | + @Builder | ||
| 19 | + @ToString | ||
| 20 | + @ApiModel(description = "单个操作记录Dto") | ||
| 21 | + public static class SingleOperationDto { | ||
| 22 | + | ||
| 23 | + private Integer orderId; | ||
| 24 | + OrderOperationType type; | ||
| 25 | + private boolean shouldCreateOriginalOrderJson; | ||
| 26 | + private String originalOrderJson; | ||
| 27 | + private boolean shouldCreateAdjustOrderJson; | ||
| 28 | + private String adjustOrderJson; | ||
| 29 | + private boolean shouldCreateOriginalOrderDetailJson; | ||
| 30 | + private String originalOrderDetailJson; | ||
| 31 | + private boolean shouldCreateAdjustOrderDetailJson; | ||
| 32 | + private String adjustOrderDetailJson; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + @Data | ||
| 36 | + @Builder | ||
| 37 | + @ToString | ||
| 38 | + @ApiModel(description = "批量操作记录Dto") | ||
| 39 | + public static class BatchOperationDto { | ||
| 40 | + private List<SingleOperationDto> creations; | ||
| 41 | + private Integer enterpriseId; | ||
| 42 | + private Integer createdBy; | ||
| 43 | + private String operator; | ||
| 44 | + private OrderSourceEnum creationSource; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | +} |
| ... | @@ -576,7 +576,10 @@ public class OrderDbDTO { | ... | @@ -576,7 +576,10 @@ public class OrderDbDTO { |
| 576 | @ToString | 576 | @ToString |
| 577 | @ApiModel(description = "检查是否已预定过某一餐单") | 577 | @ApiModel(description = "检查是否已预定过某一餐单") |
| 578 | public static class getMenuOrderCountDto { | 578 | public static class getMenuOrderCountDto { |
| 579 | - private Integer customerId; | 579 | + @Builder.Default |
| 580 | + private String openId = ""; | ||
| 581 | + @Builder.Default | ||
| 582 | + private Integer customerId = 0; | ||
| 580 | private Integer menuId; | 583 | private Integer menuId; |
| 581 | private LocalDateTime mealTime; | 584 | private LocalDateTime mealTime; |
| 582 | } | 585 | } | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -102,7 +102,8 @@ public class OrderServiceImpl implements OrderService { | ... | @@ -102,7 +102,8 @@ public class OrderServiceImpl implements OrderService { |
| 102 | createOrderDto.setCustomerId(operatorCreateOrderDto.getCustomerId()); | 102 | createOrderDto.setCustomerId(operatorCreateOrderDto.getCustomerId()); |
| 103 | createOrderDto.setStallId(operatorCreateOrderDto.getStallId()); | 103 | createOrderDto.setStallId(operatorCreateOrderDto.getStallId()); |
| 104 | createOrderDto.setMenuId(operatorCreateOrderDto.getMenuId()); | 104 | createOrderDto.setMenuId(operatorCreateOrderDto.getMenuId()); |
| 105 | - createOrderDto.setMealTime(operatorCreateOrderDto.getMealTime()); | 105 | + final var mealTime = operatorCreateOrderDto.getMealTime().toLocalDate().atStartOfDay(); |
| 106 | + createOrderDto.setMealTime(mealTime); | ||
| 106 | createOrderDto.setRemark(operatorCreateOrderDto.getRemark()); | 107 | createOrderDto.setRemark(operatorCreateOrderDto.getRemark()); |
| 107 | createOrderDto.setCreatedBy(operatorLoginInfo.getId()); | 108 | createOrderDto.setCreatedBy(operatorLoginInfo.getId()); |
| 108 | createOrderDto.setClientId(operator.getClientId()); | 109 | createOrderDto.setClientId(operator.getClientId()); |
| ... | @@ -251,8 +252,10 @@ public class OrderServiceImpl implements OrderService { | ... | @@ -251,8 +252,10 @@ public class OrderServiceImpl implements OrderService { |
| 251 | .mealTimeEnd(mealTimeEnd) | 252 | .mealTimeEnd(mealTimeEnd) |
| 252 | .shouldFilterMenuId(true) | 253 | .shouldFilterMenuId(true) |
| 253 | .menuId(checkIfOrdered.getMenuId()) | 254 | .menuId(checkIfOrdered.getMenuId()) |
| 254 | - .shouldFilterCustomerIds(true) | 255 | + .shouldFilterCustomerIds(checkIfOrdered.getCustomerId().equals(0)? false: true) |
| 255 | .customerIds(List.of(checkIfOrdered.getCustomerId())) | 256 | .customerIds(List.of(checkIfOrdered.getCustomerId())) |
| 257 | + .shouldFilterOpenId(checkIfOrdered.getOpenId().isEmpty()? false: true) | ||
| 258 | + .openId(checkIfOrdered.getOpenId()) | ||
| 256 | .build(); | 259 | .build(); |
| 257 | final var orderList = orderServiceRpcClient.getOrdersByCondition(queryOrderDto); | 260 | final var orderList = orderServiceRpcClient.getOrdersByCondition(queryOrderDto); |
| 258 | return orderList.size(); | 261 | return orderList.size(); | ... | ... |
| 1 | package com.infoloop.tianting.service.impl; | 1 | package com.infoloop.tianting.service.impl; |
| 2 | 2 | ||
| 3 | import com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum; | 3 | import com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum; |
| 4 | +import com.infoloop.tianting.clientcustomerorderservice.ServeStatusEnum; | ||
| 4 | import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderDetailRpcResponse; | 5 | import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderDetailRpcResponse; |
| 5 | import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse; | 6 | import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse; |
| 7 | +import com.infoloop.tianting.clientinventoryservice.SingleClientRpcResponse; | ||
| 6 | import com.infoloop.tianting.context.LoginContextHolder; | 8 | import com.infoloop.tianting.context.LoginContextHolder; |
| 7 | import com.infoloop.tianting.enums.SettlementDimensionEnum; | 9 | import com.infoloop.tianting.enums.SettlementDimensionEnum; |
| 8 | import com.infoloop.tianting.exception.ClientEndExceptions.BusinessException; | 10 | import com.infoloop.tianting.exception.ClientEndExceptions.BusinessException; |
| ... | @@ -70,8 +72,8 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -70,8 +72,8 @@ public class SettlementServiceImpl implements SettlementService { |
| 70 | 72 | ||
| 71 | public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) { | 73 | public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) { |
| 72 | 74 | ||
| 73 | - final var startDate = settlementRequest.getTimeStart().toLocalDate().atStartOfDay(); | 75 | + final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay(); |
| 74 | - final var endDate = settlementRequest.getTimeEnd().toLocalDate().plusDays(1).atStartOfDay(); | 76 | + final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay(); |
| 75 | final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); | 77 | final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); |
| 76 | final int enterpriseId = LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId(); | 78 | final int enterpriseId = LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId(); |
| 77 | final var queryOrderDto = QueryOrderByConditionDto.builder() | 79 | final var queryOrderDto = QueryOrderByConditionDto.builder() |
| ... | @@ -90,6 +92,7 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -90,6 +92,7 @@ public class SettlementServiceImpl implements SettlementService { |
| 90 | .collect(Collectors.toList()); | 92 | .collect(Collectors.toList()); |
| 91 | final var orderDetailList = orderServiceRpcClient.getOrderDetailsByOrderIds(orderIds); | 93 | final var orderDetailList = orderServiceRpcClient.getOrderDetailsByOrderIds(orderIds); |
| 92 | List<Integer> skuIds = orderDetailList.stream() | 94 | List<Integer> skuIds = orderDetailList.stream() |
| 95 | + .filter(d -> !d.getServeStatus().equals(ServeStatusEnum.SERVE_REJECT)) | ||
| 93 | .map(SingleClientCustomerOrderDetailRpcResponse::getSkuId) | 96 | .map(SingleClientCustomerOrderDetailRpcResponse::getSkuId) |
| 94 | .distinct() | 97 | .distinct() |
| 95 | .collect(Collectors.toList()); | 98 | .collect(Collectors.toList()); |
| ... | @@ -153,7 +156,7 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -153,7 +156,7 @@ public class SettlementServiceImpl implements SettlementService { |
| 153 | 156 | ||
| 154 | //找出当天所有已点的菜品明细 | 157 | //找出当天所有已点的菜品明细 |
| 155 | final var curOrderDetails = orderDetailList.stream() | 158 | final var curOrderDetails = orderDetailList.stream() |
| 156 | - .filter(d -> curOrderIds.contains(d.getOrderId())) | 159 | + .filter(d -> curOrderIds.contains(d.getOrderId()) && !d.getServeStatus().equals(ServeStatusEnum.SERVE_REJECT)) |
| 157 | .collect(Collectors.toList()); | 160 | .collect(Collectors.toList()); |
| 158 | 161 | ||
| 159 | for (SingleMenuDetailRpcResponse m: curMenuDetails) { | 162 | for (SingleMenuDetailRpcResponse m: curMenuDetails) { |
| ... | @@ -198,14 +201,20 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -198,14 +201,20 @@ public class SettlementServiceImpl implements SettlementService { |
| 198 | 201 | ||
| 199 | } | 202 | } |
| 200 | } | 203 | } |
| 201 | - final var client = inventoryServiceRpcClient.getClientById(enterpriseId, | 204 | +// final var client = inventoryServiceRpcClient.getClientById(enterpriseId, |
| 202 | - settlementRequest.getClientId()).getClient(); | 205 | +// settlementRequest.getClientId()).getClient(); |
| 206 | + final var stalls = inventoryServiceRpcClient.getStallsByIds(operatorLoginInfo.getEnterpriseId(), settlementRequest.getStallIds()).getClientsList(); | ||
| 207 | + final var stallNames = stalls.stream() | ||
| 208 | + .filter(s -> settlementRequest.getStallIds().contains(s.getId())) | ||
| 209 | + .map(SingleClientRpcResponse::getName).collect(Collectors.toList()); | ||
| 210 | + String joinedString = String.join(" ", stallNames); | ||
| 203 | final var settlementDataDto = SettlementDataDto.builder() | 211 | final var settlementDataDto = SettlementDataDto.builder() |
| 204 | .classifyOrders(classifyOrders) | 212 | .classifyOrders(classifyOrders) |
| 205 | - .client(client.getName()) | 213 | + .client(joinedString) |
| 206 | - .startTime(DateUtil.formatDate(settlementRequest.getTimeStart(), DateUtil.YYYY_MM_DD)) | 214 | + .startTime(DateUtil.formatDate(settlementRequest.getTimeStart().plusHours(8), DateUtil.YYYY_MM_DD)) |
| 207 | - .endTime(DateUtil.formatDate(settlementRequest.getTimeEnd(), DateUtil.YYYY_MM_DD)) | 215 | + .endTime(DateUtil.formatDate(settlementRequest.getTimeEnd().plusHours(8), DateUtil.YYYY_MM_DD)) |
| 208 | .build(); | 216 | .build(); |
| 217 | + | ||
| 209 | try { | 218 | try { |
| 210 | final var bytes = writeToExcelBySku(settlementDataDto); | 219 | final var bytes = writeToExcelBySku(settlementDataDto); |
| 211 | return bytes; | 220 | return bytes; |
| ... | @@ -319,8 +328,8 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -319,8 +328,8 @@ public class SettlementServiceImpl implements SettlementService { |
| 319 | 328 | ||
| 320 | public ByteArrayOutputStream generateOrderSettlementExcelByMeal(SettlementRequestDto settlementRequest) { | 329 | public ByteArrayOutputStream generateOrderSettlementExcelByMeal(SettlementRequestDto settlementRequest) { |
| 321 | 330 | ||
| 322 | - final var startDate = settlementRequest.getTimeStart().toLocalDate().atStartOfDay(); | 331 | + final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay(); |
| 323 | - final var endDate = settlementRequest.getTimeEnd().toLocalDate().plusDays(1).atStartOfDay(); | 332 | + final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay(); |
| 324 | final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); | 333 | final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); |
| 325 | final var queryOrderDto = QueryOrderByConditionDto.builder() | 334 | final var queryOrderDto = QueryOrderByConditionDto.builder() |
| 326 | .enterpriseId(LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId()) | 335 | .enterpriseId(LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId()) |
| ... | @@ -424,8 +433,8 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -424,8 +433,8 @@ public class SettlementServiceImpl implements SettlementService { |
| 424 | final var settlementDataByMealDto = SettlementDataByMealDto.builder() | 433 | final var settlementDataByMealDto = SettlementDataByMealDto.builder() |
| 425 | .classifyOrders(classifyOrders) | 434 | .classifyOrders(classifyOrders) |
| 426 | .client(client.getName()) | 435 | .client(client.getName()) |
| 427 | - .startTime(settlementRequest.getTimeStart()) | 436 | + .startTime(settlementRequest.getTimeStart().plusHours(8)) |
| 428 | - .endTime(settlementRequest.getTimeEnd()) | 437 | + .endTime(settlementRequest.getTimeEnd().plusHours(8)) |
| 429 | .build(); | 438 | .build(); |
| 430 | try { | 439 | try { |
| 431 | final var bytes = writeToExcelByMeal(settlementDataByMealDto); | 440 | final var bytes = writeToExcelByMeal(settlementDataByMealDto); | ... | ... |
-
Please register or login to post a comment