StationController.java 6.68 KB
package com.bsth.controller;

import com.bsth.entity.Station;
import com.bsth.repository.StationRepository;
import com.bsth.service.StationService;
import com.bsth.util.GetUIDAndCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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;

/**
 * 
 * @ClassName: StationController(站点控制器)
 * 
 * @Extends : BaseController
 * 
 * @Description: TODO(站点控制层)
 * 
 * @Author bsth@lq
 * 
 * @Date 2016年05月03日 上午9:21:17
 *
 * @Version 公交调度系统BS版 0.1
 * 
 */

@RestController
@RequestMapping("station")
public class StationController extends BaseController<Station, Integer> {
	
	@Autowired
	private StationService service;

	@Autowired
	StationRepository stationRepository;

	/** 日志记录器 */
	private static final Logger LOGGER = LoggerFactory.getLogger(StationController.class);
	
	/**
	 * @Description :TODO(根据坐标点匹配数据库中的站点)
	 * 
	 * @param map: <point:坐标点; name:站点名>
	 * 
	 */
	@RequestMapping(value="matchStation" , method = RequestMethod.GET)
	public Map<String, Object> matchStation(@RequestParam Map<String, Object> map) {
		return service.matchStation(map);
	}	
	
	/**
	 * @Description :TODO(系统规划保存数据)
	 * 
	 * @param map <stationJSON:站点信息;
	 * 
	 * - - - - - - sectionJSON:路段信息;
	 * 
	 * - - - - - - dbType:坐标类型;
	 * 
	 * - - - - - - destroy:是否撤销;
	 * 
	 * - - - - - - directions:方向;
	 * 
	 * - - - - - - lineId:线路ID;
	 * 
	 * - - - - - - radius:圆半径
	 * 
	 * - - - - - - shapesType:图形类型
	 * 
	 * - - - - - - speedLimit:限速>
	 * 
	 * @return Map<String, Object> <SUCCESS ; ERROR>
	 */
	@RequestMapping(value="collectionSave" , method = RequestMethod.POST)
	public Map<String, Object> collectionSave(@RequestParam Map<String, Object> map) {
		return service.systemSaveStations(map);
	}
	
	@RequestMapping(value="manualSave" , method = RequestMethod.POST)
	public Map<String, Object> manualSave(@RequestParam Map<String, Object> map) {
		return service.manualSave(map);
	}
	
	@RequestMapping(value="cacheSave" , method = RequestMethod.POST)
	public Map<String, Object> cacheSave(@RequestParam Map<String, Object> map) {
		return service.cacheSave(map);
	}
	
	/**
	 * @Description :TODO(新增站点保存)
	 * 
	 * @param map <bJwpoints:中心点百度坐标;bPolygonGrid:多边形图形百度坐标;dbType:原坐标类型;
	 * 
	 * 			  descriptions:说明;destroy:是否撤销;directions:方向;distances:到站距离;gJwpoints:中心点WGS坐标;
	 * 
	 * 			  gPolygonGrid:多边形图形WGS坐标;lineId:线路ID;radius:圆半径;roadCoding:道路编码;shapesType:图形类型;
	 * 
	 * 			  stationCod:站点编码;stationMark:站点类型;stationName:站点名称;stationRouteCode:站点序号;toTime:到站时间
	 * 			  
	 * 			  versions:版本号;x:城建坐标x;y:城建坐标y>
	 * 
	 * @return Map<String, Object> <SUCCESS ; ERROR>
	 */
	@RequestMapping(value="stationSave" , method = RequestMethod.POST)
	public Map<String, Object> stationSave(@RequestParam Map<String, Object> map) {
		map.put("createBy", "");
		map.put("updateBy", "");
		return service.stationSaveMap(map);
	}
	
	/**
	 * @Description :TODO(更新站点保存)
	 * 
	 * @param map <bJwpoints:中心点百度坐标;bPolygonGrid:多边形图形百度坐标;dbType:原坐标类型;
	 * 
	 * 			  descriptions:说明;destroy:是否撤销;directions:方向;distances:到站距离;gJwpoints:中心点WGS坐标;
	 * 
	 * 			  gPolygonGrid:多边形图形WGS坐标;lineId:线路ID;radius:圆半径;roadCoding:道路编码;shapesType:图形类型;
	 * 
	 * 			  stationCod:站点编码;stationMark:站点类型;stationName:站点名称;stationRouteCode:站点序号;toTime:到站时间
	 * 			  
	 * 			  versions:版本号;x:城建坐标x;y:城建坐标y>
	 * 
	 * @return Map<String, Object> <SUCCESS ; ERROR>
	 */
	@RequestMapping(value="stationUpdate" , method = RequestMethod.POST)
	public Map<String, Object> stationUpdate(@RequestParam Map<String, Object> map) {
		map.put("updateBy", ""); //??
		return service.stationUpdate(map);
	}
	
	/**
	 * @Description :TODO(更新缓存站点保存)
	 * 
	 * @param map <bJwpoints:中心点百度坐标;bPolygonGrid:多边形图形百度坐标;dbType:原坐标类型;
	 * 
	 * 			  descriptions:说明;destroy:是否撤销;directions:方向;distances:到站距离;gJwpoints:中心点WGS坐标;
	 * 
	 * 			  gPolygonGrid:多边形图形WGS坐标;lineId:线路ID;radius:圆半径;roadCoding:道路编码;shapesType:图形类型;
	 * 
	 * 			  stationCod:站点编码;stationMark:站点类型;stationName:站点名称;stationRouteCode:站点序号;toTime:到站时间
	 * 			  
	 * 			  versions:版本号;x:城建坐标x;y:城建坐标y>
	 * 
	 * @return Map<String, Object> <SUCCESS ; ERROR>
	 */
	@RequestMapping(value="stationCacheUpdate" , method = RequestMethod.POST)
	public Map<String, Object> stationCacheUpdate(@RequestParam Map<String, Object> map) {
		map.put("updateBy", "");
		return service.stationCacheUpdate(map);
	}
	/**
	 * @Description :TODO(更新内部编码)
	 * @param stationCount,sectionCount 更新数
	 */
	@RequestMapping(value="updateStationAndSectionCode" , method = RequestMethod.GET)
	public int updateStationAndSectionCode(@RequestParam Integer stationCount, Integer sectionCount) {
//		System.out.println(stationCount+" _ "+ sectionCount );
//		for(int i = 0; i <  stationCount; i++) {
////			System.out.println(i);
//			stationRepository.stationMaxId() + 1;
//		}
//		for(int j = 0; j <  sectionCount; j++) {
////			System.out.println(j);
//			sectionRepository.sectionMaxId() + 1;
//		}
		return 1;
	}
	/**
	 * @Description :TODO(查询站点编码)
	 *
	 * @return int <stationCode站点编码>
	 */
	@RequestMapping(value="getStationCode" , method = RequestMethod.GET)
	public long getStationCode() {
		return stationRepository.stationMaxId() + 1;

	}
	/**
	 * @Description :TODO(查询站点编码)
	 * 
	 * @return int <stationCode站点编码>
	 */
	@RequestMapping(value="stationCacheSave" , method = RequestMethod.POST)
	public Map<String, Object> stationCacheSave(@RequestParam Map<String, Object> map) {
		map.put("createBy", "");
		map.put("updateBy", "");
		return service.stationCacheSave(map);
	}
}