diff --git a/src/main/java/com/gis3c/spatial/dao/RiverDao.java b/src/main/java/com/gis3c/spatial/dao/RiverDao.java new file mode 100644 index 0000000..28ddf3d --- /dev/null +++ b/src/main/java/com/gis3c/spatial/dao/RiverDao.java @@ -0,0 +1,17 @@ +package com.gis3c.spatial.dao; + +import com.gis3c.common.persistence.annotation.C3SpatialDao; +import com.gis3c.spatial.entity.SeparatedRiver; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; + +/** + * Created by hukekuan on 2018/4/12. + */ +@C3SpatialDao +public interface RiverDao { + public List findRiversByStationCodes(@Param("stationCodes") Set stationCodes); + public List findRiversByRiverCodes(@Param("riverCodes") Set riverCodes); +} diff --git a/src/main/java/com/gis3c/spatial/entity/SeparatedRiver.java b/src/main/java/com/gis3c/spatial/entity/SeparatedRiver.java new file mode 100644 index 0000000..f638f17 --- /dev/null +++ b/src/main/java/com/gis3c/spatial/entity/SeparatedRiver.java @@ -0,0 +1,52 @@ +package com.gis3c.spatial.entity; + +/** + * Created by hukekuan on 2018/4/12. + */ +public class SeparatedRiver extends BaseFeature{ + private String riverCode; + private String riverName; + private String stationCode; + private String stationName; + private String level; + + public String getRiverCode() { + return riverCode; + } + + public void setRiverCode(String riverCode) { + this.riverCode = riverCode; + } + + public String getRiverName() { + return riverName; + } + + public void setRiverName(String riverName) { + this.riverName = riverName; + } + + public String getStationCode() { + return stationCode; + } + + public void setStationCode(String stationCode) { + this.stationCode = stationCode; + } + + public String getStationName() { + return stationName; + } + + public void setStationName(String stationName) { + this.stationName = stationName; + } + + public String getLevel() { + return level; + } + + public void setLevel(String level) { + this.level = level; + } +} diff --git a/src/main/java/com/gis3c/spatial/service/RiverService.java b/src/main/java/com/gis3c/spatial/service/RiverService.java new file mode 100644 index 0000000..6a31597 --- /dev/null +++ b/src/main/java/com/gis3c/spatial/service/RiverService.java @@ -0,0 +1,11 @@ +package com.gis3c.spatial.service; + +import java.util.Set; + +/** + * Created by hukekuan on 2018/4/12. + */ +public interface RiverService { + public String findRiversByStationCodes(Set stationCodes); + public String findRiversByRiverCodes(Set riverCodes); +} diff --git a/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java b/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java new file mode 100644 index 0000000..fc11e90 --- /dev/null +++ b/src/main/java/com/gis3c/spatial/service/impl/RiverServiceImpl.java @@ -0,0 +1,48 @@ +package com.gis3c.spatial.service.impl; + +import com.gis3c.common.exception.BusinessException; +import com.gis3c.spatial.common.FeatureUtilities; +import com.gis3c.spatial.dao.RiverDao; +import com.gis3c.spatial.entity.SeparatedRiver; +import com.gis3c.spatial.service.RiverService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.util.List; +import java.util.Set; + +/** + * Created by hukekuan on 2018/4/12. + */ +@Service +public class RiverServiceImpl implements RiverService { + @Autowired + private RiverDao riverDao; + + @Override + public String findRiversByStationCodes(Set stationCodes) { + String riverJson = null; + List riverList + = riverDao.findRiversByStationCodes(stationCodes); + try { + riverJson = FeatureUtilities.JavaBeans2Json(riverList); + } catch (IllegalAccessException | IOException e) { + throw new BusinessException("River实体转GeoJSON出错"); + } + return riverJson; + } + + @Override + public String findRiversByRiverCodes(Set riverCodes) { + String riverJson = null; + List riverList + = riverDao.findRiversByRiverCodes(riverCodes); + try { + riverJson = FeatureUtilities.JavaBeans2Json(riverList); + } catch (IllegalAccessException | IOException e) { + throw new BusinessException("River实体转GeoJSON出错"); + } + return riverJson; + } +} diff --git a/src/test/java/com/gis3c/spatial/App.java b/src/test/java/com/gis3c/spatial/App.java index 9838978..8b94840 100644 --- a/src/test/java/com/gis3c/spatial/App.java +++ b/src/test/java/com/gis3c/spatial/App.java @@ -12,6 +12,7 @@ import com.gis3c.spatial.common.GeometryUtilities; import com.gis3c.spatial.entity.Region; import com.gis3c.spatial.entity.RegionType; import com.gis3c.spatial.service.RegionService; +import com.gis3c.spatial.service.RiverService; import com.gis3c.spatial.service.TestService; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Point; @@ -36,14 +37,12 @@ public class App { return new ClassPathXmlApplicationContext("classpath:spring-config.xml"); } public static void main(String[] args) throws IllegalAccessException, IOException { - ApplicationContext context = ApplicationInit(); - - Set data = new HashSet<>(); - data.add(1); - data.add(2); - data.add(3); - - System.out.println(data.contains(1)); +// ApplicationContext context = ApplicationInit(); +// RiverService riverService = context.getBean(RiverService.class); +// +// String resilt = riverService.findRiversByRiverCodes( +// new HashSet<>(Arrays.asList(new String[]{"3783","3363"}))); +// System.out.println(resilt); diff --git a/src/test/resources/mappings/spatial/RiverDao.xml b/src/test/resources/mappings/spatial/RiverDao.xml new file mode 100644 index 0000000..19672e4 --- /dev/null +++ b/src/test/resources/mappings/spatial/RiverDao.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + \ No newline at end of file