瀏覽代碼

添加视频和图片关联

suntianwu 3 年之前
父節點
當前提交
ba2f9e9ff3

+ 2 - 2
src/main/java/com/iden/bms/service/FaceIdenService.java

@@ -225,8 +225,8 @@ public class FaceIdenService {
                                 idenFaceImage.setPhotographTime(DateUtils.strToDate(photographTime, "yyyyMMddHHmmss"));
                                 idenFaceImage.setPhotographTime(DateUtils.strToDate(photographTime, "yyyyMMddHHmmss"));
                                 idenFaceImage.setDataDate(photographTime.substring(0, 8));
                                 idenFaceImage.setDataDate(photographTime.substring(0, 8));
                                 if(imgFileName.contains("@")){
                                 if(imgFileName.contains("@")){
-                                    String videoId = imgFileName.substring(imgFileName.lastIndexOf("@") + 1, imgFileName.lastIndexOf("."));
-                                    idenFaceImage.setVideoId(Long.valueOf(videoId));
+                                    String vuid = imgFileName.substring(imgFileName.lastIndexOf("@") + 1, imgFileName.lastIndexOf("."));
+                                    idenFaceImage.setVuid(Long.valueOf(vuid));
                                 }
                                 }
 
 
                                 File finalDir = new File(imgFile.getParentFile().getAbsolutePath().replace("origin", "final"));
                                 File finalDir = new File(imgFile.getParentFile().getAbsolutePath().replace("origin", "final"));

+ 2 - 1
src/main/java/com/iden/bms/service/TraceService.java

@@ -246,8 +246,9 @@ public class TraceService {
                         }
                         }
                     }
                     }
                 }
                 }
+
                 QueryWrapper<IdenFaceImage> idenFaceImageQueryWrapper = new QueryWrapper<>();
                 QueryWrapper<IdenFaceImage> idenFaceImageQueryWrapper = new QueryWrapper<>();
-                idenFaceImageQueryWrapper.lambda().eq(IdenFaceImage::getVideoId,vo.getId())
+                idenFaceImageQueryWrapper.lambda().eq(IdenFaceImage::getVuid,vo.getVuid())
                         .eq(uid != null,IdenFaceImage::getUid,uid)
                         .eq(uid != null,IdenFaceImage::getUid,uid)
                         .orderByAsc(IdenFaceImage::getPhotographTime);
                         .orderByAsc(IdenFaceImage::getPhotographTime);
                 List<IdenFaceImage> idenFaceImageList = this.idenFaceImageService.list(idenFaceImageQueryWrapper);
                 List<IdenFaceImage> idenFaceImageList = this.idenFaceImageService.list(idenFaceImageQueryWrapper);

+ 3 - 3
src/main/java/com/iden/bms/service/VideoService.java

@@ -93,10 +93,10 @@ public class VideoService {
                                 }
                                 }
                                 logger.info("FaceIdenService.handleCameraVideo ...originImageDir == " + originImageDir.getAbsolutePath());
                                 logger.info("FaceIdenService.handleCameraVideo ...originImageDir == " + originImageDir.getAbsolutePath());
 
 
-                                Long videoId = redisUtil.generate(RedisKeyConstant.VIDEO_KEY);
+                                Long vuid = redisUtil.generate(RedisKeyConstant.VUID_KEY);
 
 
                                 //先把分解图片放入临时目录,临时目录下的文件重命名后移到原始目录等待图像识别
                                 //先把分解图片放入临时目录,临时目录下的文件重命名后移到原始目录等待图像识别
