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

import com.infoloop.tianting.context.LoginContextHolder;
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 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 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() {
        final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
        final var response = mealServiceRpcClient.getAllMeals(operatorLoginInfo.getEnterpriseId());
        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());
    }

}