EnterpriseResourceServiceRpcClient.java 1.58 KB
package com.infoloop.tianting.service.client;

import com.infoloop.tianting.enterpriseresourcetagservice.EnterpriseResourceTagServiceRpcGrpc;
import com.infoloop.tianting.enterpriseresourcetagservice.GetOperatorIdsByStallIdRpcRequest;
import com.infoloop.tianting.enterpriseresourcetagservice.UserTagsAndResourcesGetRequest;
import com.infoloop.tianting.enterpriseresourcetagservice.UserTagsAndResourcesGetResponse;
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 EnterpriseResourceServiceRpcClient {

    private final EnterpriseResourceTagServiceRpcGrpc.EnterpriseResourceTagServiceRpcBlockingStub
            enterpriseResourceTagServiceRpcBlockingStub;

    public UserTagsAndResourcesGetResponse getUserResources(Integer enterpriseId, Integer userId) {
        final var request = UserTagsAndResourcesGetRequest.newBuilder()
                .setSubjectId(enterpriseId)
                .setUserId(userId)
                .build();
        return enterpriseResourceTagServiceRpcBlockingStub.getUserResources(request);
    }

    public List<Integer> getOperatorIdsByStallId(int enterpriseId, int stallId) {
        final var request = GetOperatorIdsByStallIdRpcRequest.newBuilder()
                .setEnterpriseId(enterpriseId)
                .setStallId(stallId)
                .build();
        return enterpriseResourceTagServiceRpcBlockingStub.getOperatorIdsByStallId(request).getOperatorIdsList();
    }
}