-                                Long duration = VideoTool.fetchAllPic(videoId,ffmpegPath, videoFile.getAbsolutePath(),finalDirTmp.getAbsolutePath(),originImageDir.getAbsolutePath(), shootEndTime);
+                                Long duration = VideoTool.fetchAllPic(vuid,ffmpegPath, videoFile.getAbsolutePath(),finalDirTmp.getAbsolutePath(),originImageDir.getAbsolutePath(), shootEndTime);
 
 
                                 File finalVideoDir = new File(videoFile.getParentFile().getAbsolutePath().replace("origin","final"));
                                 File finalVideoDir = new File(videoFile.getParentFile().getAbsolutePath().replace("origin","final"));
                                 if(!finalVideoDir.exists()){
                                 if(!finalVideoDir.exists()){
@@ -110,7 +110,7 @@ public class VideoService {
 
 
                                 //保存数据库
                                 //保存数据库
                                 IdenCameraVideo idenCameraVideo = new IdenCameraVideo();
                                 IdenCameraVideo idenCameraVideo = new IdenCameraVideo();
-                                idenCameraVideo.setId(videoId);
+                                idenCameraVideo.setVuid(vuid);
                                 idenCameraVideo.setVideoUrl(fileUrl + "camera/video/" + cameraCode + "/" + videoFileName);
                                 idenCameraVideo.setVideoUrl(fileUrl + "camera/video/" + cameraCode + "/" + videoFileName);
                                 idenCameraVideo.setCameraId(idenCamera.getId());
                                 idenCameraVideo.setCameraId(idenCamera.getId());
                                 idenCameraVideo.setCommunityId(idenCamera.getCommunityId());
                                 idenCameraVideo.setCommunityId(idenCamera.getCommunityId());

+ 1 - 1
src/main/java/com/iden/common/cache/RedisKeyConstant.java

@@ -32,6 +32,6 @@ public class RedisKeyConstant {
     public static final String PERSON_UPDATE = "PERSON:UPDATE";
     public static final String PERSON_UPDATE = "PERSON:UPDATE";
 
 
     public static final String UID_KEY = "UID_KEY";
     public static final String UID_KEY = "UID_KEY";
-    public static final String VIDEO_KEY = "VIDEO_KEY";
+    public static final String VUID_KEY = "VUID_KEY";
 
 
 }
 }

+ 3 - 0
src/main/java/com/iden/common/entity/IdenCameraVideo.java

@@ -35,6 +35,9 @@ public class IdenCameraVideo implements Serializable {
     @TableId(value = "ID", type = IdType.AUTO)
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
     private Long id;
 
 
+    @ApiModelProperty("唯一标识")
+    @TableField("VUID")
+    private Long vuid;
 
 
     @ApiModelProperty("视频名称")
     @ApiModelProperty("视频名称")
     @TableField("NAME")
     @TableField("NAME")

+ 3 - 3
src/main/java/com/iden/common/entity/IdenFaceImage.java

@@ -57,9 +57,9 @@ public class IdenFaceImage implements Serializable {
     @TableField("CAMERA_ID")
     @TableField("CAMERA_ID")
     private Long cameraId;
     private Long cameraId;
 
 
-    @ApiModelProperty("所属视频ID")
-    @TableField("VIDEO_ID")
-    private Long videoId;
+    @ApiModelProperty("所属视频VUID")
+    @TableField("VUID")
+    private Long vuid;
 
 
     @ApiModelProperty("小区ID")
     @ApiModelProperty("小区ID")
     @TableField("COMMUNITY_ID")
     @TableField("COMMUNITY_ID")

+ 4 - 4
src/main/java/com/iden/common/videotool/VideoTool.java

@@ -24,7 +24,7 @@ public class VideoTool {
      * @return
      * @return
      * @throws Exception
      * @throws Exception
      */
      */
-    public static Long fetchAllPic(Long videoId, String ffmpegPath,String videoFilePath, String saveTmpDir,String targetDir, Date shootEndTime) throws Exception {
+    public static Long fetchAllPic(Long vuid, String ffmpegPath,String videoFilePath, String saveTmpDir,String targetDir, Date shootEndTime) throws Exception {
         Long endTime = shootEndTime.getTime() ;
         Long endTime = shootEndTime.getTime() ;
 
 
         //ms
         //ms
@@ -40,12 +40,12 @@ public class VideoTool {
         Process proc = Runtime.getRuntime().exec(cmd);
         Process proc = Runtime.getRuntime().exec(cmd);
         proc.waitFor();
         proc.waitFor();
         log.info("fetchAllPic end");
         log.info("fetchAllPic end");
-        moveFile(videoId,beginTime,saveTmpDir,targetDir,framRate);
+        moveFile(vuid,beginTime,saveTmpDir,targetDir,framRate);
 
 
         return duration;
         return duration;
     }
     }
 
 
-    private static void moveFile(Long videoId, Long beginTime,String saveTmpDir,String targetDir, int framRate){
+    private static void moveFile(Long vuid, Long beginTime,String saveTmpDir,String targetDir, int framRate){
         log.info("moveFile start");
         log.info("moveFile start");
         File saveTmpDirFile = new File(saveTmpDir);
         File saveTmpDirFile = new File(saveTmpDir);
         File[] tmpFiles = FileUtil.sortByName(saveTmpDirFile.listFiles());
         File[] tmpFiles = FileUtil.sortByName(saveTmpDirFile.listFiles());
@@ -57,7 +57,7 @@ public class VideoTool {
                 String tmpFileName =  tmpFile.getName();
                 String tmpFileName =  tmpFile.getName();
                 String tmpFileExt = tmpFileName.substring(tmpFileName.lastIndexOf(".") + 1);
                 String tmpFileExt = tmpFileName.substring(tmpFileName.lastIndexOf(".") + 1);
                 long time = beginTime + (i * (1000/framRate));
                 long time = beginTime + (i * (1000/framRate));
-                String targetFileNam = DateUtils.formatToDateStr(new Date(time),"yyyyMMddHHmmss") + "_" + UUID.randomUUID().toString() + "@" + videoId + "." + tmpFileExt;
+                String targetFileNam = DateUtils.formatToDateStr(new Date(time),"yyyyMMddHHmmss") + "_" + UUID.randomUUID().toString() + "@" + vuid + "." + tmpFileExt;
                 File targetFile = new File(targetDir,targetFileNam);
                 File targetFile = new File(targetDir,targetFileNam);
                 log.info("tmpNewFile ==" + targetFile.getAbsolutePath());
                 log.info("tmpNewFile ==" + targetFile.getAbsolutePath());
                 tmpFile.renameTo(targetFile);
                 tmpFile.renameTo(targetFile);

+ 2 - 0
src/main/java/com/iden/common/vo/CameraVideoVO.java

@@ -26,6 +26,8 @@ public class CameraVideoVO implements Serializable {
 
 
     private Long id;
     private Long id;
 
 
+    @ApiModelProperty("唯一标识")
+    private Long vuid;
 
 
     @ApiModelProperty("视频名称")
     @ApiModelProperty("视频名称")
     private String name;
     private String name;

+ 2 - 2
src/main/java/com/iden/common/vo/FaceImageVO.java

@@ -37,8 +37,8 @@ public class FaceImageVO implements Serializable {
     private String image;
     private String image;
 
 
 
 
-    @ApiModelProperty("所属视频ID")
-    private Long videoId;
+    @ApiModelProperty("所属视频VUID")
+    private Long vuid;
 
 
     @ApiModelProperty("摄像头ID")
     @ApiModelProperty("摄像头ID")
     private Long cameraId;
     private Long cameraId;