zhanghua
2022-09-26 22ec70f29b6431d4e773ccf529d82c586edafb23
视频点位管理
7个文件已修改
7个文件已添加
7 文件已重命名
1个文件已删除
325 ■■■■ 已修改文件
ycl-generator/src/main/java/com/ycl/MysqlGenerator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-generator/src/main/resources/mapper/video/VideoPointMapper.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/dict/DatabaseDictionaryController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/video/AlarmDataParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/video/CameraInfParam.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/video/VideoAlarmReport.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/video/VideoAlarmReportMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/video/VideoPointMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/videoAlarm/VideoAlarmReportMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/IVideoAlarmReportService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/impl/IVideoPointService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoPointServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/video/VideoAlarmReportMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-generator/src/main/java/com/ycl/MysqlGenerator.java
@@ -59,7 +59,7 @@
        GlobalConfig gc = new GlobalConfig();
        final String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/ycl-generator/src/main/java");
        gc.setAuthor("wl");//作者
        gc.setAuthor("zhanghua");//作者
        gc.setBaseResultMap(true); //mapper.xml 生成 ResultMap
        gc.setBaseColumnList(true); //mapper.xml 生成 ColumnList
//        gc.setSwagger2(true);
ycl-generator/src/main/resources/mapper/video/VideoPointMapper.xml
New file
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.mapper.video.VideoPointMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.entity.video.VideoPoint">
        <id column="id" property="id" />
        <result column="longitude" property="longitude" />
        <result column="latitude" property="latitude" />
        <result column="name" property="name" />
        <result column="plat_resource_id" property="platResourceId" />
        <result column="equipment_brand" property="equipmentBrand" />
        <result column="equipment_model" property="equipmentModel" />
        <result column="equipment_ip" property="equipmentIp" />
        <result column="url_address" property="urlAddress" />
        <result column="street_id" property="streetId" />
        <result column="community_id" property="communityId" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, longitude, latitude, name, plat_resource_id, equipment_brand, equipment_model, equipment_ip, url_address, street_id, community_id
    </sql>
