wangyingyang

update

Showing 33 changed files with 882 additions and 47 deletions
No preview for this file type
No preview for this file type
No preview for this file type
......@@ -3,11 +3,14 @@ package com.infoloop.tianting.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto;
import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto;
import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDto;
import com.infoloop.tianting.service.InventoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -15,6 +18,8 @@ import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
......@@ -44,4 +49,11 @@ public class InventoryController {
return inventoryService.getStallsByClientId(enterpriseId, clientId);
}
@ApiOperation(value = "获取桌号")
@PostMapping("/tableCodes")
@ResponseStatus(HttpStatus.OK)
public List<ClientTableCodeDto> getTableCodes(@Valid @RequestBody
TableCodeQueryConditionDto tableCodeQueryConditionDto) {
return inventoryService.queryClientTableCodesByCondition(tableCodeQueryConditionDto);
}
}
......
......@@ -7,11 +7,14 @@ import com.infoloop.tianting.model.dto.ClientLabelDTO.BatchCreateCustomerLabelRe
import com.infoloop.tianting.model.dto.ClientLabelDTO.BatchDeleteCustomerLabelRefRequestDto;
import com.infoloop.tianting.model.dto.ClientLabelDTO.BatchDeleteCustomerLabelRefResponseDto;
import com.infoloop.tianting.model.dto.ClientLabelDTO.CustomerLabelRefDetailDto;
import com.infoloop.tianting.model.dto.ClientLabelDTO.HisAllergy;
import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto;
import com.infoloop.tianting.model.dto.ClientLabelDTO.LabelDto;
import com.infoloop.tianting.model.dto.MealDbDTO;
import com.infoloop.tianting.model.dto.MealDbDTO.MealDto;
import com.infoloop.tianting.service.ClientCustomerService;
import com.infoloop.tianting.service.DeliveryRuleService;
import com.infoloop.tianting.service.MeiZhongYiHeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
......@@ -37,6 +40,7 @@ import org.springframework.web.bind.annotation.RestController;
public class LabelController {
private final DeliveryRuleService deliveryRuleService;
private final ClientCustomerService clientCustomerService;
private final MeiZhongYiHeService meiZhongYiHeService;
@ApiOperation(value = "按类型获取标签")
@PostMapping("/labels")
......@@ -69,4 +73,18 @@ public class LabelController {
@Valid@RequestBody ClientLabelDTO.BatchDeleteCustomerLabelRefRequestDto request) {
return clientCustomerService.deleteClientCustomerLabelRefsByIds(request);
}
@ApiOperation(value = "根据hisCustomerId查询用户绑定过敏源标签")
@DeleteMapping("/allergy/hisCustomer/{hisCustomerId}")
@ResponseStatus(HttpStatus.OK)
public List<HisAllergy> getHisCustomerAllergiesByCustomerId(@PathVariable String hisCustomerId) {
return meiZhongYiHeService.getHisCustomerAllergiesByCustomerId(hisCustomerId);
}
@ApiOperation(value = "根据contractNo查询His用户医嘱")
@DeleteMapping("/medicalAdvice/hisCustomer/{contractNo}")
@ResponseStatus(HttpStatus.OK)
public List<HisMedicalAdviceDto> getHisCustomerMedicalAdviceByContractNo(@PathVariable String contractNo) {
return meiZhongYiHeService.getHisCustomerMedicalAdvicesByContractNo(contractNo);
}
}
......
......@@ -13,6 +13,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseStatus;
......@@ -34,4 +36,11 @@ public class MealController {
return mealService.getMealsByIds(mealIdsDto.getEnterpriseId(), mealIdsDto.getIds());
}
@ApiOperation(value = "获取enterprise所有餐别")
@GetMapping("/enterprises/{enterpriseId}/meals")
@ResponseStatus(HttpStatus.OK)
public List<MealDto> getAllMeals(@PathVariable Integer enterpriseId) {
return mealService.getAllMeals(enterpriseId);
}
}
......
......@@ -41,6 +41,23 @@ public class MenuController {
return menuService.queryMiniProgramPublishedMenusByStallId(enterpriseId, stallId);
}
@ApiOperation(value = "根据stallIds获取所有已发布餐单")
@GetMapping("/enterprises/{enterpriseId}/stalls/{stallId}/all/menus")
@ResponseStatus(HttpStatus.OK)
public List<MenuDto> queryPublishedMenusByStallIds(
@PathVariable Integer enterpriseId, @PathVariable Integer stallId) {
return menuService.queryPublishedMenusByStallId(enterpriseId, stallId);
}
@ApiOperation(value = "根据MenuId获取餐单")
@GetMapping("/enterprises/{enterpriseId}/menus/{menuId}")
@ResponseStatus(HttpStatus.OK)
public MenuDto getMenuById(
@PathVariable Integer enterpriseId, @PathVariable Integer menuId
) {
return menuService.getMenuById(enterpriseId, menuId);
}
@ApiOperation(value = "根据MenuId获取餐单详情")
@GetMapping("/enterprises/{enterpriseId}/menusDetails/{menuId}")
@ResponseStatus(HttpStatus.OK)
......
package com.infoloop.tianting.controller;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.infoloop.tianting.model.dto.OrderDbDTO;
import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderAndDetailsDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse;
import com.infoloop.tianting.service.OrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -18,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -65,4 +70,19 @@ public class OrderController {
public CreateOrderResponse createOrder(@Valid @RequestBody CreateOrderDto createOrderDto) {
return orderService.createOrder(createOrderDto);
}
@ApiOperation(value = "修改订单")
@PatchMapping("/orders/modification")
@ResponseStatus(HttpStatus.OK)
public UpdateOrderResponse updateOrder(@Valid @RequestBody UpdateOrderDto updateOrderDto) {
return orderService.updateOrder(updateOrderDto);
}
@ApiOperation(value = "批量修改订单详情")
@PatchMapping("/order_details/modification")
@ResponseStatus(HttpStatus.OK)
public BatchUpdateOrderDetailResponse batchUpdateOrderDetails(
@Valid @RequestBody OrderDbDTO.OrderDetailBatchUpdateDto updateDto) {
return orderService.batchUpdateOrderDetails(updateDto);
}
}
......
package com.infoloop.tianting.model.dto;
import com.infoloop.rpc.meizhongyiheservice.MedicalAdviceTypeEnum;
import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
import com.infoloop.tianting.deliveryruleservice.ClientDishLabelStatusEnum;
import com.infoloop.tianting.deliveryruleservice.ClientLabelTypeEnum;
......@@ -99,4 +100,31 @@ public class ClientLabelDTO {
private boolean isDeleted;
}
@Data
@Builder
@ToString
@ApiModel(description = "HIS过敏源标签 DTO")
public static class HisAllergy {
private String allergyId;
private String allergyCode;
private String allergyDescription;
private String createdAt;
}
@Data
@Builder
@ToString
@ApiModel(description = "HIS 医嘱 DTO")
public static class HisMedicalAdviceDto {
private String medicalAdviceId;
private String medicalAdviceCode;
private String medicalAdvice;
private String connotation;
private String medicalTime;
private String effectDate;
MedicalAdviceTypeEnum medicalAdviceType;
}
}
......
......@@ -4,6 +4,7 @@ import com.infoloop.tianting.clientinventoryservice.ClientType;
import com.infoloop.tianting.clientinventoryservice.CustomerSource;
import io.swagger.annotations.ApiModel;
import io.swagger.models.auth.In;
import java.util.List;
import lombok.Builder;
import lombok.Data;
......@@ -33,4 +34,35 @@ public class InventoryDbDTO {
private boolean isDelivery;
}
@Data
@Builder
@ApiModel(description = "Table code query condition dto")
public static class TableCodeQueryConditionDto{
private Integer enterpriseId;
private Boolean shouldFilterClientIds;
private List<Integer> clientIds;
private Boolean shouldFilterStallIds;
private List<Integer> stallIds;
}
@Data
@Builder
@ApiModel(description = "Table code dto")
public static class ClientTableCodeDto {
private Integer id;
private Integer enterpriseId;
private Integer clientId;
private Integer stallId;
private String code;
private String name;
private String url;
private Integer createdBy;
private String createdAt;
private Integer creationSource;
private Integer updatedBy;
private String updatedAt;
private Integer updateSource;
private Boolean isDeleted;
}
}
......
......@@ -48,7 +48,7 @@ public class MenuDbDTO {
@Data
@Builder
@ToString
@ApiModel(description = "订单菜品详情数据")
@ApiModel(description = "餐单数据")
public static class MenuDto {
private Integer id;
......
package com.infoloop.tianting.model.dto;
import com.infoloop.tianting.clientcustomerorderservice.CloseTimeType;
import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
import com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum;
import com.infoloop.tianting.menuservice.CloseTimeTypeEnum;
import com.infoloop.tianting.model.common.PageInfo;
......@@ -65,9 +66,10 @@ public class OrderDbDTO {
}
@Data
@Builder
@ApiModel(description = "修改订单Dto")
public static class UpdateOrderDto {
private Integer id = 1;
private Integer id;
private Integer enterpriseId;
private boolean shouldUpdateStatus;
private OrderStatusEnum status;
......@@ -75,10 +77,21 @@ public class OrderDbDTO {
private String roomNo;
private boolean shouldUpdateTableCode;
private String tableCode;
private boolean shouldUpdatePickupCode;
private String pickupCode;
private Integer updatedBy;
private OrderSourceEnum updatedSource;
}
@Data
@Builder
@ApiModel(description = "修改订单响应")
public static class UpdateOrderResponse {
@ApiModelProperty(name = "isUpdated")
private Boolean isUpdated;
}
@Data
@Builder
@ToString
......@@ -421,9 +434,6 @@ public class OrderDbDTO {
@ApiModelProperty(value = "调整配料备注")
private String adjustSkuRemark;
@ApiModelProperty(value = "订单详情")
private List<OrderDetailDto> orderDetails;
}
@Data
......@@ -462,4 +472,80 @@ public class OrderDbDTO {
private String adjustSkuRemark;
}
@Data
@Builder
@ToString
@ApiModel(description = "批量修改菜品细节信息")
public static class OrderDetailBatchUpdateDto {
private Integer updatedBy;
private OrderSourceEnum updateSource;
private Integer enterpriseId;
private List<OrderDetailUpdateDto> details;
}
@Data
@Builder
@ToString
@ApiModel(description = "修改菜品细节信息")
public static class OrderDetailUpdateDto {
private Integer id;
@ApiModelProperty(value = "需要修改菜品详情 id")
private Boolean shouldUpdateMenuDetailId;
@ApiModelProperty(value = "菜品详情 id")
private Integer menuDetailId;
@ApiModelProperty(value = "需要修改菜品数量")
private Boolean shouldUpdateCount;
@ApiModelProperty(value = "菜品所点份数")
private Integer count;
@ApiModelProperty(value = "需要修改菜品所属餐别 ID")
private Boolean shouldUpdateMealId;
@ApiModelProperty(value = "菜品所属餐别 ID")
private Integer mealId;
@ApiModelProperty(value = "需要修改菜品所属分类 ID")
private Boolean shouldUpdateCategoryId;
@ApiModelProperty(value = "菜品所属品类 ID")
private Integer categoryId;
@ApiModelProperty(value = "需要修改菜品sku ID")
private Boolean shouldUpdateSkuId;
@ApiModelProperty(value = "sku id")
private Integer skuId;
@ApiModelProperty(value = "需要修改菜品展示名称")
private Boolean shouldUpdateShowName;
@ApiModelProperty(value = "菜品展示名称")
private String showName;
@ApiModelProperty(value = "需要修改菜品详情")
private Boolean shouldUpdateMealDetailJson;
@ApiModelProperty(value = "菜品详情,菜品主料、口味、能量、脂肪、蛋白质、碳水化合物、忌口、医嘱等")
private MealDetailDto mealDetailJson;
@ApiModelProperty(value = "需要修改不出餐")
private Boolean shouldUpdateNotServe;
@ApiModelProperty(value = "是否不出餐: 默认出餐=0; 不出餐=1")
private Boolean notServe;
}
@Data
@Builder
@ApiModel(description = "修改订单响应")
public static class BatchUpdateOrderDetailResponse {
@ApiModelProperty(name = "isUpdated")
private Boolean isUpdated;
}
}
......
......@@ -27,6 +27,18 @@ public class SkuDbDTO {
private String name;
}
@Data
@Builder
@ApiModel(description = "SkuDetailSingleResponseDto")
public static class SkuSpecialDetailSingleResponseDto {
private Integer id;
private String code;
private String name;
}
@Data
@Builder
......@@ -43,14 +55,14 @@ public class SkuDbDTO {
private String imageUrl; // 图片
private String alias;
private String basicMaterials; // 主料
private Integer fat;
private String fat;
private Integer protein;
private Integer carbohydrate;
private Integer energy;
List<SkuDetailSingleResponseDto> allergyList; // 过敏源
private String carbohydrate;
private String energy;
List<SkuSpecialDetailSingleResponseDto> allergyList; // 过敏源
List<SkuDetailSingleResponseDto> tasteList; // 口味
List<SkuDetailSingleResponseDto> efficacyList; // 功效
List<SkuDetailSingleResponseDto> doctorList; // 医嘱
List<SkuSpecialDetailSingleResponseDto> doctorList; // 医嘱
List<SkuDetailSingleResponseDto> avoidList; // 忌口
List<SkuDetailSingleResponseDto> skuList; // 配料
}
......
package com.infoloop.tianting.service;
import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByConditionRpcResponse;
import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto;
import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto;
import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
import java.util.List;
public interface InventoryService {
......@@ -9,4 +12,7 @@ public interface InventoryService {
List<ClientDto> getStallsByClientId(Integer enterpriseId, Integer clientId);
List<ClientTableCodeDto> queryClientTableCodesByCondition(
TableCodeQueryConditionDto tableCodeQueryConditionDto);
}
......
......@@ -7,4 +7,5 @@ public interface MealService {
List<MealDto> getMealsByIds(Integer enterpriseId, List<Integer> ids);
List<MealDto> getAllMeals(Integer enterpriseId);
}
......
package com.infoloop.tianting.service;
import com.infoloop.tianting.model.dto.ClientLabelDTO.HisAllergy;
import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto;
import java.util.List;
public interface MeiZhongYiHeService {
List<HisAllergy> getHisCustomerAllergiesByCustomerId(String hisCustomerId);
List<HisMedicalAdviceDto> getHisCustomerMedicalAdvicesByContractNo(String contractNo);
}
......@@ -12,6 +12,10 @@ public interface MenuService {
List<MenuDto> queryMiniProgramPublishedMenusByStallId(Integer enterpriseId, Integer stallId);
List<MenuDto> queryPublishedMenusByStallId(Integer enterpriseId, Integer stallId);
MenuDto getMenuById(Integer enterpriseId, Integer id);
List<MenuDetailDto> queryMenuDetailsByMenuId(Integer enterpriseId, Integer menuId);
List<MenuRefDto> getClientCustomerMenuRefsByCustomerId(Integer enterpriseId, Integer customerId);
......
package com.infoloop.tianting.service;
import com.infoloop.tianting.model.common.PageResult;
import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderAndDetailsDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailBatchUpdateDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto;
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 com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse;
import java.util.List;
public interface OrderService {
......@@ -16,4 +20,6 @@ public interface OrderService {
PageResult<OrderDto> getOrdersByPagination(QueryOrderByPaginationDto queryOrderDto);
List<OrderDetailDto> getOrderDetailsByOrderId(Integer orderId);
CreateOrderResponse createOrder(CreateOrderDto createOrderDto);
UpdateOrderResponse updateOrder(UpdateOrderDto updateOrderDto);
BatchUpdateOrderDetailResponse batchUpdateOrderDetails(OrderDetailBatchUpdateDto batchUpdateDto);
}
......
......@@ -4,7 +4,10 @@ import com.infoloop.tianting.clientinventoryservice.GetClientByIdRpcRequest;
import com.infoloop.tianting.clientinventoryservice.GetClientByIdRpcResponse;
import com.infoloop.tianting.clientinventoryservice.GetStallsByClientIdRpcRequest;
import com.infoloop.tianting.clientinventoryservice.GetStallsByClientIdRpcResponse;
import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByConditionRpcRequest;
import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByConditionRpcResponse;
import com.infoloop.tianting.clientinventoryservice.TiantingClientInventoryServiceRpcGrpc;
import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -34,5 +37,18 @@ public class InventoryServiceRpcClient {
return inventoryServiceRpcBlockingStub.getStallsByClientId(request);
}
public QueryClientTableCodesByConditionRpcResponse queryClientTableCodesByCondition(
TableCodeQueryConditionDto tableCodeQueryConditionDto) {
final var request = QueryClientTableCodesByConditionRpcRequest
.newBuilder()
.setEnterpriseId(tableCodeQueryConditionDto.getEnterpriseId())
.setShouldFilterClientIds(tableCodeQueryConditionDto.getShouldFilterClientIds())
.addAllClientIds(tableCodeQueryConditionDto.getClientIds())
.setShouldFilterStallIds(tableCodeQueryConditionDto.getShouldFilterStallIds())
.addAllStallIds(tableCodeQueryConditionDto.getStallIds())
.build();
return inventoryServiceRpcBlockingStub.queryClientTableCodesByCondition(request);
}
}
......
package com.infoloop.tianting.service.client;
import com.infoloop.tianting.setmealscheduleservice.GetAllMealsRpcRequest;
import com.infoloop.tianting.setmealscheduleservice.GetAllMealsRpcResponse;
import com.infoloop.tianting.setmealscheduleservice.GetMealsByIdsRpcRequest;
import com.infoloop.tianting.setmealscheduleservice.GetMealsByIdsRpcResponse;
import com.infoloop.tianting.setmealscheduleservice.SetMealScheduleServiceRpcGrpc;
......@@ -24,4 +26,14 @@ public class MealServiceRpcClient {
return setMealScheduleServiceRpcBlockingStub.getMealsByIds(request);
}
public GetAllMealsRpcResponse getAllMeals(Integer enterpriseId) {
final var request = GetAllMealsRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.setIncludeDeleted(false)
.build();
return setMealScheduleServiceRpcBlockingStub.getAllMeals(request);
}
}
......
package com.infoloop.tianting.service.client;
import com.infoloop.rpc.meizhongyiheservice.GetCustomerAllergiesByCustomerIdsRpcRequest;
import com.infoloop.rpc.meizhongyiheservice.GetCustomerAllergiesByCustomerIdsRpcResponse;
import com.infoloop.rpc.meizhongyiheservice.GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest;
import com.infoloop.rpc.meizhongyiheservice.GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse;
import com.infoloop.rpc.meizhongyiheservice.MeiZhongYiHeServiceRpcGrpc;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MeiZhongYiHeServiceClient {
private final MeiZhongYiHeServiceRpcGrpc.MeiZhongYiHeServiceRpcBlockingStub
meiZhongYiHeServiceRpcBlockingStub;
public GetCustomerAllergiesByCustomerIdsRpcResponse getHisCustomerAllergiesByCustomerId(
String hisCustomerId ) {
final var request = GetCustomerAllergiesByCustomerIdsRpcRequest.newBuilder()
.addAllCustomerIds(List.of(hisCustomerId))
.build();
return meiZhongYiHeServiceRpcBlockingStub.getCustomerAllergiesByCustomerIds(request);
}
public GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse
getHisCustomerMedicalAdvicesByContractNo (String contractNo) {
final var request = GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest.newBuilder()
.addAllHospitalRecordIds(List.of(contractNo))
.build();
return meiZhongYiHeServiceRpcBlockingStub.getCustomerMedicalAdvicesByHospitalRecordIds(request);
}
}
......@@ -5,10 +5,14 @@ import com.infoloop.tianting.menuservice.BatchCreateClientCustomerMenuRefsRpcRes
import com.infoloop.tianting.menuservice.ClientCustomerMenuRefCreation;
import com.infoloop.tianting.menuservice.GetClientCustomerMenuRefsByCustomerIdRpcRequest;
import com.infoloop.tianting.menuservice.GetClientCustomerMenuRefsByCustomerIdRpcResponse;
import com.infoloop.tianting.menuservice.GetMenuByIdRpcRequest;
import com.infoloop.tianting.menuservice.GetMenuByIdRpcResponse;
import com.infoloop.tianting.menuservice.GetMenuDetailsByMenuIdsRpcRequest;
import com.infoloop.tianting.menuservice.GetMenuDetailsByMenuIdsRpcResponse;
import com.infoloop.tianting.menuservice.GetMicroPublishedMenusByStallIdsRpcRequest;
import com.infoloop.tianting.menuservice.GetMicroPublishedMenusByStallIdsRpcResponse;
import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcRequest;
import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcResponse;
import com.infoloop.tianting.menuservice.MenuServiceRpcGrpc;
import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto;
import com.infoloop.tianting.utils.DateUtil;
......@@ -25,9 +29,8 @@ import org.springframework.stereotype.Service;
public class MenuServiceRpcClient {
private final MenuServiceRpcGrpc.MenuServiceRpcBlockingStub menuServiceRpcBlockingStub;
public GetMicroPublishedMenusByStallIdsRpcResponse queryMiniProgramPublishedMenusByStallIds(
public GetMicroPublishedMenusByStallIdsRpcResponse queryMiniProgramPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
List<Integer> stallIds;
final var request = GetMicroPublishedMenusByStallIdsRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.addAllStallIds(List.of(stallId))
......@@ -36,6 +39,24 @@ public class MenuServiceRpcClient {
return menuServiceRpcBlockingStub.getMicroPublishedMenusByStallIds(request);
}
public GetPublishedMenusByStallIdsRpcResponse queryPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
final var request = GetPublishedMenusByStallIdsRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.addAllStallIds(List.of(stallId))
.build();
return menuServiceRpcBlockingStub.getPublishedMenusByStallIds(request);
}
public GetMenuByIdRpcResponse getMenuById(Integer enterpriseId, Integer id) {
final var request = GetMenuByIdRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.setId(id)
.setIncludeDeleted(false)
.build();
return menuServiceRpcBlockingStub.getMenuById(request);
}
public GetMenuDetailsByMenuIdsRpcResponse queryMenuDetailsByMenuId(
Integer enterpriseId, Integer menuId) {
final var request = GetMenuDetailsByMenuIdsRpcRequest.newBuilder()
......
package com.infoloop.tianting.service.client;
import com.infoloop.tianting.clientcustomerorderservice.BatchUpdateClientCustomerOrderDetailsRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.BatchUpdateClientCustomerOrderDetailsRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.ClientCustomerOrderCreation;
import com.infoloop.tianting.clientcustomerorderservice.ClientCustomerOrderDetailCreation;
import com.infoloop.tianting.clientcustomerorderservice.ClientCustomerOrderDetailModification;
import com.infoloop.tianting.clientcustomerorderservice.ClientCustomerOrderModification;
import com.infoloop.tianting.clientcustomerorderservice.ClientCustomerOrderServiceRpcGrpc;
import com.infoloop.tianting.clientcustomerorderservice.CloseTimeType;
import com.infoloop.tianting.clientcustomerorderservice.CreateClientCustomerOrderRpcRequest;
......@@ -19,18 +23,24 @@ import com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrder
import com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByPaginationRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderDetailRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderRpcResponse;
import com.infoloop.tianting.enums.OrderTypeEnum;
import com.infoloop.tianting.model.common.PageResult;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailBatchUpdateDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailDto;
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.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -55,6 +65,69 @@ public class OrderServiceRpcClient {
return orderServiceRpcBlockingStub.queryClientCustomerOrdersByCondition(request).getResponsesList();
}
public UpdateClientCustomerOrderRpcResponse updateClientCustomerOrder(
UpdateOrderDto updateOrderDto) {
final var modification = ClientCustomerOrderModification.newBuilder()
.setId(updateOrderDto.getId())
.setShouldUpdateStatus(updateOrderDto.isShouldUpdateStatus())
.setStatus(updateOrderDto.getStatus())
.setShouldUpdateTableCode(updateOrderDto.isShouldUpdateTableCode())
.setTableCode(updateOrderDto.getTableCode())
.build();
final var request = UpdateClientCustomerOrderRpcRequest.newBuilder()
.setEnterpriseId(updateOrderDto.getEnterpriseId())
.setUpdatedBy(updateOrderDto.getUpdatedBy())
.setUpdateSource(updateOrderDto.getUpdatedSource())
.setModification(modification)
.build();
return orderServiceRpcBlockingStub.updateClientCustomerOrder(request);
}
public BatchUpdateClientCustomerOrderDetailsRpcResponse batchUpdateClientCustomerOrderDetails(
OrderDetailBatchUpdateDto orderDetailBatchUpdateDto) {
final var modifications = orderDetailBatchUpdateDto.getDetails().stream().map( d->
ClientCustomerOrderDetailModification.newBuilder()
.setId(d.getId())
.setShouldUpdateMenuDetailId(d.getShouldUpdateMenuDetailId())
.setMenuDetailId(d.getMenuDetailId())
.setShouldUpdateCount(d.getShouldUpdateCount())
.setCount(d.getCount())
.setShouldUpdateMealId(d.getShouldUpdateMealId())
.setMealId(d.getMealId())
.setShouldUpdateCategoryId(d.getShouldUpdateCategoryId())
.setCategoryId(d.getCategoryId())
.setShouldUpdateSkuId(d.getShouldUpdateSkuId())
.setSkuId(d.getSkuId())
.setShouldUpdateShowName(d.getShouldUpdateShowName())
.setShowName(d.getShowName())
.setShouldUpdateNotServe(d.getShouldUpdateNotServe())
.setNotServe(d.getNotServe())
.setShouldUpdateMealDetailJson(d.getShouldUpdateMealDetailJson())
.setMealDetailJson(MealDetail.newBuilder()
.setBasicMaterials(d.getMealDetailJson().getBasicMaterials())
.addAllTastes(d.getMealDetailJson().getTastes())
.addAllEfficacies(d.getMealDetailJson().getEfficacies())
.addAllDockers(d.getMealDetailJson().getDockers())
.setEnergy(d.getMealDetailJson().getEnergy())
.setFat(d.getMealDetailJson().getFat())
.setProtein(d.getMealDetailJson().getProtein())
.setCarbohydrate(d.getMealDetailJson().getCarbohydrate())
.addAllAllergies(d.getMealDetailJson().getAllergies())
.addAllAvoids(d.getMealDetailJson().getAvoids())
.addAllSkus(d.getMealDetailJson().getSkus())
.build())
.build()
).collect(Collectors.toList());
final var request = BatchUpdateClientCustomerOrderDetailsRpcRequest.newBuilder()
.setEnterpriseId(orderDetailBatchUpdateDto.getEnterpriseId())
.setUpdatedBy(orderDetailBatchUpdateDto.getUpdatedBy())
.setUpdateSourceValue(orderDetailBatchUpdateDto.getUpdateSource().getNumber())
.addAllModifications(modifications)
.build();
return orderServiceRpcBlockingStub.batchUpdateClientCustomerOrderDetails(request);
}
public QueryClientCustomerOrdersByPaginationRpcResponse queryClientCustomerOrdersByPagination(
QueryOrderByPaginationDto queryOrderDto) {
final var request = QueryClientCustomerOrdersByPaginationRpcRequest.newBuilder()
......@@ -152,6 +225,7 @@ public class OrderServiceRpcClient {
.setTableCode(createOrderDto.getTableCode())
.setShouldCreatePickupCode(createOrderDto.getCloseTimeType().equals(CloseTimeType.IMMEDIATELY))
// .setPickupCode(createOrderDto.getPickupCode())
.setShouldCreateRemark(true)
.setRemark(createOrderDto.getRemark())
.setCustomerNoticeJson(customerNotice)
.setCloseTimeType(createOrderDto.getCloseTimeType())
......
package com.infoloop.tianting.service.impl;
import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto;
import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto;
import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDetailDto;
import com.infoloop.tianting.service.InventoryService;
import com.infoloop.tianting.service.client.InventoryServiceRpcClient;
......@@ -64,4 +66,27 @@ public class InventoryServiceImpl implements InventoryService {
.isDelivery(stall.getIsDelivery())
.build()).collect(Collectors.toList());
}
@Override
public List<ClientTableCodeDto> queryClientTableCodesByCondition(
TableCodeQueryConditionDto tableCodeQueryConditionDto) {
final var response = inventoryServiceRpcClient.queryClientTableCodesByCondition(
tableCodeQueryConditionDto);
return response.getResponsesList().stream().map(tableCode ->
ClientTableCodeDto.builder()
.id(tableCode.getId())
.clientId(tableCode.getClientId())
.enterpriseId(tableCode.getEnterpriseId())
.stallId(tableCode.getStallId())
.code(tableCode.getCode())
.name(tableCode.getName())
.url(tableCode.getUrl())
.createdAt(DateUtil.formatDate(tableCode.getCreatedAt()))
.createdBy(tableCode.getCreatedBy())
.creationSource(tableCode.getCreationSource())
.updatedAt(DateUtil.formatDate(tableCode.getUpdatedAt()))
.updatedBy(tableCode.getUpdatedBy())
.updateSource(tableCode.getUpdateSource())
.build()).collect(Collectors.toList());
}
}
......
......@@ -4,6 +4,7 @@ import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpUtil;
import com.infoloop.tianting.COperatorServiceProtoRpcGrpc;
import com.infoloop.tianting.clientcustomerservice.ClientCustomerHospitalRecordHospitalStatusEnum;
import com.infoloop.tianting.clientcustomerservice.GetClientCustomerByIdRpcRequest;
import com.infoloop.tianting.clientcustomerservice.SingleClientCustomerRpcResponse;
import com.infoloop.tianting.constant.CommonConstants;
......@@ -44,10 +45,20 @@ public class LoginServiceImpl implements LoginService {
var customer = clientCustomerServiceRpcClient.getClientCustomerByHISCustomerId(
loginDto.getHisCustomerId()).getResponse();
if (customer.getId() == 0) {
// 根据hisCustomerId拿不到用户的话再去根据合同号去his查一次,即认为是月子中心客户
customer = clientCustomerServiceRpcClient.getClientCustomerByContactNo(loginDto.getHisCustomerId()).getResponse();
if (customer.getId() == 0) {
throw ClientEndExceptions.AuthenticationFailure.build(ErrorCodeEnum.UNAUTHORIZED.name());
} else {
var record = clientCustomerServiceRpcClient.getClientCustomerHospitalRecordsByCustomerId(
customer.getEnterpriseId(), customer.getId());
if (!record.hasResponse() || record.getResponse().getHospitalStatus() !=
ClientCustomerHospitalRecordHospitalStatusEnum.CURRENT) {
throw ClientEndExceptions.AuthenticationFailure.build(ErrorCodeEnum.UNAUTHORIZED.name());
}
}
} else {
}
StpUtil.login(customer.getId(), SaLoginModel.create()
.setExtra(CommonConstants.ENTERPRISE_ID, customer.getEnterpriseId())
......
......@@ -39,4 +39,25 @@ public class MealServiceImpl implements MealService {
).collect(Collectors.toList());
}
@Override
public List<MealDto> getAllMeals(Integer enterpriseId) {
final var response = mealServiceRpcClient.getAllMeals(enterpriseId);
return response.getResponsesList().stream().map(
meal -> MealDto.builder()
.id(meal.getId())
.allowCreateOrder(meal.getAllowCreateOrder())
.enterpriseId(meal.getEnterpriseId())
.name(meal.getName())
.status(meal.getStatus())
.isDeleted(meal.getIsDeleted())
.createdAt(DateUtil.formatDate(meal.getCreatedAt()))
.createdBy(meal.getCreatedBy())
.createdBy(meal.getCreationSource())
.updatedAt(DateUtil.formatDate(meal.getUpdatedAt()))
.updatedBy(meal.getUpdatedBy())
.updateSource(meal.getUpdateSource())
.build()
).collect(Collectors.toList());
}
}
......
package com.infoloop.tianting.service.impl;
import com.infoloop.tianting.model.dto.ClientLabelDTO.HisAllergy;
import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto;
import com.infoloop.tianting.service.MeiZhongYiHeService;
import com.infoloop.tianting.service.client.MeiZhongYiHeServiceClient;
import com.infoloop.tianting.utils.DateUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MeiZhongYiHeServiceImpl implements MeiZhongYiHeService {
private final MeiZhongYiHeServiceClient meiZhongYiHeServiceClient;
@Override
public List<HisAllergy> getHisCustomerAllergiesByCustomerId(String hisCustomerId) {
final var response = meiZhongYiHeServiceClient.getHisCustomerAllergiesByCustomerId(hisCustomerId);
if (response.getCustomerAllergiesCount() == 0) {
return new ArrayList<>();
}
return response.getCustomerAllergies(0).getAllergiesList().stream().map(allergy ->
HisAllergy.builder()
.allergyCode(allergy.getAllergyCode())
.allergyDescription(allergy.getAllergyDescription())
.allergyId(allergy.getAllergyId())
.createdAt(DateUtil.formatDate(allergy.getCreatedAt()))
.build()).collect(Collectors.toList());
}
@Override
public List<HisMedicalAdviceDto> getHisCustomerMedicalAdvicesByContractNo(String contractNo){
final var response = meiZhongYiHeServiceClient.getHisCustomerMedicalAdvicesByContractNo(
contractNo);
if (response.getCustomerMedicalAdvicesCount() == 0){
return new ArrayList<>();
}
return response.getCustomerMedicalAdvices(0).getMedicalAdvicesList().stream().map(
advice ->
HisMedicalAdviceDto.builder()
.connotation(advice.getConnotation())
.effectDate(DateUtil.formatDate(advice.getEffectDate()))
.medicalAdvice(advice.getMedicalAdvice())
.medicalAdviceCode(advice.getMedicalAdviceCode())
.medicalAdviceId(advice.getMedicalAdviceId())
.medicalAdviceType(advice.getMedicalAdviceType())
.medicalTime(DateUtil.formatDate(advice.getMedicalTime()))
.build()
).collect(Collectors.toList());
}
}
......@@ -28,7 +28,7 @@ public class MenuServiceImpl implements MenuService {
public List<MenuDto> queryMiniProgramPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
final var response = menuServiceRpcClient.queryMiniProgramPublishedMenusByStallIds(
final var response = menuServiceRpcClient.queryMiniProgramPublishedMenusByStallId(
enterpriseId, stallId);
return response.getResponsesList().stream().map(menu ->
MenuDto.builder()
......@@ -67,6 +67,87 @@ public class MenuServiceImpl implements MenuService {
}
@Override
public List<MenuDto> queryPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
final var response = menuServiceRpcClient.queryPublishedMenusByStallId(
enterpriseId, stallId);
return response.getResponsesList().stream().map(menu ->
MenuDto.builder()
.id(menu.getId())
.code(menu.getCode())
.enterpriseId(menu.getEnterpriseId())
.name(menu.getName())
.status(menu.getStatusValue())
.customerScope(menu.getCustomerScope())
.nutritionPromotion(menu.getNutritionPromotion())
.nutritionalStatistics(menu.getNutritionalStatistics())
.dishRuleJson(DishRuleJson.builder()
.days(menu.getDishRuleJson().getDays())
.dishType(menu.getDishRuleJson().getDishType())
.mealIds(menu.getDishRuleJson().getMealIdsList())
.build())
.orderRuleJson(OrderRuleJson.builder()
.allowMicroPlaceOrder(menu.getOrderRuleJson().getAllowMicroPlaceOrder())
.closeTimeType(menu.getOrderRuleJson().getCloseTimeType())
.dishSelectRule(menu.getOrderRuleJson().getDishSelectRule())
.earlyDays(menu.getOrderRuleJson().getEarlyDays())
.modeOfPayment(menu.getOrderRuleJson().getModeOfPayment())
.placeOrderCount(menu.getOrderRuleJson().getPlaceOrderCount())
.startTime(menu.getOrderRuleJson().getStartTime())
.endTime(menu.getOrderRuleJson().getEndTime())
.deadline(menu.getOrderRuleJson().getDeadline())
.build())
.createdBy(menu.getCreatedBy())
.creationSource(menu.getCreationSource())
.createdAt(DateUtil.formatDate(menu.getCreatedAt()))
.updatedBy(menu.getUpdatedBy())
.updateSource(menu.getUpdateSource())
.updatedAt(DateUtil.formatDate(menu.getUpdatedAt()))
.publishAt(DateUtil.formatDate(menu.getPublishAt()))
.build()).collect(Collectors.toList());
}
@Override
public MenuDto getMenuById(Integer enterpriseId, Integer id) {
final var response = menuServiceRpcClient.getMenuById(enterpriseId, id);
final var menu = response.getResponse();
return MenuDto.builder()
.id(menu.getId())
.code(menu.getCode())
.enterpriseId(menu.getEnterpriseId())
.name(menu.getName())
.status(menu.getStatusValue())
.customerScope(menu.getCustomerScope())
.nutritionPromotion(menu.getNutritionPromotion())
.nutritionalStatistics(menu.getNutritionalStatistics())
.dishRuleJson(DishRuleJson.builder()
.days(menu.getDishRuleJson().getDays())
.dishType(menu.getDishRuleJson().getDishType())
.mealIds(menu.getDishRuleJson().getMealIdsList())
.build())
.orderRuleJson(OrderRuleJson.builder()
.allowMicroPlaceOrder(menu.getOrderRuleJson().getAllowMicroPlaceOrder())
.closeTimeType(menu.getOrderRuleJson().getCloseTimeType())
.dishSelectRule(menu.getOrderRuleJson().getDishSelectRule())
.earlyDays(menu.getOrderRuleJson().getEarlyDays())
.modeOfPayment(menu.getOrderRuleJson().getModeOfPayment())
.placeOrderCount(menu.getOrderRuleJson().getPlaceOrderCount())
.startTime(menu.getOrderRuleJson().getStartTime())
.endTime(menu.getOrderRuleJson().getEndTime())
.deadline(menu.getOrderRuleJson().getDeadline())
.build())
.createdBy(menu.getCreatedBy())
.creationSource(menu.getCreationSource())
.createdAt(DateUtil.formatDate(menu.getCreatedAt()))
.updatedBy(menu.getUpdatedBy())
.updateSource(menu.getUpdateSource())
.updatedAt(DateUtil.formatDate(menu.getUpdatedAt()))
.publishAt(DateUtil.formatDate(menu.getPublishAt()))
.build();
}
@Override
public List<MenuDetailDto> queryMenuDetailsByMenuId(Integer enterpriseId, Integer menuId) {
final var response = menuServiceRpcClient.queryMenuDetailsByMenuId(enterpriseId, menuId);
return response.getResponsesList().stream().map(menuDetail ->
......
......@@ -3,16 +3,20 @@ package com.infoloop.tianting.service.impl;
import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse;
import com.infoloop.tianting.clientcustomerservice.SingleClientCustomerRpcResponse;
import com.infoloop.tianting.model.common.PageResult;
import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerNotice;
import com.infoloop.tianting.model.dto.OrderDbDTO.MealDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderAndDetailsDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailBatchUpdateDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto;
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 com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse;
import com.infoloop.tianting.service.ClientCustomerService;
import com.infoloop.tianting.service.OrderService;
import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient;
......@@ -40,6 +44,23 @@ public class OrderServiceImpl implements OrderService {
}
@Override
public UpdateOrderResponse updateOrder(UpdateOrderDto updateOrderDto) {
final var response = orderServiceRpcClient.updateClientCustomerOrder(updateOrderDto);
return UpdateOrderResponse.builder()
.isUpdated(response.getIsUpdated())
.build();
}
@Override
public BatchUpdateOrderDetailResponse batchUpdateOrderDetails(
OrderDetailBatchUpdateDto batchUpdateDto) {
final var response = orderServiceRpcClient.batchUpdateClientCustomerOrderDetails(batchUpdateDto);
return BatchUpdateOrderDetailResponse.builder()
.isUpdated(response.getIsUpdated())
.build();
}
@Override
public List<OrderDetailDto> getOrderDetailsByOrderId(Integer orderId) {
final var responseList = orderServiceRpcClient.getOrderDetailsByOrderId(orderId);
return responseList.stream().map(d ->
......
......@@ -2,6 +2,7 @@ package com.infoloop.tianting.service.impl;
import com.infoloop.tianting.model.dto.SkuDbDTO.SkuDetailSingleResponseDto;
import com.infoloop.tianting.model.dto.SkuDbDTO.SkuDto;
import com.infoloop.tianting.model.dto.SkuDbDTO.SkuSpecialDetailSingleResponseDto;
import com.infoloop.tianting.service.SkuService;
import com.infoloop.tianting.service.client.SkuServiceRpcClient;
import com.infoloop.tianting.utils.DateUtil;
......@@ -37,17 +38,18 @@ public class SkuServiceImpl implements SkuService {
.createdAt(DateUtil.formatDate(sku.getCreatedAt()))
.energy(sku.getEnergy())
.fat(sku.getFat())
.skuList(sku.getSkuListList().stream().map(subSku -> SkuDetailSingleResponseDto.builder().id(subSku.getId()).name(subSku.getName()).build()).collect(
.skuList(sku.getSkusList().stream().map(subSku -> SkuDetailSingleResponseDto.builder().id(subSku.getId()).name(subSku.getName()).build()).collect(
Collectors.toList()))
.tasteList(sku.getTasteListList().stream().map(taste -> SkuDetailSingleResponseDto.builder().id(taste.getId()).name(taste.getName()).build()).collect(
.tasteList(sku.getTastesList().stream().map(taste -> SkuDetailSingleResponseDto.builder().id(taste.getId()).name(taste.getName()).build()).collect(
Collectors.toList()))
.efficacyList(sku.getEfficacyListList().stream().map(efficacy -> SkuDetailSingleResponseDto.builder().id(efficacy.getId()).name(efficacy.getName()).build()).collect(
.efficacyList(sku.getEfficaciesList().stream().map(efficacy -> SkuDetailSingleResponseDto.builder().id(efficacy.getId()).name(efficacy.getName()).build()).collect(
Collectors.toList()))
.doctorList(sku.getDoctorListList().stream().map(doctor -> SkuDetailSingleResponseDto.builder().id(doctor.getId()).name(doctor.getName()).build()).collect(
.doctorList(sku.getDoctorsList().stream().map(doctor -> SkuSpecialDetailSingleResponseDto
.builder().id(doctor.getId()).name(doctor.getName()).build()).collect(
Collectors.toList()))
.avoidList(sku.getAvoidListList().stream().map(avoid -> SkuDetailSingleResponseDto.builder().id(avoid.getId()).name(avoid.getName()).build()).collect(
.avoidList(sku.getAvoidsList().stream().map(avoid -> SkuDetailSingleResponseDto.builder().id(avoid.getId()).name(avoid.getName()).build()).collect(
Collectors.toList()))
.allergyList(sku.getAllergyListList().stream().map(allergy -> SkuDetailSingleResponseDto.builder().id(allergy.getId()).name(allergy.getName()).build()).collect(
.allergyList(sku.getAllergiesList().stream().map(allergy -> SkuSpecialDetailSingleResponseDto.builder().id(allergy.getId()).name(allergy.getName()).build()).collect(
Collectors.toList()))
.build()
).collect(Collectors.toList());
......
......@@ -111,6 +111,7 @@ message SingleClientCustomerOrderRpcResponse {
OrderSourceEnum updateSource = 31;
bool isDeleted = 32;
bool isRead = 33;
bool isConfirm = 34;
}
message GetClientCustomerOrderByIdRpcRequest {
......@@ -202,6 +203,8 @@ message QueryClientCustomerOrdersByConditionRpcRequest {
int64 createdAtEnd = 41;
bool shouldFilterIsRead = 42;
bool isRead = 43;
bool shouldFilterIsConfirm = 44;
bool isConfirm = 45;
}
message QueryClientCustomerOrdersByConditionRpcResponse {
......@@ -325,6 +328,8 @@ message ClientCustomerOrderModification {
CustomerNotice customerNoticeJson = 47;
bool shouldUpdateIsRead = 48;
bool isRead = 49;
bool shouldUpdateIsConfirm = 50;
bool isConfirm = 51;
}
message UpdateClientCustomerOrderRpcRequest {
......
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.infoloop.rpc.meizhongyiheservice";
option java_outer_classname = "MeiZhongYiHeServiceProto";
option objc_class_prefix = "OP";
package com.infoloop.rpc.meizhongyiheservice;
service MeiZhongYiHeServiceRpc {
rpc GetAllHospitals (GetAllHospitalsRpcRequest) returns (GetAllHospitalsRpcResponse) {}
rpc GetHospitalDepartmentsByHospitalCode (GetHospitalDepartmentsByHospitalCodeRpcRequest) returns (GetHospitalDepartmentsByHospitalCodeRpcResponse) {}
rpc GetCustomersByCondition (GetCustomersByConditionRpcRequest) returns (GetCustomersByConditionRpcResponse) {}
rpc GetCustomerDetailById (GetCustomerDetailByIdRpcRequest) returns (GetCustomerDetailByIdRpcResponse) {}
rpc GetCustomerAllergiesByCustomerIds (GetCustomerAllergiesByCustomerIdsRpcRequest) returns (GetCustomerAllergiesByCustomerIdsRpcResponse) {}
rpc GetCustomerMedicalAdvicesByHospitalRecordIds (GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest) returns (GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse) {}
rpc GetAllHospitalAllergies (GetAllHospitalAllergiesRpcRequest) returns (GetAllHospitalAllergiesRpcResponse) {}
rpc GetHospitalMedicalAdvicesByType (GetHospitalMedicalAdvicesByTypeRpcRequest) returns (GetHospitalMedicalAdvicesByTypeRpcResponse) {}
}
message GetAllHospitalsRpcRequest {
}
message GetAllHospitalsRpcResponse {
repeated Hospital hospitals = 1;
}
message Hospital {
string hospitalId = 1;
string hospitalCode = 2;
string hospitalName = 3;
string hospitalAddress = 4;
}
message GetHospitalDepartmentsByHospitalCodeRpcRequest {
string hospitalCode = 1;
}
message GetHospitalDepartmentsByHospitalCodeRpcResponse {
repeated HospitalDepartment departments = 1;
}
message HospitalDepartment {
string departmentId = 1;
string departmentCode = 2;
string departmentName = 3;
string departmentContent = 4;
}
message GetCustomersByConditionRpcRequest {
repeated string deptCode = 1;
}
enum HospitalStatus {
PRE_ADMISSION = 0;
CURRENT = 1;
CANCEL = 2;
DISCHARGED = 3;
}
enum CustomerSex {
UNKNOWN_SEX = 0;
MALE = 1;
FEMALE = 2;
}
message Customer {
string customerId = 1;
string customerName = 2;
CustomerSex customerSex = 3;
string identityCardNo = 4;
int32 age = 5;
string height = 6;
string weight = 7;
string mobile = 8;
int64 birthday = 9;
CustomerHospitalRecord customerHospitalRecord = 10;
}
message GetCustomersByConditionRpcResponse {
repeated Customer customers = 1;
}
message CustomerHospitalRecord {
string hospitalRecordId = 1;
string departmentCode = 2;
string departmentName = 3;
string roomNo = 4;
int64 hospitalTime = 5;
int64 expectDischargeTime = 6;
int64 actualDischargeTime = 7;
int64 dueDate = 8;
int64 birthDate = 9;
string hospitalCode = 10;
HospitalStatus hospitalStatus = 11;
}
message GetCustomerDetailByIdRpcRequest {
string customerId = 1;
string hospitalRecordId = 2;
}
message GetCustomerDetailByIdRpcResponse {
Customer customer = 1;
}
message GetCustomerAllergiesByCustomerIdsRpcRequest {
repeated string customerIds = 1;
}
message CustomerAllergy {
string customerId = 1;
repeated Allergy allergies = 2;
}
message Allergy {
string allergyId = 1;
string allergyCode = 2;
string allergyDescription = 3;
int64 createdAt = 4;
}
message GetCustomerAllergiesByCustomerIdsRpcResponse {
repeated CustomerAllergy customerAllergies = 1;
}
message GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest {
repeated string hospitalRecordIds = 1;
}
message CustomerMedicalAdvice {
string customerId = 1;
string hospitalRecordId = 2;
repeated MedicalAdvice medicalAdvices = 3;
}
message MedicalAdvice {
string medicalAdviceId = 1;
string medicalAdviceCode = 2;
string medicalAdvice = 3;
string connotation = 4;
int64 medicalTime = 5;
int64 effectDate = 6;
MedicalAdviceTypeEnum medicalAdviceType = 7;
}
message GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse {
repeated CustomerMedicalAdvice customerMedicalAdvices = 1;
}
message GetAllHospitalAllergiesRpcRequest {
}
message GetAllHospitalAllergiesRpcResponse {
repeated HospitalAllergy hospitalAllergies = 1;
}
message HospitalAllergy {
string allergyId = 1;
string allergyCode = 2;
string allergyDescription = 3;
}
enum MedicalAdviceTypeEnum {
UNKNOWN_MEDICAL_ADVICE_TYPE = 0;
MEAL = 1; //膳食医嘱
CLINICAL = 2; //临床文字医嘱
}
message GetHospitalMedicalAdvicesByTypeRpcRequest {
MedicalAdviceTypeEnum type = 1;
}
message GetHospitalMedicalAdvicesByTypeRpcResponse {
repeated HospitalMedicalAdvice hospitalMedicalAdvices = 1;
}
message HospitalMedicalAdvice {
string medicalAdviceId = 1;
string medicalAdviceCode = 2;
string medicalAdvice = 3;
string connotation = 4;
string unit = 5;
}
\ No newline at end of file
......@@ -77,8 +77,14 @@ message GeDishSkuByIdsRpcResponse {
}
message SingleResponse {
int32 id = 1;
string name = 2;
int32 id = 1;
string name = 2;
}
message SingleSpecialResponse {
int32 id = 1;
string code = 2;
string name = 3;
}
message SingleDishSkuByIdsRpcResponse {
......@@ -92,17 +98,16 @@ message SingleDishSkuByIdsRpcResponse {
string imageUrl = 8; // 图片
string alias = 9;
string basicMaterials =10; // 主料
int32 fat = 11;
int32 protein = 12;
int32 carbohydrate = 13;
int32 energy = 14;
repeated SingleResponse allergyList = 15; // 过敏源
repeated SingleResponse tasteList = 16; // 口味
repeated SingleResponse efficacyList = 17; // 功效
repeated SingleResponse doctorList = 18; // 医嘱
repeated SingleResponse avoidList = 19; // 忌口
repeated SingleResponse skuList = 20; // 配料
string fat = 11;
string protein = 12;
string carbohydrate = 13;
string energy = 14;
repeated SingleSpecialResponse allergies = 15; // 过敏源
repeated SingleResponse tastes = 16; // 口味
repeated SingleResponse efficacies = 17; // 功效
repeated SingleSpecialResponse doctors = 18; // 医嘱
repeated SingleResponse avoids = 19; // 忌口
repeated SingleResponse skus = 20; // 配料
}
......@@ -134,7 +139,7 @@ message GetCategoriesByCodesRpcRequest {
message GetCategoriesByCodesRpcResponse {
repeated SingleCategoryResponse response = 1;
repeated SingleCategoryResponse response = 1;
}
message GetParentCategoriesByCodesRpcRequest {
......@@ -148,15 +153,15 @@ message GetParentCategoriesByCodesRpcResponse {
}
message UpdateSkusStandardSkusRpcRequest {
int32 standardSkuId = 1;
string standardSkuName = 2;
repeated int32 ids = 3;
string standardSkuConversionQuantity = 4;
bool shouldUpdateStandardSkuConversionQuantity = 5;
int32 standardSkuId = 1;
string standardSkuName = 2;
repeated int32 ids = 3;
string standardSkuConversionQuantity = 4;
bool shouldUpdateStandardSkuConversionQuantity = 5;
}
message UpdateSkusStandardSkusRpcResponse {
bool isUpdated = 1;
bool isUpdated = 1;
}
......@@ -174,11 +179,11 @@ message GetEnterpriseGSkuCountRpcResponse {
}
message GetSkusByStandardSkuIdsRpcRequest {
repeated int32 standardSkuIds = 1;
repeated int32 standardSkuIds = 1;
}
message GetSkusByStandardSkuIdsRpcResponse {
repeated SingleSkuResponse response = 1;
repeated SingleSkuResponse response = 1;
}
message GetSkusByEnterpriseIdsAndStandardSkusRpcRequest {
......@@ -231,12 +236,12 @@ message GetSkusRpcResponse {
}
message GetSkusCountRpcRequest {
bool includeDeleted = 1;
repeated int32 enterpriseIds = 2;
bool includeDeleted = 1;
repeated int32 enterpriseIds = 2;
}
message getSkusCountRpcResponse {
int32 count = 1;
int32 count = 1;
}
message GetSkusByCategoryIdsRpcRequest {
......@@ -347,7 +352,7 @@ message SinglePSkuByIdsRpcResponse {
string alias = 21;
int32 enterpriseId = 22;
string basicMaterials =23;
int32 fat = 24;
int32 fat = 24;
int32 protein = 25;
int32 carbohydrate = 26;
int32 energy = 27;
......