DeliveryRuleServiceImpl.java 1.42 KB
package com.infoloop.tianting.service.impl;

import com.infoloop.tianting.model.dto.ClientLabelDTO.LabelDto;
import com.infoloop.tianting.model.dto.ClientLabelDTO.QueryLabelsDto;
import com.infoloop.tianting.service.DeliveryRuleService;
import com.infoloop.tianting.service.client.DeliveryRuleServiceRpcClient;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class DeliveryRuleServiceImpl implements DeliveryRuleService {

    private final DeliveryRuleServiceRpcClient deliveryRuleServiceRpcClient;

    @Override
    public List<LabelDto> getLabelsByTypes(QueryLabelsDto queryLabelsDto) {
        final var response = deliveryRuleServiceRpcClient.getLabelsByTypes(queryLabelsDto);
        return response.getResponsesList().stream().map(label -> LabelDto.builder()
                .id(label.getId())
                .code(label.getCode())
                .name(label.getName())
                .enterpriseId(label.getEnterpriseId())
                .isDefault(label.getIsDefault())
                .remark(label.getRemark())
                .status(label.getStatus())
                .type(label.getType())
                .build()
        ).collect(Collectors.toList());
    }
}