RealMapServiceImpl.java 2.79 KB
package com.bsth.service.realcontrol.impl;

import com.bsth.common.ResponseCode;
import com.bsth.controller.realcontrol.dto.StationSpatialData;
import com.bsth.entity.CarPark;
import com.bsth.service.realcontrol.RealMapService;
import com.google.common.base.Splitter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by panzhao on 2016/11/23.
 */
@Service
public class RealMapServiceImpl implements RealMapService {

    @Autowired
    JdbcTemplate jdbcTemplate;

    Logger logger = LoggerFactory.getLogger(this.getClass());

    @Override
    public Map<String, Object> stationSpatialData(String idx) {
        Map<String, Object> rs = new HashMap();

        try {
            List<String> idArray = Splitter.on(",").splitToList(idx);
            //拼接in语句
            String inStr = "";
            for (String code : idArray) {
                inStr += (",'" + code+"'");
            }
            inStr = " (" + inStr.substring(1) + ")";

            String sql = "select R.LINE_CODE,R.STATION_NAME,R.STATION_CODE,R.STATION_MARK,R.DIRECTIONS,R.DISTANCES,R.TO_TIME, R.VERSIONS,S.G_LONX,S.G_LATY,S.RADIUS,S.SHAPES_TYPE,ST_AsText(S.G_POLYGON_GRID) as G_POLYGON_GRID, R.STATION_ROUTE_CODE from bsth_c_stationroute r inner join bsth_c_station s on r.station=s.id where r.line_code in "+inStr+" and r.destroy=0";

            List<StationSpatialData> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(StationSpatialData.class));
            rs.put("status", ResponseCode.SUCCESS);
            rs.put("list", list);
        } catch (Exception e) {
            logger.error("", e);
            rs.put("status", ResponseCode.ERROR);
            rs.put("msg", "查询站点空间数据出现异常!");
        }

        return rs;
    }

    @Override
    public Map<String, Object> carParkSpatialData() {
        Map<String, Object> rs = new HashMap();

        try {
            String sql = "select ID, AREA,PARK_CODE,PARK_NAME,ST_AsText(G_PARK_POINT) as G_PARK_POINT,G_CENTER_POINT,RADIUS,SHAPES_TYPE from bsth_c_car_park WHERE destroy=0";

            List<CarPark> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CarPark.class));
            rs.put("status", ResponseCode.SUCCESS);
            rs.put("list", list);
        } catch (Exception e) {
            logger.error("", e);
            rs.put("status", ResponseCode.ERROR);
            rs.put("msg", "查询停车场空间数据出现异常!");
        }
        return rs;
    }
}