RealMapController.java 2.71 KB
package com.bsth.controller.realcontrol;

import com.bsth.data.gpsdata.arrival.GeoCacheData;
import com.bsth.data.gpsdata.arrival.entity.TimedEnableStationRoute;
import com.bsth.service.realcontrol.RealMapService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * 线调 地图监控相关
 * Created by panzhao on 2016/11/23.
 */
@RestController
@RequestMapping("realMap")
public class RealMapController {

    @Autowired
    RealMapService realMapService;

    /**
     * 根据线路获取站点路由及空间数据
     */
    @RequestMapping(value = "/stationSpatialData")
    public Map<String, Object> stationSpatialData(@RequestParam String idx) {
        return realMapService.stationSpatialData(idx);
    }

    /**
     * 停车场
     *
     * @return
     */
    @RequestMapping(value = "/carParkSpatialData")
    public Map<String, Object> carParkSpatialData() {
        return realMapService.carParkSpatialData();
    }


    /**
     * @param @param lineCode
     * @throws
     * @Title: findRouteByLine
     * @Description: TODO(获取线路的站点,路段路由)
     */
    @RequestMapping(value = "/findRouteByLine")
    public Map<String, Object> findRouteByLine(@RequestParam String idx) {
        return realMapService.findRouteByLine(idx);
    }

    @RequestMapping(value = "/multiRouteByLine")
    public Map<String, Object> multiRouteByLine(@RequestParam String codeStr) {
        return realMapService.multiRouteByLine(codeStr);
    }


    /**
     * 获取线路的路段路由 和 站点路由信息 (为前端站间距计算提供数据源)
     * @param lineCode
     * @return
     */
    @RequestMapping(value = "/findRouteAndStationByLine")
    public Map<String, Object> findRouteAndStationByLine(@RequestParam String lineCode){
        return realMapService.findRouteAndStationByLine(lineCode);
    }

    /**
     * 获取多个线路的路段信息(为前端越界计算提供数据)
     * @param codeIdx
     * @return
     */
    @RequestMapping(value = "/multiSectionRoute")
    public Map<String, Object> multiSectionRoute(@RequestParam String codeIdx){
        return realMapService.multiSectionRoute(codeIdx);
    }

    @RequestMapping(value = "/lockAndFlxedTimeEnabled", method = RequestMethod.POST)
    public void lockAndFlxedTimeEnabled(TimedEnableStationRoute tes){
        GeoCacheData.tesMap.put(tes.getLineCode(), tes);
    }
}