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

import com.infoloop.tianting.deliveryruleservice.ClientLabelTypeEnum;
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 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 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());
  }
}