package com.estate.expert.admin.service.impl; import com.estate.expert.admin.domain.business.car.Car; import com.estate.expert.admin.domain.business.car.CarDto; import com.estate.expert.admin.domain.business.car.CarRepository; import com.estate.expert.admin.domain.standard.hierachy.HierarchyIds; import com.estate.expert.admin.service.common.CrudServiceBaseImpl; import com.estate.expert.admin.service.CarService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * 车辆管理服务实现 **/ @Slf4j @Service public class CarServiceImpl extends CrudServiceBaseImpl implements CarService { @Resource private CarRepository carRepository; @Resource private HierarchyServiceImpl hierarchyService; @Override public List list(String departmentPath, String licenseNo) { var list = carRepository.listCars(departmentPath, licenseNo); return toDto(list); } @Override public List listAll(String keyword) { return carRepository.listCars(keyword); } @Override public List toDto(List entityList) { var hierarchy = hierarchyService.get(HierarchyIds.DEPARTMENT).getContent(); var dtos = super.toDto(entityList); dtos.forEach(dto -> { var department = hierarchy.get(dto.getDepartmentPath()); if(department != null) { dto.setDepartmentName(department.getName()); } }); return dtos; } @Override public CarDto toDto(Car entity) { var hierarchy = hierarchyService.get(HierarchyIds.DEPARTMENT).getContent(); var dto = super.toDto(entity); var department = hierarchy.get(dto.getDepartmentPath()); if(department != null) { dto.setDepartmentName(department.getName()); } return dto; } }