suntianwu vor 3 Jahren
Ursprung
Commit
02115d8446
1 geänderte Dateien mit 26 neuen und 7 gelöschten Zeilen
  1. 26 7
      src/main/java/com/iden/bms/service/TraceService.java

+ 26 - 7
src/main/java/com/iden/bms/service/TraceService.java

@@ -12,7 +12,6 @@ import com.iden.common.util.DateUtils;
 import com.iden.common.util.ImgUtil;
 import com.iden.common.vo.TraceVO;
 import com.iden.common.vo.UserLogindConvertVO;
-import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -22,6 +21,7 @@ import javax.annotation.Resource;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
@@ -80,6 +80,15 @@ public class TraceService {
      * @return
              */
     public List<TraceVO> listUploadImagesTrace(String images, String beginTime, String endTime, UserLogindConvertVO loginUser) {
+        Date dateBegin = null;
+        if(StringUtils.isNotEmpty(beginTime)){
+            dateBegin  = DateUtils.strToDate(beginTime,"yyyy-MM-dd HH:mm:ss");
+        }
+        Date dateEnd = null;
+        if(StringUtils.isNotEmpty(endTime)){
+            dateEnd  = DateUtils.strToDate(endTime,"yyyy-MM-dd HH:mm:ss");
+        }
+
         if(images.endsWith(",")) {
             images = images.substring(0, images.length() - 1);
         }
@@ -97,7 +106,7 @@ public class TraceService {
 
         //初始化引擎,加载摄像头上传的图像人脸特征库
         File cameraImageDirFile = new File(idenRoot + "data/final/camera/image");
-        File[] cameraImageFiles = getCameraImageFiles(cameraImageDirFile);
+        File[] cameraImageFiles = getCameraImageFiles(cameraImageDirFile,dateBegin,dateEnd);
         FaceMonitor faceMonitorCamera = FaceIdenTool.initFaceMonitor(idenRoot,cameraImageFiles);
 
         List<TraceVO> result = new ArrayList<>();
@@ -115,19 +124,29 @@ public class TraceService {
         return result;
     }
 
-    private File[] getCameraImageFiles(File cameraImageDirFile) {
-        File[] resuit = new File[]{};
+    private File[] getCameraImageFiles(File cameraImageDirFile,Date dateBegin, Date dateEnd) {
+        List<File> list = new ArrayList<>();
 
         File[] cameraCodeDirFiles = cameraImageDirFile.listFiles();
         if (cameraCodeDirFiles != null && cameraCodeDirFiles.length > 0){
             for (File cameraCodeDirFile : cameraCodeDirFiles) {
                 File[] cameraImageFiles = cameraCodeDirFile.listFiles();
                 if (cameraImageFiles != null && cameraImageFiles.length > 0){
-                    resuit =  ArrayUtils.addAll(resuit,cameraImageFiles);
+                    for (File cameraImageFile : cameraImageFiles){
+                        String photographTime = cameraImageFile.getName().substring(0, cameraImageFile.getName().indexOf("_"));
+                        Date photographDate = DateUtils.strToDate(photographTime,"yyyyMMddHHmmss");
+                        if(dateBegin != null && photographDate.before(dateBegin)){
+                            continue;
+                        }
+                        if(dateEnd != null && photographDate.after(dateEnd)){
+                            continue;
+                        }
+                        list.add(cameraImageFile);
+                    }
                 }
-
             }
         }
-        return resuit;
+        File[] resuit = new File[list.size()];
+        return list.toArray(resuit);
     }
 }