MenuServiceRpcClient.java 2.21 KB
package com.infoloop.tianting.service.client;

import com.infoloop.tianting.menuservice.GetClientCustomerMenuRefsByCustomerIdRpcRequest;
import com.infoloop.tianting.menuservice.GetClientCustomerMenuRefsByCustomerIdRpcResponse;
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.MenuServiceRpcGrpc;
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 MenuServiceRpcClient {
  private final MenuServiceRpcGrpc.MenuServiceRpcBlockingStub menuServiceRpcBlockingStub;

  public GetMicroPublishedMenusByStallIdsRpcResponse queryMiniProgramPublishedMenusByStallIds(
      Integer enterpriseId, Integer stallId) {
    List<Integer> stallIds;
    final var request = GetMicroPublishedMenusByStallIdsRpcRequest.newBuilder()
        .setEnterpriseId(enterpriseId)
        .addAllStallIds(List.of(stallId))
        .setIncludeDeleted(false)
        .build();
    return menuServiceRpcBlockingStub.getMicroPublishedMenusByStallIds(request);
  }

  public GetMenuDetailsByMenuIdsRpcResponse queryMenuDetailsByMenuId(
      Integer enterpriseId, Integer menuId) {
    final var request = GetMenuDetailsByMenuIdsRpcRequest.newBuilder()
        .setEnterpriseId(enterpriseId)
        .addAllMenuIds(List.of(menuId))
        .setIncludeDeleted(false)
        .build();
    return menuServiceRpcBlockingStub.getMenuDetailsByMenuIds(request);
  }

  public GetClientCustomerMenuRefsByCustomerIdRpcResponse getClientCustomerMenuRefsByCustomerId(
      Integer enterpriseId, Integer customerId
  ) {

    final var request = GetClientCustomerMenuRefsByCustomerIdRpcRequest.newBuilder()
        .setEnterpriseId(enterpriseId)
        .setCustomerId(customerId)
        .build();
    return menuServiceRpcBlockingStub.getClientCustomerMenuRefsByCustomerId(request);

  }
}