zhanghua
2022-12-12 fd071f321fb967f36cf795fc40b4f2e87e89e69d
预警研判
5个文件已修改
85 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/casePool/BaseCaseVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -42,7 +42,7 @@
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.util.resources.cldr.dyo.LocaleNames_dyo;
import javax.annotation.Resource;
import java.math.BigDecimal;
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -63,6 +63,7 @@
            baseCaseService.save(baseCase);
            violations.setId(baseCase.getId());
            violations.setVideoAlarmReportId(videoAlarmReport.getId());
            violations.setVideoPointId(videoPoint.getId());
            baseMapper.insert(violations);
        }
    }
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.dto.video.AlarmDataParam;
import com.ycl.dto.video.AlarmParam;
@@ -55,10 +56,10 @@
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
            String picData = "";
            if (!StringUtils.isEmpty(alarmParam.getPicData())) {
                String[] strings = alarmParam.getPicData().split(",");
//                String[] strings = alarmParam.getPicData().split(",");
                String extension = "jpg";
                byte[] data = DatatypeConverter.parseBase64Binary(strings[1]);
                byte[] data = DatatypeConverter.parseBase64Binary(alarmParam.getPicData());
                InputStream inputStream = new ByteArrayInputStream(data);
                try {
                    picData = mediaFileUtil.savePicture(inputStream, extension);
@@ -67,14 +68,13 @@
                }
            }
            List<VideoAlarmReport> videoAlarmReports = new ArrayList<>();
//                for (int i = 0; i < alarmParam.getAlarmData().size(); i++) {
            AlarmDataParam alarmData = alarmParam.getAlarmData();
            /******************** 处理图片 **********************/
            List<VideoAlarmReport> list = getByAlarmId(alarmData.getAlarmID());
            try {
                Date date = sdf.parse(alarmData.getAlarmTime());
                Instant instant = date.toInstant();
                ZoneId zoneId = ZoneId.systemDefault();
                VideoAlarmReport videoAlarmReport = VideoAlarmReport.builder()
                        .ip(cameraInf.getIp()).port(cameraInf.getPort())
                        .user(cameraInf.getUser()).password(cameraInf.getPassword())
@@ -83,16 +83,26 @@
                        .alarmId(alarmData.getAlarmID()).algoType(alarmData.getAlgoType())
                        .algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject()))
                        .build();
                videoAlarmReports.add(videoAlarmReport);
                if (list.size() == 0) {
                    videoAlarmReports.add(videoAlarmReport);
                    this.saveBatch(videoAlarmReports, videoAlarmReports.size());
                    violationsService.saveFromVideo(videoAlarmReports);
                } else {
                    videoAlarmReport.setId(list.get(0).getId());
                    this.updateById(videoAlarmReport);
                }
            } catch (ParseException e) {
                e.printStackTrace();
            }
//                }
            this.saveBatch(videoAlarmReports, videoAlarmReports.size());
            violationsService.saveFromVideo(videoAlarmReports);
        }
    }
    private List<VideoAlarmReport> getByAlarmId(String alarmId) {
        LambdaQueryWrapper<VideoAlarmReport> queryWrapper = new LambdaQueryWrapper<VideoAlarmReport>().eq(VideoAlarmReport::getAlarmId, alarmId);
        return this.list(queryWrapper);
    }
}
ycl-platform/src/main/java/com/ycl/vo/casePool/BaseCaseVO.java
@@ -17,7 +17,14 @@
    private String picData;
    private String grade;
    private String address;
    private String algoName;
    private String platResourceId;
    private String videoCode;
    @JsonFormat(timezone = "GMT",pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alarmTime;
    @JsonFormat(timezone = "GMT",pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime currentAlarmTime;
}
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -229,16 +229,20 @@
    </select>
    <select id="selectVideoInspection" resultType="com.ycl.vo.casePool.BaseCaseVO">
        SELECT t1.id            as baseId,
        SELECT t1.id               as baseId,
               t1.`code`,
               t3.`name`,
               t3.url_address,
               t3.longitude,
               t3.latitude,
               t4.pic_data,
               t5.`name`        as grade,
               t5.`name`           as grade,
               t3.address,
               t1.alarm_time    as alarmTime
               t3.plat_resource_id as platResourceId,
               t3.code             as videoCode,
               t1.alarm_time       as alarmTime,
               t1.alarm_time       as currentAlarmTime,
               t4.algo_name        as algoName
        FROM ums_base_case t1
                 LEFT JOIN ums_violations t2 ON t1.id = t2.id
                 LEFT JOIN ums_video_point t3 on t2.video_point_id = t3.id
@@ -251,7 +255,8 @@
    <select id="selectRegisterCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state in(2,6) and to_days(create_time) = TO_DAYS(now());
        where state in (2, 6)
          and to_days(create_time) = TO_DAYS(now());
    </select>
    <select id="dayCount" resultType="java.lang.Integer">
@@ -295,7 +300,7 @@
        <where>
            t1.category=1
            <if test="beginTime !=''and beginTime!=null and endTime!=''and endTime!=null">
              and  t1.create_time BETWEEN #{beginTime}
                and t1.create_time BETWEEN #{beginTime}
                AND #{endTime}
            </if>
@@ -303,27 +308,25 @@
    </select>
    <select id="areaCount" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT
            t2.region_name,
            COUNT( 1 ) AS count
        SELECT t2.region_name,
               COUNT(1) AS count
        FROM
            `ums_base_case` t1
            LEFT JOIN ums_sccg_region t2 ON t1.street_id = t2.id
            LEFT JOIN ums_sccg_region t2
        ON t1.street_id = t2.id
        GROUP BY
            street_id
    </select>
    <select id="selectDelayVOList" resultType="com.ycl.dto.cockpitManage.DelayDO">
        SELECT
            t1.`code`,
            t3.description,
            t2.start_time,
            t2.end_time,
            t2.limit_time
        FROM
            `ums_base_case` t1
                LEFT JOIN ums_dispose_record t2 ON t1.id = t2.base_case_id
                LEFT JOIN ums_violations t3 on t1.id=t3.id
        WHERE t2.workflow_config_step_id IN (1,2)
        SELECT t1.`code`,
               t3.description,
               t2.start_time,
               t2.end_time,
               t2.limit_time
        FROM `ums_base_case` t1
                 LEFT JOIN ums_dispose_record t2 ON t1.id = t2.base_case_id
                 LEFT JOIN ums_violations t3 on t1.id = t3.id
        WHERE t2.workflow_config_step_id IN (1, 2)
    </select>
</mapper>