diff --git a/storeroom/src/main/java/com/storeroom/modules/device/domain/CameraInfo.java b/storeroom/src/main/java/com/storeroom/modules/device/domain/CameraInfo.java new file mode 100644 index 0000000..63e0721 --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/domain/CameraInfo.java @@ -0,0 +1,60 @@ +package com.storeroom.modules.device.domain; + + +import com.storeroom.base.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Objects; + +@Entity +@Getter +@Setter +@Table(name = "camera_info") +public class CameraInfo extends BaseEntity implements Serializable { + + @Id + @Column(name = "id") + @NotNull(groups = BaseEntity.Update.class) + @ApiModelProperty(value = "ID", hidden = true) + private String id; + + @ManyToOne(targetEntity = DeviceCamerBind.class) + @ApiModelProperty(value = "设备配置") + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "device_camer_bind_id", referencedColumnName = "id") + private DeviceCamerBind deviceCamerBindId; + + + @Column(name = "description") + @ApiModelProperty(value = "描述") + private String description; + + + @Column(name = "event") + @ApiModelProperty(value = "事件") + private String event; + + @Column(name = "event") + @ApiModelProperty(value = "事件") + private String downloadLink; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CameraInfo that = (CameraInfo) o; + return Objects.equals(id, that.id) && Objects.equals(description, that.description) && Objects.equals(event, that.event) && Objects.equals(downloadLink, that.downloadLink); + } + + @Override + public int hashCode() { + return Objects.hash(id, description, event, downloadLink); + } +} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/domain/VideoMonitoring.java b/storeroom/src/main/java/com/storeroom/modules/device/domain/VideoMonitoring.java index c1d0b5c..6ccbdc4 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/domain/VideoMonitoring.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/domain/VideoMonitoring.java @@ -9,6 +9,7 @@ import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; +import javax.persistence.Table; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Objects; @@ -16,6 +17,7 @@ import java.util.Objects; @Entity @Getter @Setter +@Table(name = "video_monitoring") public class VideoMonitoring extends BaseEntity implements Serializable { @Id diff --git a/storeroom/src/main/java/com/storeroom/modules/device/repository/CameraInfoRepository.java b/storeroom/src/main/java/com/storeroom/modules/device/repository/CameraInfoRepository.java new file mode 100644 index 0000000..83fa6f7 --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/repository/CameraInfoRepository.java @@ -0,0 +1,8 @@ +package com.storeroom.modules.device.repository; + +import com.storeroom.modules.device.domain.CameraInfo; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +public interface CameraInfoRepository extends JpaRepository, JpaSpecificationExecutor { +} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/CameraInfoService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/CameraInfoService.java new file mode 100644 index 0000000..c3137ac --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/CameraInfoService.java @@ -0,0 +1,23 @@ +package com.storeroom.modules.device.service; + +import com.storeroom.modules.device.domain.CameraInfo; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public interface CameraInfoService { + + + /** + * 创建视频监控信息 + * @param cameraInfo + */ + void create(CameraInfo cameraInfo); + + /** + * 下载视频 + * @param response + * @throws IOException + */ + void downloadVideo(HttpServletResponse response) throws IOException; +} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/CameraInfoDto.java b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/CameraInfoDto.java new file mode 100644 index 0000000..6887b2b --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/CameraInfoDto.java @@ -0,0 +1,5 @@ +package com.storeroom.modules.device.service.dto; + +public class CameraInfoDto { + +} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceCamerBindCrieria.java b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceCamerBindCrieria.java index 8d6f0b4..f2bc962 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceCamerBindCrieria.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceCamerBindCrieria.java @@ -11,10 +11,16 @@ import java.util.List; public class DeviceCamerBindCrieria implements Serializable { - @Query(blurry = "storeroomName,timeSize,deviceName") + @Query(blurry = "storeroomName,deviceName") private String blurry; + @Query + private String timeSize; + + @Query(type = Query.Type.BETWEEN) private List createTime; + + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/CameraInfoServiceImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/CameraInfoServiceImpl.java new file mode 100644 index 0000000..6c11eb6 --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/CameraInfoServiceImpl.java @@ -0,0 +1,30 @@ +package com.storeroom.modules.device.service.impl; + +import com.storeroom.modules.device.domain.CameraInfo; +import com.storeroom.modules.device.repository.CameraInfoRepository; +import com.storeroom.modules.device.service.CameraInfoService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Service +@RequiredArgsConstructor +public class CameraInfoServiceImpl implements CameraInfoService { + + + private final CameraInfoRepository cameraInfoRepository; + + + @Override + public void create(CameraInfo cameraInfo) { + + + } + + @Override + public void downloadVideo(HttpServletResponse response) throws IOException { + + } +} diff --git a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/config/common/VideoClient.java b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/config/common/VideoClient.java index e394d5f..d1989ab 100644 --- a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/config/common/VideoClient.java +++ b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/config/common/VideoClient.java @@ -185,7 +185,7 @@ public class VideoClient { if (iLogonStatus == NVSSDK.LOGON_SUCCESS) { break; } - // tPlayback.PlaybackByTimespanMode(); + tPlayback.PlaybackByTimespanMode(); try { Thread.currentThread(); Thread.sleep(1000); @@ -312,7 +312,7 @@ public class VideoClient { NVSSDK.DOWNLOAD_CONTROL tControl = new NVSSDK.DOWNLOAD_CONTROL(); tControl.m_iSize = tControl.size(); tControl.m_iPosition = -1; - tControl.m_iSpeed = 16; + tControl.m_iSpeed = 5; tControl.m_iReqMode = 1; tControl.write(); NetClient.NetFileDownload(iConnID, m_iLogonID, NVSSDK.DOWNLOAD_CMD_CONTROL, tControl.getPointer(), tControl.size());