</mapper>
ycl-platform/src/main/java/com/ycl/controller/dict/DatabaseDictionaryController.java
@@ -3,8 +3,8 @@
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
import com.ycl.entity.dict.DatabaseDictionary;
import com.ycl.service.dict.IDatabaseDictionaryService;
import com.ycl.entity.dict.DataDictionary;
import com.ycl.service.dict.IDataDictionaryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
@@ -28,18 +28,18 @@
@Api(tags = "字典模块")
public class DatabaseDictionaryController extends BaseController {
    @Resource
    private IDatabaseDictionaryService iDatabaseDictionaryService;
    private IDataDictionaryService iDatabaseDictionaryService;
    @GetMapping("/listAll")
    @ApiOperation("获取所有字典")
    private CommonResult<List<DatabaseDictionary>> listAll() {
    private CommonResult<List<DataDictionary>> listAll() {
        return CommonResult.success(iDatabaseDictionaryService.getAll());
    }
    @GetMapping("/queryByCode")
    @ApiOperation(("/根据code获取字段信息"))
    private CommonResult<DatabaseDictionary> queryByCode(@RequestParam(value = "code") String code){
        DatabaseDictionary databaseDictionary = iDatabaseDictionaryService.queryByCode(code);
        return CommonResult.success(databaseDictionary);
    private CommonResult<DataDictionary> queryByCode(@RequestParam(value = "code") String code){
        DataDictionary dataDictionary = iDatabaseDictionaryService.queryByCode(code);
        return CommonResult.success(dataDictionary);
    }
}
ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java
@@ -1,9 +1,9 @@
package com.ycl.controller.platformApi;
import com.ycl.api.CommonResult;
import com.ycl.dto.videoAlarm.AlarmParam;
import com.ycl.dto.video.AlarmParam;
import com.ycl.enums.common.ResultCode;
import com.ycl.service.videoAlarm.IVideoAlarmReportService;
import com.ycl.service.video.IVideoAlarmReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
ycl-platform/src/main/java/com/ycl/controller/video/VideoPointController.java
New file
@@ -0,0 +1,21 @@
package com.ycl.controller.video;
import com.ycl.controller.BaseController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 点位管理 前端控制器
 * </p>
 *
 * @author zhanghua
 * @since 2022-09-26
 */
@RestController
@RequestMapping("/video-point")
public class VideoPointController extends BaseController {
}
ycl-platform/src/main/java/com/ycl/dto/video/AlarmDataParam.java
File was renamed from ycl-platform/src/main/java/com/ycl/dto/videoAlarm/AlarmDataParam.java
@@ -1,4 +1,4 @@
package com.ycl.dto.videoAlarm;
package com.ycl.dto.video;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
ycl-platform/src/main/java/com/ycl/dto/video/AlarmParam.java
File was renamed from ycl-platform/src/main/java/com/ycl/dto/videoAlarm/AlarmParam.java
@@ -1,4 +1,4 @@
package com.ycl.dto.videoAlarm;
package com.ycl.dto.video;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
ycl-platform/src/main/java/com/ycl/dto/video/CameraInfParam.java
File was renamed from ycl-platform/src/main/java/com/ycl/dto/videoAlarm/CameraInfParam.java
@@ -1,7 +1,6 @@
package com.ycl.dto.videoAlarm;
package com.ycl.dto.video;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.models.auth.In;
import lombok.Data;
/**
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java
@@ -7,6 +7,8 @@
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -21,6 +23,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ums_base_case")
@Builder
public class BaseCase implements Serializable {
    private static final long serialVersionUID = 1L;
ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java
@@ -95,5 +95,10 @@
    @TableField("informant_id_card")
    private String informantIdCard;
    /**
     * 视频报警id
     */
    @TableField("video_alarm_report_id")
    private Integer videoAlarmReportId;
}
ycl-platform/src/main/java/com/ycl/entity/video/VideoAlarmReport.java
File was renamed from ycl-platform/src/main/java/com/ycl/entity/videoAlarm/VideoAlarmReport.java
@@ -1,4 +1,4 @@
package com.ycl.entity.videoAlarm;
package com.ycl.entity.video;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java
New file
@@ -0,0 +1,95 @@
package com.ycl.entity.video;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 点位管理
 * </p>
 *
 * @author zhanghua
 * @since 2022-09-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ums_video_point")
public class VideoPoint implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 点位经度
     */
    @TableField("longitude")
    private BigDecimal longitude;
    /**
     * 点位纬度
     */
    @TableField("latitude")
    private BigDecimal latitude;
    /**
     * 点位名称
     */
    @TableField("name")
    private String name;
    /**
     * 设备编码唯一
     */
    @TableField("plat_resource_id")
    private String platResourceId;
    /**
     * 设备品牌
     */
    @TableField("equipment_brand")
    private String equipmentBrand;
    /**
     * 设备型号
     */
    @TableField("equipment_model")
    private String equipmentModel;
    /**
     * 设备IP地址
     */
    @TableField("equipment_ip")
    private String equipmentIp;
    /**
     * URL地址
     */
    @TableField("url_address")
    private String urlAddress;
    /**
     * 街道id
     */
    @TableField("street_id")
    private Integer streetId;
    /**
     * 社区id
     */
    @TableField("community_id")
    private Integer communityId;
}
ycl-platform/src/main/java/com/ycl/mapper/video/VideoAlarmReportMapper.java
New file
@@ -0,0 +1,14 @@
package com.ycl.mapper.video;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.entity.video.VideoAlarmReport;
/**
 * VideoAlarmReportMapper
 *
 * @author: AI
 * @date:  2022-09-26 17:20
 * @version V1.0
**/
public interface VideoAlarmReportMapper extends BaseMapper<VideoAlarmReport> {
}
ycl-platform/src/main/java/com/ycl/mapper/video/VideoPointMapper.java
New file
@@ -0,0 +1,16 @@
package com.ycl.mapper.video;
import com.ycl.entity.video.VideoPoint;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 点位管理 Mapper 接口
 * </p>
 *
 * @author zhanghua
 * @since 2022-09-26
 */
public interface VideoPointMapper extends BaseMapper<VideoPoint> {
}
ycl-platform/src/main/java/com/ycl/mapper/videoAlarm/VideoAlarmReportMapper.java
File was deleted
ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java
@@ -2,6 +2,9 @@
import com.ycl.entity.caseHandler.Violations;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.video.VideoAlarmReport;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,13 @@
 */
public interface IViolationsService extends IService<Violations> {
    /**
     * 保存来自视频的报警数据
     *
     * @param videoAlarmReports
     * @return void
     * @author AI
     * @date 2022-09-26 17:25
     */
    void saveFromVideo(List<VideoAlarmReport> videoAlarmReports);
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -1,10 +1,14 @@
package com.ycl.service.caseHandler.impl;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.Violations;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.mapper.caseHandler.ViolationsMapper;
import com.ycl.service.caseHandler.IViolationsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +21,11 @@
@Service
public class ViolationsServiceImpl extends ServiceImpl<ViolationsMapper, Violations> implements IViolationsService {
    @Override
    public void saveFromVideo(List<VideoAlarmReport> videoAlarmReports) {
        for (VideoAlarmReport videoAlarmReport : videoAlarmReports) {
            BaseCase baseCase = BaseCase.builder().build();
        }
    }
}
ycl-platform/src/main/java/com/ycl/service/video/IVideoAlarmReportService.java
File was renamed from ycl-platform/src/main/java/com/ycl/service/videoAlarm/IVideoAlarmReportService.java
@@ -1,10 +1,8 @@
package com.ycl.service.videoAlarm;
package com.ycl.service.video;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.dto.videoAlarm.AlarmParam;
import com.ycl.entity.videoAlarm.VideoAlarmReport;
import java.util.List;
import com.ycl.dto.video.AlarmParam;
import com.ycl.entity.video.VideoAlarmReport;
/**
 * 视频报警推送记录表(UmsVideoAlarmReport)表服务接口
@@ -22,4 +20,5 @@
     * @date 2022-09-20 17:36
     */
    void save(AlarmParam alarmParam);
}
ycl-platform/src/main/java/com/ycl/service/video/impl/IVideoPointService.java
New file
@@ -0,0 +1,17 @@
package com.ycl.service.video.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.video.VideoPoint;
/**
 * <p>
 * 点位管理 服务类
 * </p>
 *
 * @author zhanghua
 * @since 2022-09-26
 */
