DeliveryRuleServiceRpcClient.java 2.59 KB
package com.infoloop.tianting.service.client;

import com.infoloop.tianting.deliveryruleservice.DeliveryTemplateTypeEnum;
import com.infoloop.tianting.deliveryruleservice.GetClientLabelsByIdsRpcRequest;
import com.infoloop.tianting.deliveryruleservice.GetClientLabelsByIdsRpcResponse;
import com.infoloop.tianting.deliveryruleservice.GetDefaultDeliveryTemplateAndRuleRpcRequest;
import com.infoloop.tianting.deliveryruleservice.GetDefaultDeliveryTemplateAndRuleRpcResponse;
import com.infoloop.tianting.deliveryruleservice.QueryClientLabelsByConditionRpcRequest;
import com.infoloop.tianting.deliveryruleservice.QueryClientLabelsByConditionRpcResponse;
import com.infoloop.tianting.deliveryruleservice.TiantingDeliveryRuleServiceRpcGrpc;
import com.infoloop.tianting.model.dto.ClientLabelDTO.QueryLabelsDto;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class DeliveryRuleServiceRpcClient {

    private final TiantingDeliveryRuleServiceRpcGrpc.TiantingDeliveryRuleServiceRpcBlockingStub
            deliveryRuleServiceRpcBlockingStub;

    public QueryClientLabelsByConditionRpcResponse getLabelsByTypes(QueryLabelsDto queryLabelsDto) {
        final var request = QueryClientLabelsByConditionRpcRequest.newBuilder()
                .setEnterpriseId(queryLabelsDto.getEnterpriseId())
                .setShouldFilterTypes(true)
                .addAllTypes(queryLabelsDto.getTypes())
                .setIncludeDeleted(false)
                .build();
        return deliveryRuleServiceRpcBlockingStub.queryClientLabelsByCondition(request);

    }

    public GetClientLabelsByIdsRpcResponse GetClientLabelsByIds(Integer enterpriseId, List<Integer> ids) {
        final var request = GetClientLabelsByIdsRpcRequest
                .newBuilder()
                .setEnterpriseId(enterpriseId)
                .setIncludeDeleted(false)
                .addAllIds(ids)
                .build();
        return deliveryRuleServiceRpcBlockingStub.getClientLabelsByIds(request);
    }

    public GetDefaultDeliveryTemplateAndRuleRpcResponse getDefaultDeliveryTemplateAndRule(int enterpriseId) {
        final var request = GetDefaultDeliveryTemplateAndRuleRpcRequest
                .newBuilder()
                .setEnterpriseId(enterpriseId)
                .setType(DeliveryTemplateTypeEnum.DELIVERY_TEMPLATE_TYPE_DELIVERY)
                .build();
        return deliveryRuleServiceRpcBlockingStub.getDefaultDeliveryTemplateAndRule(request);
    }


}