[add] 安全、质量知识库接入畅写回调保存文件 [update] 修改斯巴达中获取文件名字方法

This commit is contained in:
lcj
2025-06-30 19:51:41 +08:00
parent 3671f6c81a
commit 66912c4eb9
11 changed files with 621 additions and 7 deletions

View File

@ -272,12 +272,12 @@ weather:
# dxf转 geojson 执行文件名
dxf2GeoJson:
file-name: main.exe
ys7:
app-key: 3acf9f1a43dc4209841e0893003db0a2
app-secret: 4bbf3e9394f55d3af6e3af27b2d3db36
#ys7:
# app-key: f01490bd5d5241b7809d8fc5fe84f7f8
# app-secret: d468f270699de855fd85fe7fd6f9595f
# app-key: 3acf9f1a43dc4209841e0893003db0a2
# app-secret: 4bbf3e9394f55d3af6e3af27b2d3db36
ys7:
app-key: 081b0d6d5f7f4de8bc5c7fa350fb26ec
app-secret: caa37b9f60ef02deb57e563bc190e6db
# 斯巴达算法
sparta:
url: http://119.3.204.120:8040

View File

@ -123,7 +123,7 @@ security:
- /other/ys7Device/webhook
# todo 仅测试
- /facility/matrix/**
- /changxie/callback
- /*/knowledgeDocument/changxie/callback/**
# 多租户配置
tenant:

View File

@ -1,9 +1,11 @@
package org.dromara.test;
import cn.hutool.json.JSONUtil;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.dromara.manager.spartamanager.SpartaManager;
import org.dromara.manager.spartamanager.enums.SpartaRecTypeEnum;
import org.dromara.manager.spartamanager.vo.ImageStreamResult;
import org.dromara.manager.spartamanager.vo.SpartaRecognizeVo;
import org.dromara.manager.spartamanager.vo.SpartaTargetVo;
import org.dromara.other.domain.dto.ys7deviceimg.OthYs7DeviceImgCreateByCapture;
@ -15,7 +17,9 @@ import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Date;
@ -110,4 +114,478 @@ public class SpartaTest {
log.info("识别结果: {}", img);
othYs7DeviceImgService.saveCapturePic(List.of(img));
}
@Test
public void test4() throws IOException, URISyntaxException {
String url = "http://xny.yj-3d.com:7363/file/tif/20250625160218orthophoto.png";
String targetStr = "[\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 344,\n" +
" 149\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3787,\n" +
" 3241\n" +
" ],\n" +
" \"score\": 0.9511\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 334,\n" +
" 147\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4276,\n" +
" 3590\n" +
" ],\n" +
" \"score\": 0.9498\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 330,\n" +
" 149\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3459,\n" +
" 3183\n" +
" ],\n" +
" \"score\": 0.9496\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 353,\n" +
" 148\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4226,\n" +
" 3714\n" +
" ],\n" +
" \"score\": 0.9495\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 339,\n" +
" 132\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4276,\n" +
" 2678\n" +
" ],\n" +
" \"score\": 0.9486\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 340,\n" +
" 145\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4565,\n" +
" 2982\n" +
" ],\n" +
" \"score\": 0.9486\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 335,\n" +
" 142\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3695,\n" +
" 3360\n" +
" ],\n" +
" \"score\": 0.9475\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 336,\n" +
" 145\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4446,\n" +
" 3357\n" +
" ],\n" +
" \"score\": 0.9473\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 338,\n" +
" 140\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4248,\n" +
" 2803\n" +
" ],\n" +
" \"score\": 0.9466\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 343,\n" +
" 155\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4565,\n" +
" 3769\n" +
" ],\n" +
" \"score\": 0.9464\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 346,\n" +
" 148\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4233,\n" +
" 2925\n" +
" ],\n" +
" \"score\": 0.9462\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 327,\n" +
" 159\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4000,\n" +
" 2484\n" +
" ],\n" +
" \"score\": 0.946\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 336,\n" +
" 145\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4906,\n" +
" 2908\n" +
" ],\n" +
" \"score\": 0.9457\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 339,\n" +
" 150\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3618,\n" +
" 3477\n" +
" ],\n" +
" \"score\": 0.9456\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 318,\n" +
" 147\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 5241,\n" +
" 3883\n" +
" ],\n" +
" \"score\": 0.9448\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 328,\n" +
" 147\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4934,\n" +
" 3702\n" +
" ],\n" +
" \"score\": 0.943\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 312,\n" +
" 142\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3633,\n" +
" 2557\n" +
" ],\n" +
" \"score\": 0.9428\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 340,\n" +
" 137\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4576,\n" +
" 2856\n" +
" ],\n" +
" \"score\": 0.9406\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 335,\n" +
" 138\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4316,\n" +
" 2548\n" +
" ],\n" +
" \"score\": 0.9398\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 345,\n" +
" 146\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4890,\n" +
" 3829\n" +
" ],\n" +
" \"score\": 0.9378\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 332,\n" +
" 153\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4126,\n" +
" 3304\n" +
" ],\n" +
" \"score\": 0.9371\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 325,\n" +
" 137\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3581,\n" +
" 2944\n" +
" ],\n" +
" \"score\": 0.9318\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 320,\n" +
" 145\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3879,\n" +
" 3123\n" +
" ],\n" +
" \"score\": 0.9304\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 343,\n" +
" 143\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4601,\n" +
" 3645\n" +
" ],\n" +
" \"score\": 0.9258\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 335,\n" +
" 142\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4673,\n" +
" 3528\n" +
" ],\n" +
" \"score\": 0.9255\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 312,\n" +
" 144\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4800,\n" +
" 3411\n" +
" ],\n" +
" \"score\": 0.923\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 337,\n" +
" 139\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4016,\n" +
" 3412\n" +
" ],\n" +
" \"score\": 0.9225\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 340,\n" +
" 141\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4605,\n" +
" 2729\n" +
" ],\n" +
" \"score\": 0.9191\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 298,\n" +
" 325\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3249,\n" +
" 2576\n" +
" ],\n" +
" \"score\": 0.9185\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 338,\n" +
" 156\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4537,\n" +
" 2451\n" +
" ],\n" +
" \"score\": 0.9118\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 334,\n" +
" 143\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4933,\n" +
" 2783\n" +
" ],\n" +
" \"score\": 0.9114\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 339,\n" +
" 141\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4464,\n" +
" 2308\n" +
" ],\n" +
" \"score\": 0.9107\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 343,\n" +
" 143\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3890,\n" +
" 3000\n" +
" ],\n" +
" \"score\": 0.9064\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 313,\n" +
" 139\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3593,\n" +
" 2810\n" +
" ],\n" +
" \"score\": 0.902\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 259,\n" +
" 131\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 4000,\n" +
" 2755\n" +
" ],\n" +
" \"score\": 0.8869\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 345,\n" +
" 149\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3901,\n" +
" 2864\n" +
" ],\n" +
" \"score\": 0.8841\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 345,\n" +
" 150\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 3945,\n" +
" 2610\n" +
" ],\n" +
" \"score\": 0.8632\n" +
" },\n" +
" {\n" +
" \"type\": \"pho\",\n" +
" \"size\": [\n" +
" 199,\n" +
" 110\n" +
" ],\n" +
" \"leftTopPoint\": [\n" +
" 5166,\n" +
" 3661\n" +
" ],\n" +
" \"score\": 0.8225\n" +
" }\n" +
" ]";
List<SpartaTargetVo> list = JSONUtil.toList(targetStr, SpartaTargetVo.class);
log.info("list:{}", list);
ImageStreamResult imageStreamResult = spartaManager.drawImageToStream(url, list);
log.info("imageStreamResult:{}", imageStreamResult);
try (OutputStream outputStream = new FileOutputStream("D:/images/save.png")) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = imageStreamResult.getInputStream().read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}
}
}