GeoPremiseServiceImpl.java 1.55 KB
package com.bsth.service.impl;

import com.bsth.entity.GeoPremise;
import com.bsth.entity.LsStationRoute;
import com.bsth.repository.GeoPremiseRepository;
import com.bsth.repository.LsStationRouteRepository;
import com.bsth.service.GeoPremiseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

/**
 * @author Hill
 */
@Service
public class GeoPremiseServiceImpl extends BaseServiceImpl<GeoPremise, Integer> implements GeoPremiseService {

    @Autowired
    private GeoPremiseRepository geoPremiseRepository;

    @Autowired
    private LsStationRouteRepository lsStationRouteRepository;

    @Override
    public GeoPremise findById(Integer id) {
        Optional<GeoPremise> optional = geoPremiseRepository.findById(id);
        return optional.isPresent() ? optional.get() : new GeoPremise();
    }

    @Override
    public Map<String, Object> save(GeoPremise geoPremise) {
        Map<String, Object> result = new HashMap<>();
        LsStationRoute stationRoute = lsStationRouteRepository.findById(geoPremise.getId()).get();
        geoPremise.setLineCode(stationRoute.getLineCode());
        geoPremise.setUpDown(stationRoute.getDirections());
        geoPremise.setStationCode(stationRoute.getStationCode());
        geoPremise.setName(String.format("%s-%s", stationRoute.getStationName(), stationRoute.getDirections() == 0 ? "$$$$$${txt-3858}" : "下行"));
        geoPremiseRepository.save(geoPremise);

        return result;
    }
}