fuliqi
2024-08-08 01a30369e55a754c28dec4939a99e59aefecdc60
Merge remote-tracking branch 'origin/master'
4个文件已修改
2个文件已添加
402 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdMonitorResult.java 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/PyOsdResult.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/config/SecurityConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/feign/UYClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/SynPY/SynPYController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/UYTask.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdMonitorResult.java
@@ -1,10 +1,12 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.BaseResult;
import io.swagger.models.auth.In;
import lombok.Data;
import org.springframework.data.mongodb.core.index.TextIndexed;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
import java.util.List;
/**
@@ -17,111 +19,187 @@
@Document(collection = "uy_osd_monitor")
public class OsdMonitorResult extends BaseResult {
    /**
     * 区域路径信息
     */
    @TextIndexed
    private String arealayerPath;
    private Integer areaInfoFormat;
    /**
     * 区域名称
     * 辖区信息
     */
    @TextIndexed
    private String areaInfoMessage;
    /**
     * 行政区域
     */
    private String arealayername;
    /**
     * 区域编码
     */
    private String arealayerno;
    private Integer audited;
    /**
     * 审核时间
     */
    private Date auditedTime;
    private Integer cameraInfoFormat;
    /**
     * 摄像机信息
     */
    private String cameraInfoMessage;
    /**
     * 设备 ID
     */
    @TextIndexed
    private String deviceId;
    /**
     * 设备名称
     */
    @TextIndexed
    private String deviceName;
    /**
     * 图片上的字幕时间和摄像机拉码流时间差是否大于最大值
     * ip地址
     */
    private String diff;
    /**
     * 图片上的字幕时间和摄像机拉码流时间差,单位(秒), -1 表示未知
     */
    private Integer diffTime;
    /**
     * IP 地址
     */
    @TextIndexed
    private String ip;
    /**
     * 图片 ocr 识别结果
     */
    private OcrResult ocrResult;
    private Integer locationInfoFormat;
    /**
     * 图片地址
     * 地点信息
     */
    private String imgPath;
    private String locationInfoMessage;
    /**
     * 状态码,0:正常
     * ocr信息
     */
    private Integer statusCode;
    private String ocrMessage;
    /**
     * 图片上的字幕时间和摄像机拉码流时间差,单位(秒)
     * ocr状态
     */
    private String osdFormat;
    private Integer ocrStatus;
    /**
     * osd 信息
     * ocr识别时间
     */
    private OsdInfo osdInfo;
    private Date ocrTime;
    private Integer timeInfoFormat;
    /**
     * 图片上的字幕时间
     * 时间信息
     */
    private String osdTime;
    private Integer timeInfoMessage;
    /**
     * 摄像机标签
     */
    private List<String> tags;
    /**
     * 更新时间
     */
    private String updateTime;
    /**
     * 视频码流获取时间
     */
    private String videoGetTime;
    /**
     * OCR识别结果的内部类
     */
    @Data
    public static class OcrResult {
        private List<String> data;
    }
    /**
     * osd信息的内部类
     */
    @Data
    public static class OsdInfo {
        private String timeInfo;
        private String positionInfo;
        private String cameraInfo;
    }
//    /**
//     * 区域路径信息
//     */
//    @TextIndexed
//    private String arealayerPath;
//
//    /**
//     * 区域名称
//     */
//    @TextIndexed
//    private String arealayername;
//
//    /**
//     * 区域编码
//     */
//    private String arealayerno;
//
//    /**
//     * 设备 ID
//     */
//    @TextIndexed
//    private String deviceId;
//
//    /**
//     * 设备名称
//     */
//    @TextIndexed
//    private String deviceName;
//
//    /**
//     * 图片上的字幕时间和摄像机拉码流时间差是否大于最大值
//     */
//    private String diff;
//
//    /**
//     * 图片上的字幕时间和摄像机拉码流时间差,单位(秒), -1 表示未知
//     */
//    private Integer diffTime;
//
//    /**
//     * IP 地址
//     */
//    @TextIndexed
//    private String ip;
//
//    /**
//     * 图片 ocr 识别结果
//     */
//    private OcrResult ocrResult;
//
//    /**
//     * 图片地址
//     */
//    private String imgPath;
//
//    /**
//     * 状态码,0:正常
//     */
//    private Integer statusCode;
//
//    /**
//     * 图片上的字幕时间和摄像机拉码流时间差,单位(秒)
//     */
//    private String osdFormat;
//
//    /**
//     * osd 信息
//     */
//    private OsdInfo osdInfo;
//
//    /**
//     * 图片上的字幕时间
//     */
//    private String osdTime;
//
//    /**
//     * 摄像机标签
//     */
//    private List<String> tags;
//
//    /**
//     * 更新时间
//     */
//    private String updateTime;
//
//    /**
//     * 视频码流获取时间
//     */
//    private String videoGetTime;
//
//    /**
//     * OCR识别结果的内部类
//     */
//    @Data
//    public static class OcrResult {
//        private List<String> data;
//    }
//
//    /**
//     * osd信息的内部类
//     */
//    @Data
//    public static class OsdInfo {
//        private String timeInfo;
//        private String positionInfo;
//        private String cameraInfo;
//    }
}
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/PyOsdResult.java
New file
@@ -0,0 +1,144 @@
package com.ycl.platform.domain.result.UY;
import lombok.Data;
import org.springframework.data.mongodb.core.annotation.Collation;
/**
 * python获取osd数据
 *
 * @author:xp
 * @date:2024/8/8 19:35
 */
