wangyingyang

ifx kds

No preview for this file type
......@@ -4,6 +4,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.infoloop.tianting.model.dto.ClientLabelDTO;
import com.infoloop.tianting.model.dto.ClientLabelDTO.LabelDto;
import com.infoloop.tianting.model.dto.KdsDTO;
import com.infoloop.tianting.model.dto.KdsDTO.KdsMealDetailDto;
import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderLocationDto;
import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderSkuDto;
import com.infoloop.tianting.service.KdsService;
......@@ -45,4 +46,11 @@ public class KdsController {
return kdsService.getOrderDetailByLocation(queryDto);
}
@ApiOperation(value = "kds获取餐别详情")
@PostMapping("/kds/mealDetails")
@ResponseStatus(HttpStatus.OK)
public List<KdsMealDetailDto> getMealDetail() {
return kdsService.getMealDetail();
}
}
......
......@@ -29,6 +29,7 @@ public class KdsDTO {
private String remark;
private CustomerNotice customerNotice;
private String adjustSkuRemark;
private String mealTime;
}
@Data
......@@ -51,6 +52,7 @@ public class KdsDTO {
@ApiModel(description = "KdsOrderSkuDto")
public static class KdsOrderSkuDto {
private String showName;
private String skuCode;
private Integer totalCount;
private List<KdsOrderSkuDetailDto> orderList;
}
......@@ -66,6 +68,7 @@ public class KdsDTO {
private String tableCode;
private Integer totalCount;
private String remark;
private String mealTime;
private CustomerNotice customerNotice;
private List<KdsOrderLocationDetailDto> orderDetailList;
}
......@@ -77,7 +80,7 @@ public class KdsDTO {
@ApiModel(description = "KdsOrderSkuDto")
public static class KdsOrderSkuQueryDto {
private ServeStatusEnum serveStatus;
private Integer categoryId;
private Integer mealId;
}
@Data
......@@ -87,6 +90,17 @@ public class KdsDTO {
@ApiModel(description = "KdsOrderLocationQueryDto")
public static class KdsOrderLocationQueryDto {
private OrderStatusEnum orderStatus;
private Integer categoryId;
private Integer mealId;
}
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "KdsMealDetailDto")
public static class KdsMealDetailDto {
private Integer mealId;
private String mealName;
private Integer totalCount;
}
}
......
......@@ -562,9 +562,7 @@ public class OrderDbDTO {
@ToString
@ApiModel(description = "批量修改菜品细节信息")
public static class OrderDetailBatchUpdateDto {
private Integer updatedBy;
private OrderSourceEnum updatedSource;
private Integer enterpriseId;
private List<OrderDetailUpdateDto> details;
}
......
package com.infoloop.tianting.service;
import com.infoloop.tianting.model.dto.KdsDTO.KdsMealDetailDto;
import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderLocationDto;
import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderLocationQueryDto;
import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderSkuDto;
......@@ -11,4 +12,6 @@ public interface KdsService {
List<KdsOrderSkuDto> getOrderDetailBySku(KdsOrderSkuQueryDto queryDto);
List<KdsOrderLocationDto> getOrderDetailByLocation(KdsOrderLocationQueryDto queryDto);
List<KdsMealDetailDto> getMealDetail();
}
......
......@@ -28,6 +28,7 @@ import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrde
import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderRpcResponse;
import com.infoloop.tianting.context.LoginContextHolder;
import com.infoloop.tianting.enums.OrderTypeEnum;
import com.infoloop.tianting.model.common.PageResult;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDetailDto;
......@@ -39,6 +40,7 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByPaginationDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto;
import io.swagger.models.auth.In;
import java.time.LocalDate;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
......@@ -120,6 +122,7 @@ public class OrderServiceRpcClient {
public BatchUpdateClientCustomerOrderDetailsRpcResponse batchUpdateClientCustomerOrderDetails(
OrderDetailBatchUpdateDto orderDetailBatchUpdateDto) {
final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
final var modifications = orderDetailBatchUpdateDto.getDetails().stream().map( d-> {
MealDetail mealDetail = MealDetail.newBuilder().build();;
Integer menuDetailId = 0;
......@@ -130,7 +133,7 @@ public class OrderServiceRpcClient {
if (d.getShouldUpdateMenuDetailId()) {
menuDetailId = d.getMenuDetailId();
final var menuDetail = menuServiceRpcClient.getMenuDetailById(
orderDetailBatchUpdateDto.getEnterpriseId(), menuDetailId).getResponse();
operatorLoginInfo.getEnterpriseId(), menuDetailId).getResponse();
mealId = menuDetail.getMealId();
categoryId = menuDetail.getCategoryId();
skuId = menuDetail.getSkuId();
......@@ -192,8 +195,8 @@ public class OrderServiceRpcClient {
}
).collect(Collectors.toList());
final var request = BatchUpdateClientCustomerOrderDetailsRpcRequest.newBuilder()
.setEnterpriseId(orderDetailBatchUpdateDto.getEnterpriseId())
.setUpdatedBy(orderDetailBatchUpdateDto.getUpdatedBy())
.setEnterpriseId(operatorLoginInfo.getEnterpriseId())
.setUpdatedBy(operatorLoginInfo.getId())
.setUpdateSourceValue(orderDetailBatchUpdateDto.getUpdatedSource().getNumber())
.addAllModifications(modifications)
.build();
......@@ -258,7 +261,7 @@ public class OrderServiceRpcClient {
.setMealDetailJson(mealDetail)
// .setAdjustSkuRemark(orderDetailDto.getAdjustSkuRemark())
.setServeStatus(ServeStatusEnum.SERVE_NOT_START)
.setShouldCreateAdjustSkuRemark(true)
// .setShouldCreateAdjustSkuRemark(true)
.setShouldCreatePrice(true)
.setShouldCreateMealDetailJson(true)
.setSkuId(orderDetailDto.getSkuId())
......@@ -270,10 +273,19 @@ public class OrderServiceRpcClient {
.addAllDoctors(createOrderDto.getCustomerNoticeJson().getDoctors())
.build();
//判断用餐时间是否是当天
final var mealDate = createOrderDto.getMealTime().toLocalDate();
final var todayDate = LocalDate.now();
OrderStatusEnum orderStatus = OrderStatusEnum.TO_PREPARE;
if (mealDate.equals(todayDate)) {
orderStatus = OrderStatusEnum.PREPARING;
}
final var creation = ClientCustomerOrderCreation.newBuilder()
.setShouldCreateCustomerId(createOrderDto.getShouldCreateCustomerId())
.setCustomerId(createOrderDto.getCustomerId())
.setStallId(createOrderDto.getStallId())
.setStatus(orderStatus)
.setAddress(createOrderDto.getAddress())
.setClientId(createOrderDto.getClientId())
.setShouldCreateOpenId(createOrderDto.getShouldCreateOpenId())
......