RealMapServiceImpl.java 2.81 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 and shapes_type='d'";

            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;
    }
}