@Data
@Collation("py_osd")
public class PyOsdResult {
    /**
     * 国标码
     */
    private String deviceNo;
    /**
     * 杆体编码
     */
    private String bodyNo;
    /**
     * 设备类型
     */
    private String deviceType;
    /**
     * 时间格式
     */
    private String timeFormat;
    private String ODS1;
    private String ODS2;
    /**
     * ip
     */
    private String ip;
    /**
     * 省厅考核
     */
    private String provinceCheck;
    /**
     * 公安部考核
     */
    private String policeCheck;
    /**
     * 新IP
     */
    private String newIp;
    /**
     * ip状态
     */
    private String ipStatus;
    /**
     * 检测时间
     */
    private String checkTime;
    /**
     * OSD检测状态
     */
    private String checkStatus;
    /**
     * 标注时间
     */
    private String setTime;
    /**
     * osd1省
     */
    private String osd1Province;
    /**
     * osd1市
     */
    private String osd1City;
    /**
     * osd1区
     */
    private String osd1Part;
    /**
     * osd1 左下角
     */
    private String osd1LB;
    /**
     * osd1_osd
     */
    private String osd1OSD;
    /**
     * osd1_时间格式是否正确
     */
    private String osd1TimeFormat;
    /**
     * osd1_省设置
     */
    private String osd1ProvinceSet;
    /**
     * osd1_市设置
     */
    private String osd1CitySet;
    /**
     * osd1_区设置是否
     */
    private String osd1PartSet;
    /**
     * osd1_osd左下角设置是否正确
     */
    private String osd1OsdLbSet;
    /**
     * osd1_osd设置
     */
    private String osd1OsdSet;
    /**
     * osd1 时间格式
     */
    private String osd1TimeFormatSet;
    /**
     * ntp_server
     */
    private String ntpServer;
}
ycl-server/src/main/java/com/ycl/config/SecurityConfig.java
@@ -98,6 +98,8 @@
                .authorizeRequests()
                // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                .requestMatchers("/login", "/register", "/captchaImage").permitAll()
                // py推送psd数据接口
                .requestMatchers("/py/syn/osd").permitAll()
                // 静态资源,可匿名访问
                .requestMatchers(HttpMethod.GET, "/", "/*.html", "/*/*.html", "/*/*.css", "/*/*.js",  "/profile/**").permitAll()
                .requestMatchers("/swagger-ui.html", "/swagger-resources/*", "/webjars/*", "/*/api-docs", "/druid/*").permitAll()
ycl-server/src/main/java/com/ycl/feign/UYClient.java
@@ -50,7 +50,7 @@
     * osd标注信息
     * @return
     */
    @GetMapping("/videomon/api/v1/app/osdMonitor/list")
    @GetMapping("/videomon-ocr/api/v1/osd/format/list")
    JSONObject osdMonitorList(@SpringQueryMap OsdMonitorParam param, @RequestHeader("tenantId") String tenantId);
    /**
ycl-server/src/main/java/com/ycl/platform/controller/SynPY/SynPYController.java
New file
@@ -0,0 +1,31 @@
package com.ycl.platform.controller.SynPY;
import com.ycl.platform.domain.result.UY.PyOsdResult;
import com.ycl.system.Result;
import lombok.RequiredArgsConstructor;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author:xp
 * @date:2024/8/8 20:04
 */
@RequiredArgsConstructor
@RestController
@RequestMapping("/py/syn")
public class SynPYController {
    private final MongoTemplate mongoTemplate;
    @PostMapping("/osd")
    public Result pySynOSD(@RequestBody List<PyOsdResult> dataList) {
        mongoTemplate.insertAll(dataList);
        return Result.ok();
    }
}
ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -4,6 +4,9 @@
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.UYClient;
import com.ycl.platform.domain.param.UY.*;
import com.ycl.platform.domain.result.UY.OneMachineFileResult;
import com.ycl.platform.domain.result.UY.OsdMonitorResult;
import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
import com.ycl.platform.domain.result.UY.*;
import com.ycl.platform.service.ITMonitorService;
import com.ycl.platform.service.IYwThresholdService;
@@ -195,6 +198,8 @@
        //视频标注
        log.info("开始执行视频标注数据同步");
        OsdMonitorParam param = new OsdMonitorParam();
        param.setPageNum(ApiConstants.pageNo);
        param.setPageSize(ApiConstants.pageSize);
        JSONObject jsonObject = uyClient.osdMonitorList(param, tenantId);
        if (jsonObject != null) {
            log.info("数据格式" + jsonObject);