interface IVideoPointService extends IService<VideoPoint> {
}
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
File was renamed from ycl-platform/src/main/java/com/ycl/service/videoAlarm/impl/VideoAlarmReportServiceImpl.java
@@ -1,32 +1,28 @@
package com.ycl.service.videoAlarm.impl;
package com.ycl.service.video.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.dto.media.Media;
import com.ycl.dto.media.PictureZoomParameter;
import com.ycl.dto.videoAlarm.AlarmDataParam;
import com.ycl.dto.videoAlarm.AlarmParam;
import com.ycl.dto.videoAlarm.CameraInfParam;
import com.ycl.entity.videoAlarm.VideoAlarmReport;
import com.ycl.mapper.videoAlarm.VideoAlarmReportMapper;
import com.ycl.service.videoAlarm.IVideoAlarmReportService;
import com.ycl.dto.video.AlarmDataParam;
import com.ycl.dto.video.AlarmParam;
import com.ycl.dto.video.CameraInfParam;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.mapper.video.VideoAlarmReportMapper;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.IVideoAlarmReportService;
import com.ycl.utils.MediaFileUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.xml.bind.DatatypeConverter;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * VideoAlarmReportServiceImpl
@@ -39,10 +35,16 @@
public class VideoAlarmReportServiceImpl extends ServiceImpl<VideoAlarmReportMapper, VideoAlarmReport> implements IVideoAlarmReportService {
    private MediaFileUtil mediaFileUtil;
    private IViolationsService violationsService;
    @Autowired
    public void setMediaFileUtil(MediaFileUtil mediaFileUtil) {
        this.mediaFileUtil = mediaFileUtil;
    }
    @Autowired
    public void setViolationsService(IViolationsService violationsService) {
        this.violationsService = violationsService;
    }
    @Override
@@ -58,7 +60,7 @@
            InputStream inputStream = new ByteArrayInputStream(data);
            try {
                picData = mediaFileUtil.savePicture(inputStream, extension);
                List<VideoAlarmReport> videoAlarmReports = new ArrayList<>();
                for (int i = 0; i < alarmParam.getAlarmData().size(); i++) {
                    AlarmDataParam alarmData = alarmParam.getAlarmData().get(i);
                    /******************** 处理图片 **********************/
@@ -75,11 +77,15 @@
                                .alarmId(alarmData.getAlarmID()).algoType(alarmData.getAlgoType())
                                .algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject()))
                                .build();
                        baseMapper.insert(videoAlarmReport);
                        videoAlarmReports.add(videoAlarmReport);
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                }
                this.saveBatch(videoAlarmReports, videoAlarmReports.size());
                violationsService.saveFromVideo(videoAlarmReports);
            } catch (Exception e) {
                e.printStackTrace();
            }
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoPointServiceImpl.java
New file
@@ -0,0 +1,19 @@
package com.ycl.service.video.impl;
import com.ycl.entity.video.VideoPoint;
import com.ycl.mapper.video.VideoPointMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 点位管理 服务实现类
 * </p>
 *
 * @author zhanghua
 * @since 2022-09-26
 */
@Service
public class VideoPointServiceImpl extends ServiceImpl<VideoPointMapper, VideoPoint> implements IVideoPointService {
}
ycl-platform/src/main/resources/mapper/video/VideoAlarmReportMapper.xml
File was renamed from ycl-platform/src/main/resources/mapper/videoAlarm/VideoAlarmReportMapper.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.mapper.videoAlarm.VideoAlarmReportMapper">
<mapper namespace="com.ycl.mapper.video.VideoAlarmReportMapper">
    <resultMap type="com.ycl.entity.videoAlarm.VideoAlarmReport" id="VideoAlarmReportMap">
    <resultMap type="com.ycl.entity.video.VideoAlarmReport" id="VideoAlarmReportMap">
        <result property="id" column="id"/>
        <result property="ip" column="ip"/>
        <result property="port" column="port"/>