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 鍩烘湰閰嶇疆 &currentSchema=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