From 5e81b7eba5eb3e29ef00287733221915a6c61bbe Mon Sep 17 00:00:00 2001 From: wangyifei <1522824457@qq.com> Date: 星期二, 29 十月 2024 19:05:13 +0800 Subject: [PATCH] 降水范围校验接口第一次提交 --- /dev/null | 33 ---------------- src/main/java/com/se/simu/service/GedbService.java | 8 +++ src/main/resources/application.yml | 6 +- src/main/java/com/se/simu/controller/SimuController.java | 29 ++++++++++++++ 4 files changed, 39 insertions(+), 37 deletions(-) diff --git a/docker/init/init.sql b/docker/init/init.sql deleted file mode 100644 index 0f952a7..0000000 --- a/docker/init/init.sql +++ /dev/null @@ -1,33 +0,0 @@ -create extension if not exists postgis cascade; - -create extension if not exists "uuid-ossp"; - -create schema if not exists bs; - -create table bs.simu ( - id serial primary key, - pid integer default 0, - num integer, - name varchar(100), - data varchar(8000), - status smallint default 0, - result varchar(1000), - create_time timestamp(6) without time zone default now(), - update_time timestamp(6) without time zone, - bak varchar(2000) -); - -comment on table bs.simu is '浠跨湡琛�'; -comment on column bs.simu.id is '涓婚敭ID'; -comment on column bs.simu.pid is '鐖禝D'; -comment on column bs.simu.num is '搴忓彿'; -comment on column bs.simu.name is '鍚嶇О'; -comment on column bs.simu.data is '鏁版嵁(JSON)'; -comment on column bs.simu.status is '鐘舵�侊細0-鍒涘缓浠跨湡浠诲姟锛�1-杩炴帴GEDB搴擄紝2-涓嬭浇绌洪棿鏁版嵁锛�3-涓嬭浇楂樼▼鏁版嵁锛�4-鐢熸垚闄嶉洦鏂囦欢锛�5-鐢熸垚閰嶇疆鏂囦欢锛�6-妯℃嫙鍐呮稘浠跨湡锛�7-澶勭悊姘翠綅鏂囦欢锛�8-澶勭悊鎺掓按鏂囦欢锛�9-澶勭悊浠跨湡缁撴灉锛�10-瀹屾垚锛�-10-鍑洪敊'; -comment on column bs.simu.result is '缁撴灉'; -comment on column bs.simu.create_time is '鍒涘缓鏃堕棿'; -comment on column bs.simu.update_time is '鏇存柊鏃堕棿'; -comment on column bs.simu.bak is '澶囨敞'; - --- insert into bs.simu (pid, num, name, data, status, result, bak) values (0, 1, '浠跨湡01', null, 0, '', null); --- select * from bs.simu; diff --git a/src/main/java/com/se/simu/controller/SimuController.java b/src/main/java/com/se/simu/controller/SimuController.java index b270954..f0c40b4 100644 --- a/src/main/java/com/se/simu/controller/SimuController.java +++ b/src/main/java/com/se/simu/controller/SimuController.java @@ -1,6 +1,9 @@ package com.se.simu.controller; +import cn.hutool.json.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.se.simu.domain.dto.GeDb; +import com.se.simu.domain.dto.GeLayer; import com.se.simu.domain.po.DataPo; import com.se.simu.domain.po.SimuPo; import com.se.simu.domain.vo.CreateSimuVo; @@ -203,4 +206,30 @@ return fail(ex, null); } } + + + /** + * 浣跨敤绌洪棿鑼冨洿鏌ヨ 绠$偣,绠$嚎,寤虹瓚鐗� 3涓浘灞傦紝涓旀瘡涓浘灞傜殑鏁伴噺澶т簬0锛岃繑鍥� true銆� + */ + @ApiOperation(value = "闄嶆按鑼冨洿鏍¢獙") + @GetMapping("/rangeVerif") + public R<Object> rangeVerif(@RequestParam @ApiParam("鏈�灏廥") Double minx, + @RequestParam @ApiParam("鏈�灏弝") Double miny, + @RequestParam @ApiParam("鏈�澶") Double maxx, + @RequestParam @ApiParam("鏈�澶") Double maxy) { + try { + DataPo data = new DataPo(); + data.setMinx(minx); + data.setMiny(miny); + data.setMaxx(maxx); + data.setMaxy(maxy); + data.setEpsg(4326); + String token = gedbService.getToken(); + GeDb db = gedbService.connectGedb(token, data); + List<GeLayer> layers = gedbService.getLayers(token, db); + return success(gedbService.queryBboxCount(token,db, layers)); + } catch (Exception ex) { + return fail(ex, null); + } + } } diff --git a/src/main/java/com/se/simu/service/GedbService.java b/src/main/java/com/se/simu/service/GedbService.java index b4c90bc..f1d9111 100644 --- a/src/main/java/com/se/simu/service/GedbService.java +++ b/src/main/java/com/se/simu/service/GedbService.java @@ -176,7 +176,13 @@ } } } - + public boolean queryBboxCount(String token, GeDb db, List<GeLayer> layers) throws Exception { + for (GeLayer layer : layers) { + int count = getCount(token, db, layer); + if (0 == count) throw new Exception(layer.getName() + "锛屽浘灞傛暟鎹负绌�"); + } + return true; + } private int getCount(String token, GeDb db, GeLayer layer) { Map<String, Object> map = new HashMap<>(6); map.put("token", token); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 090c255..a74060a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -12,9 +12,9 @@ datasource: name: prod # JDBC 鍩烘湰閰嶇疆 ¤tSchema=public - url: jdbc:postgresql://127.0.0.1:5433/ai?useAffectedRows=true + url: jdbc:postgresql://127.0.0.1:5432/ai?useAffectedRows=true username: postgres - password: postgres + password: 123456 driver-class-name: org.postgresql.Driver platform: POSTGRESQL type: com.alibaba.druid.pool.DruidDataSource @@ -94,7 +94,7 @@ config: ver: 0.2 # Gdal椹卞姩鐩綍 - gdalPath: E:/terrait/TianJin/Zip/release-1928-x64-dev/release-1928-x64/bin + gdalPath: D:\Program Files\release-1928-x64-dev\release-1928-x64\bin #inPath: D:\simu\in inPath: D:\simu\uwsolver outPath: D:\simu\out -- Gitblit v1.9.3