Browse Source

1. 修复高级上传图片路径不对问题

kindring 2 years ago
parent
commit
9f1ab76be3

+ 4 - 2
src/main/java/com/genersoft/iot/vmp/storager/impl/AiControlStorageImpl.java

@@ -27,7 +27,7 @@ public class AiControlStorageImpl implements IAiControlStorage {
 
     public PageInfo<AiAlarmData> searchAiAlarm(String startTime, String endTime, String order, String sort, int p, int l){
         PageHelper.startPage(p, l);
-        // 默认使用id进行desc降序
+        // 默认使用创建时间进行desc降序
         logger.info("search prop:{} order:{}",sort,order);
         if(sort == "createTime" || sort == "create"){
             sort = "createTime";
@@ -36,12 +36,14 @@ public class AiControlStorageImpl implements IAiControlStorage {
         }else if(order.contains("signal")){
             sort = "signal";
         }else{
-            sort = "alarmId";
+            sort = "createTime";
         }
         if(order.contains("asc")){
             order = "asc";
         }else if(order.contains("desc")){
             order = "desc";
+        }else{
+            order = "desc";
         }
         logger.info("search prop:{} order:{}",sort,order);
         // 确定开始时间

+ 3 - 5
src/main/java/com/genersoft/iot/vmp/vmanager/bean/BodyAiAlarm.java

@@ -3,8 +3,6 @@ package com.genersoft.iot.vmp.vmanager.bean;
 import io.swagger.v3.oas.annotations.media.Schema;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.List;
-
 public class BodyAiAlarm {
     @Schema(description = "设备id")
     private  String dev_id;
@@ -13,7 +11,7 @@ public class BodyAiAlarm {
     @Schema(description = "算法类型")
     private  String arithmetic;
     @Schema(description = "识别结果")
-    private  RecoInfo reco_info;
+    private  String reco_info;
 
     @Schema(description = "固件版本")
     private String firmware_version;
@@ -92,11 +90,11 @@ public class BodyAiAlarm {
         this.arithmetic = arithmetic;
     }
 
-    public RecoInfo getReco_info() {
+    public String getReco_info() {
         return reco_info;
     }
 
-    public void setReco_info(RecoInfo reco_info) {
+    public void setReco_info(String reco_info) {
         this.reco_info = reco_info;
     }
     public String getFirmware_version() {

+ 6 - 4
src/main/java/com/genersoft/iot/vmp/vmanager/bean/UploadService.java

@@ -71,14 +71,16 @@ public class UploadService {
         Date date = new Date();
         String nowDayString = sdf.format(date);
         String nowFileTimeString = fileSdf.format(date);
-        String devPath = baseUrl +"/"+ File.separator + deviceId;
-        String devDayPath = devPath +"/"+ File.separator + nowDayString;
+        String devPath = baseUrl + File.separator + deviceId;
+        String s_devPath = baseUrl + "/" + deviceId;
+        String devDayPath = devPath + File.separator + nowDayString;
+        String s_devDayPath = devPath + "/" + nowDayString;
         File devFile = new File(devPath);
         File devDayFile = new File(devDayPath);
         if(!devFile.exists()||!devDayFile.exists()){
             devDayFile.mkdirs();
         }
-        String resultFileField = devDayPath +"/"+ File.separator;
+        String resultFileField = s_devDayPath + "/";
         for (int i = 0; i < uploadFiles.size(); i++) {
             // 生成对应的文件名
             MultipartFile file = uploadFiles.get(i);
@@ -116,7 +118,7 @@ public class UploadService {
             fileNameList.add(rawStr);
         }else{
             for (int i = 0;i<temp.length;i++){
-                fileNameList.add(baseUrl+"/"+temp[i]);
+                fileNameList.add(baseUrl+""+temp[i]);
             }
         }
         return fileNameList;

+ 9 - 2
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/aiLib/AiControl.java

@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.vmanager.gb28181.aiLib;
 
+import com.alibaba.fastjson.JSON;
 import com.genersoft.iot.vmp.conf.SipConfig;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
 import com.genersoft.iot.vmp.vmanager.bean.*;
@@ -139,11 +140,17 @@ public class AiControl {
     @PostMapping("/alarm")
     @ResponseBody
     public WVPResult alarm(BodyAiAlarm bodyAiAlarm){
+        System.out.println("Received request body: " + bodyAiAlarm);
+        System.out.println("Received request body: " + bodyAiAlarm.getReco_info());
+        logger.info("body{}",bodyAiAlarm);
+        logger.info("devId:{}",bodyAiAlarm.getDev_id());
+        logger.info("results:{}",bodyAiAlarm.getReco_info());
         // ps upload 0-8 为兼容性集成,以防多文件上传
         String deviceId = bodyAiAlarm.getDev_id();
         String channelId = bodyAiAlarm.getChannelId();
         String arithmetic = bodyAiAlarm.getType();
-        List<AiAlarm> items = bodyAiAlarm.getReco_info().getResults();
+        Object recoInfo = JSON.parseObject(bodyAiAlarm.getReco_info()).get("results");
+        List<AiAlarm> items = new ArrayList<>();
         String firmware_version = bodyAiAlarm.getFirmware_version();
         String timestamp = bodyAiAlarm.getTimestamp();
         String battery = bodyAiAlarm.getBattery();
@@ -173,7 +180,7 @@ public class AiControl {
         if (deviceId==null||deviceId.isEmpty() || deviceId==""){
             return WVPResult.fail(ErrorCode.ERROR400.getCode(),"没有设备id");
         }
-        channelId = channelId.isEmpty()?"":channelId;
+        channelId = (channelId==null||channelId.isEmpty())?"":channelId;
         if(uploads.size() == 0){
             result.setCode(ErrorCode.ERROR400.getCode());
             result.setMsg("未接收到上传文件.待处理");

+ 3 - 0
参考文档/样例.md

@@ -0,0 +1,3 @@
+```
+{"dev_id":"","firmware_version":"2.0.0_2.0.0","timestamp":"1676012868","battery":"0.00","signal":"0dbm","temp_env":"255","temp_cpu":"255","type":"0","icharge":"0.0","iload":"0.0","vcharge":"0.0","reco_info":"{\"results\":[{\"msgid\":\"unknown\",\"track_id\":\"9\",\"uid\":\"-1\",\"x1\":867,\"y1\":142,\"x2\":1069,\"y2\":312,\"similarity\":1.99333}]}","zoom_rate":"0"}
+```