MealServiceImpl.java 2.43 KB
package com.infoloop.tianting.service.impl;

import com.infoloop.tianting.model.dto.MealDbDTO.MealDto;
import com.infoloop.tianting.service.MealService;
import com.infoloop.tianting.service.client.MealServiceRpcClient;
import com.infoloop.tianting.utils.DateUtil;
import java.sql.DataTruncation;
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 MealServiceImpl implements MealService {
  private final MealServiceRpcClient mealServiceRpcClient;

  @Override
  public List<MealDto> getMealsByIds(Integer enterpriseId, List<Integer> ids) {
    final var response = mealServiceRpcClient.getMealsByIds(enterpriseId, ids);
    return response.getResponsesList().stream().map(
        meal -> MealDto.builder()
            .id(meal.getId())
            .allowCreateOrder(meal.getAllowCreateOrder())
            .enterpriseId(meal.getEnterpriseId())
            .name(meal.getName())
            .status(meal.getStatus())
            .isDeleted(meal.getIsDeleted())
            .createdAt(DateUtil.formatDate(meal.getCreatedAt()))
            .createdBy(meal.getCreatedBy())
            .createdBy(meal.getCreationSource())
            .updatedAt(DateUtil.formatDate(meal.getUpdatedAt()))
            .updatedBy(meal.getUpdatedBy())
            .updateSource(meal.getUpdateSource())
            .build()
    ).collect(Collectors.toList());
  }

  @Override
  public List<MealDto> getAllMeals(Integer enterpriseId) {
    final var response = mealServiceRpcClient.getAllMeals(enterpriseId);
    return response.getResponsesList().stream().map(
        meal -> MealDto.builder()
            .id(meal.getId())
            .allowCreateOrder(meal.getAllowCreateOrder())
            .enterpriseId(meal.getEnterpriseId())
            .name(meal.getName())
            .status(meal.getStatus())
            .isDeleted(meal.getIsDeleted())
            .createdAt(DateUtil.formatDate(meal.getCreatedAt()))
            .createdBy(meal.getCreatedBy())
            .createdBy(meal.getCreationSource())
            .updatedAt(DateUtil.formatDate(meal.getUpdatedAt()))
            .updatedBy(meal.getUpdatedBy())
            .updateSource(meal.getUpdateSource())
            .build()
    ).collect(Collectors.toList());
  }

}