Parcourir la source

Merge remote-tracking branch 'origin/dev-2.15.0' into dev-2.15.0

wyb il y a 1 an
Parent
commit
13c23775e5

+ 20 - 3
src/main/java/com/chinaitop/depot/basic/mapper/MonitorCameraMapper.xml

@@ -26,6 +26,7 @@
26 26
     <result column="channel_number" property="channelNumber" jdbcType="VARCHAR" />
27 27
     <result column="isremove" property="isremove" jdbcType="VARCHAR" />
28 28
     <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
29
+    <result column="warn_time" property="warnTime" jdbcType="TIMESTAMP" />
29 30
     <result column="camera_index_code" property="cameraIndexCode" jdbcType="VARCHAR" />
30 31
     <result column="status" property="status" jdbcType="INTEGER" />
31 32
     <result column="status_name" property="statusName" jdbcType="VARCHAR" />
@@ -91,7 +92,7 @@
91 92
   <sql id="Base_Column_List" >
92 93
     id, org_id, nvr_id, name, alias, username, password, ip, subnetmask, gateway, type, 
93 94
     port, factory, live, model_number, serial_number, installation_site, installation_method, 
94
-    Irradiated_area, power_position, remark, channel_number, isremove, update_time,camera_index_code,status,status_name
95
+    Irradiated_area, power_position, remark, channel_number, isremove, update_time,warn_time,camera_index_code,status,status_name
95 96
   </sql>
96 97
   <select id="selectByExample" resultMap="BaseResultMap" parameterType="com.chinaitop.depot.basic.model.MonitorCameraExample" >
97 98
     select
@@ -140,7 +141,7 @@
140 141
       factory, live, model_number, 
141 142
       serial_number, installation_site, installation_method, 
142 143
       Irradiated_area, power_position, remark, 
143
-      channel_number, isremove, update_time,camera_index_code,status,status_name
144
+      channel_number, isremove, update_time,warn_time,camera_index_code,status,status_name
144 145
       )
145 146
     values (#{id,jdbcType=INTEGER}, #{orgId,jdbcType=VARCHAR}, #{nvrId,jdbcType=VARCHAR}, 
146 147
       #{name,jdbcType=VARCHAR}, #{alias,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR}, 
@@ -149,7 +150,9 @@
149 150
       #{factory,jdbcType=VARCHAR}, #{live,jdbcType=VARCHAR}, #{modelNumber,jdbcType=VARCHAR}, 
150 151
       #{serialNumber,jdbcType=VARCHAR}, #{installationSite,jdbcType=VARCHAR}, #{installationMethod,jdbcType=VARCHAR}, 
151 152
       #{irradiatedArea,jdbcType=VARCHAR}, #{powerPosition,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, 
152
-      #{channelNumber,jdbcType=VARCHAR}, #{isremove,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},#{cameraIndexCode},#{status},#{statusName}
153
+      #{channelNumber,jdbcType=VARCHAR}, #{isremove,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
154
+   #{warnTime,jdbcType=TIMESTAMP},
155
+ #{cameraIndexCode},#{status},#{statusName}
153 156
       )
154 157
   </insert>
155 158
   <insert id="insertSelective" parameterType="com.chinaitop.depot.basic.model.MonitorCamera" >
@@ -227,6 +230,9 @@
227 230
       <if test="updateTime != null" >
228 231
         update_time,
229 232
       </if>
233
+      <if test="warnTime != null" >
234
+        warn_time,
235
+      </if>
230 236
       <if test="cameraIndexCode != null" >
231 237
         camera_index_code,
232 238
       </if>
@@ -310,6 +316,9 @@
310 316
       <if test="updateTime != null" >
311 317
         #{updateTime,jdbcType=TIMESTAMP},
312 318
       </if>
319
+      <if test="warnTime != null" >
320
+        #{warnTime,jdbcType=TIMESTAMP},
321
+      </if>
313 322
       <if test="cameraIndexCode != null" >
314 323
         #{cameraIndexCode,jdbcType=VARCHAR},
315 324
       </if>
@@ -402,6 +411,9 @@
402 411
       <if test="record.updateTime != null" >
403 412
         update_time = #{record.updateTime,jdbcType=TIMESTAMP},
404 413
       </if>
414
+      <if test="record.warnTime != null" >
415
+        warn_time=#{record.warnTime,jdbcType=TIMESTAMP},
416
+      </if>
405 417
       <if test="record.cameraIndexCode != null" >
406 418
         camera_index_code=#{cameraIndexCode,jdbcType=VARCHAR},
407 419
       </if>
@@ -442,6 +454,7 @@
442 454
       channel_number = #{record.channelNumber,jdbcType=VARCHAR},
443 455
       isremove = #{record.isremove,jdbcType=VARCHAR},
444 456
       update_time = #{record.updateTime,jdbcType=TIMESTAMP},
457
+      warn_time=#{warnTime,jdbcType=TIMESTAMP},
445 458
     camera_index_code=#{cameraIndexCode,jdbcType=VARCHAR},
446 459
     status=#{status,jdbcType=INTEGER},
447 460
     status_name = #{statusName,jdbcType=VARCHAR}
@@ -521,6 +534,9 @@
521 534
       <if test="updateTime != null" >
522 535
         update_time = #{updateTime,jdbcType=TIMESTAMP},
523 536
       </if>
537
+      <if test="warnTime != null" >
538
+          warn_time=#{warnTime,jdbcType=TIMESTAMP},
539
+      </if>
524 540
       <if test="cameraIndexCode != null" >
525 541
         camera_index_code=#{cameraIndexCode,jdbcType=VARCHAR},
526 542
       </if>
@@ -560,6 +576,7 @@
560 576
       update_time = #{updateTime,jdbcType=TIMESTAMP},
561 577
         camera_index_code=#{cameraIndexCode,jdbcType=VARCHAR},
562 578
         status=#{status,jdbcType=INTEGER},
579
+        warn_time=#{warnTime,jdbcType=TIMESTAMP},
563 580
         status_name = #{statusName,jdbcType=VARCHAR}
564 581
     where id = #{id,jdbcType=INTEGER}
565 582
   </update>

+ 10 - 0
src/main/java/com/chinaitop/depot/basic/model/MonitorCamera.java

@@ -52,6 +52,8 @@ public class MonitorCamera implements Serializable {
52 52
 
53 53
     private Date updateTime;
54 54
 
55
+    private Date warnTime;
56
+
55 57
     private String storehouseId;
56 58
 
57 59
     private String cameraIndexCode;
@@ -90,6 +92,14 @@ public class MonitorCamera implements Serializable {
90 92
         this.statusName = statusName;
91 93
     }
92 94
 
95
+    public Date getWarnTime() {
96
+        return warnTime;
97
+    }
98
+
99
+    public void setWarnTime(Date warnTime) {
100
+        this.warnTime = warnTime;
101
+    }
102
+
93 103
     public String getCameraIndexCode() {
94 104
         return cameraIndexCode;
95 105
     }

+ 29 - 0
src/main/java/com/chinaitop/depot/monitor/controller/MonitorController.java

@@ -0,0 +1,29 @@
1
+package com.chinaitop.depot.monitor.controller;
2
+
3
+
4
+import com.chinaitop.depot.monitor.service.MonitorService;
5
+import io.swagger.annotations.Api;
6
+import io.swagger.annotations.ApiOperation;
7
+import org.springframework.web.bind.annotation.PostMapping;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RestController;
10
+
11
+import javax.annotation.Resource;
12
+
13
+@RestController
14
+@RequestMapping(value = "/MonitorInfo")
15
+@Api(tags = "摄像头")
16
+public class MonitorController {
17
+
18
+    @Resource
19
+    private MonitorService monitorService;
20
+
21
+
22
+
23
+    @PostMapping(value = "/updateMonitorStatus")
24
+    @ApiOperation(value = "定时更行", notes = "定时更行摄像头信息")
25
+    public void updateMonitorStatus(){
26
+        monitorService.updateMonitorStatus();
27
+    }
28
+
29
+}

+ 73 - 0
src/main/java/com/chinaitop/depot/monitor/controller/PreviewPlaybackController.java

@@ -0,0 +1,73 @@
1
+package com.chinaitop.depot.monitor.controller;
2
+
3
+import com.chinaitop.depot.hk.dto.req.PlaybackReqDTO;
4
+import com.chinaitop.depot.hk.dto.req.PreviewReqDTO;
5
+import com.chinaitop.depot.hk.dto.res.PlaybackResDTO;
6
+import com.chinaitop.depot.hk.dto.res.PreviewResDTO;
7
+import com.chinaitop.depot.hk.service.HkService;
8
+import io.swagger.annotations.Api;
9
+import io.swagger.annotations.ApiImplicitParam;
10
+import io.swagger.annotations.ApiImplicitParams;
11
+import io.swagger.annotations.ApiOperation;
12
+import org.springframework.http.MediaType;
13
+import org.springframework.web.bind.annotation.RequestBody;
14
+import org.springframework.web.bind.annotation.RequestMapping;
15
+import org.springframework.web.bind.annotation.RequestMethod;
16
+import org.springframework.web.bind.annotation.RestController;
17
+
18
+import javax.annotation.Resource;
19
+
20
+/**
21
+ * 视频预览回放
22
+ */
23
+@RestController
24
+@RequestMapping(value = "/previewPlayback")
25
+@Api(description = "预览回放")
26
+public class PreviewPlaybackController {
27
+
28
+    @Resource
29
+    private HkService hkService;
30
+
31
+    
32
+    /**
33
+     * 摄像头预览
34
+     * @param previewReqDTO
35
+     * @return
36
+     */
37
+    @RequestMapping(value="/getPreview", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
38
+    @ApiOperation(value="预览", notes = "预览")
39
+    @ApiImplicitParams({
40
+            @ApiImplicitParam(name = "{cameraIndexCode}", value = "监控点编号", paramType = "query")
41
+    })
42
+    public PreviewResDTO getAlarmPhone(PreviewReqDTO previewReqDTO) {
43
+        return hkService.previewURLs(previewReqDTO);
44
+    }
45
+    
46
+    
47
+    /**
48
+     * 摄像头回放
49
+     * @param playbackReqDTO
50
+     * @return
51
+     */
52
+    @RequestMapping(value="/getPlayback", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
53
+    @ApiOperation(value="回放", notes = "回放")
54
+    /*@ApiImplicitParams({
55
+            @ApiImplicitParam(name = "cameraIndexCode", value = "监控点唯一标识,分页获取监控点资源接口获取返回参数", paramType = "query"),
56
+            @ApiImplicitParam(name = "recordLocation", value = "存储类型, 0:中心存储, 1:设备存储 (默认为中心存储)", paramType = "query"),
57
+            @ApiImplicitParam(name = "protocol", value = "取流协议", paramType = "query"),
58
+            @ApiImplicitParam(name = "transmode", value = "传输协议,默认为TCP", paramType = "query"),
59
+            @ApiImplicitParam(name = "beginTime", value = "开始时间,ISO8601格式", paramType = "query"),
60
+            @ApiImplicitParam(name = "endTime", value = "结束时间,与开始时间相差不超过三天,ISO8601格式", paramType = "query"),
61
+            @ApiImplicitParam(name = "uuid", value = "分页查询id,用于继续查询剩余片段,默认为空字符串 (设备存储生效)", paramType = "query"),
62
+            @ApiImplicitParam(name = "uuid", value = "分页查询id,用于继续查询剩余片段,默认为空字符串 (设备存储生效)", paramType = "query"),
63
+            @ApiImplicitParam(name = "expand", value = "扩展内容,支持指定解码格式等,格式:key=value,多个以&隔开", paramType = "query"),
64
+            @ApiImplicitParam(name = "streamform", value = "输出码流转封装格式,默认为RTP ,ps", paramType = "query"),
65
+            @ApiImplicitParam(name = "lockType", value = "查询录像的锁定类型,默认查询全部录像 0  1未锁定 2锁定", paramType = "query")
66
+
67
+    })*/
68
+    public PlaybackResDTO getPlayback(PlaybackReqDTO playbackReqDTO) {
69
+        return hkService.playbackURLs(playbackReqDTO);
70
+    }
71
+
72
+    
73
+}

+ 1 - 1
src/main/java/com/chinaitop/depot/monitor/service/MonitorService.java

@@ -2,5 +2,5 @@ package com.chinaitop.depot.monitor.service;
2 2
 
3 3
 public interface MonitorService {
4 4
 
5
-   void UpdateMonitorStatus();
5
+   void updateMonitorStatus();
6 6
 }

+ 9 - 5
src/main/java/com/chinaitop/depot/monitor/service/impl/MonitorServiceImpl.java

@@ -5,16 +5,14 @@ import com.chinaitop.depot.basic.model.MonitorCameraExample;
5 5
 import com.chinaitop.depot.basic.service.MonitorCameraService;
6 6
 import com.chinaitop.depot.hk.dto.req.CameraReqDTO;
7 7
 import com.chinaitop.depot.hk.dto.res.CameraResDTO;
8
-import com.chinaitop.depot.hk.dto.res.ResultResDTO;
9 8
 import com.chinaitop.depot.hk.service.HkService;
10 9
 import com.chinaitop.depot.monitor.service.MonitorService;
11
-import com.chinaitop.depot.utils.ParameterUtil;
12
-import com.github.pagehelper.PageHelper;
13
-import com.github.pagehelper.PageInfo;
10
+
14 11
 import org.springframework.stereotype.Service;
15 12
 import org.springframework.transaction.annotation.Transactional;
16 13
 
17 14
 import javax.annotation.Resource;
15
+import java.util.Date;
18 16
 import java.util.List;
19 17
 
20 18
 @Service
@@ -28,22 +26,28 @@ public class MonitorServiceImpl implements MonitorService {
28 26
 
29 27
     @Transactional
30 28
     @Override
31
-    public void UpdateMonitorStatus() {
29
+    public void updateMonitorStatus() {
32 30
         //查询所有摄像头
33 31
         MonitorCameraExample example = new MonitorCameraExample();
34 32
         MonitorCameraExample.Criteria criteria = example.createCriteria();
35 33
         criteria.andIsremoveEqualTo("1");//默认加载未删除的数据
36 34
         List<MonitorCamera> list = cameraService.queryByExample(example);
37 35
         Integer status;
36
+
38 37
         if (!list.isEmpty()) {
39 38
             for (MonitorCamera camera : list) {
40 39
                 if(camera.getCameraIndexCode()!=null){
41 40
                     MonitorCamera monitorCamera =new MonitorCamera();
42 41
                     CameraResDTO resDTO= hkService.getCamera(new CameraReqDTO(camera.getCameraIndexCode()));
43 42
                     if(resDTO.getStatus()!=null){
43
+                        if("0".equals(resDTO.getStatus())){
44
+                            status=0;
45
+                            monitorCamera.setWarnTime(new Date());
46
+                        }
44 47
                         status=Integer.parseInt(resDTO.getStatus());
45 48
                     }else{
46 49
                         status=0;
50
+
47 51
                     }
48 52
                     monitorCamera.setId(camera.getId());
49 53
                     monitorCamera.setStatus(status) ;

+ 0 - 15
src/main/java/com/chinaitop/depot/monitor/timer/MonitorRunner.java

@@ -1,15 +0,0 @@
1
-package com.chinaitop.depot.monitor.timer;
2
-
3
-import com.chinaitop.depot.monitor.service.MonitorService;
4
-
5
-import javax.annotation.Resource;
6
-
7
-public class MonitorRunner implements Runnable{
8
-
9
-    @Resource
10
-   private MonitorService monitorService;
11
-    @Override
12
-    public void run() {
13
-        monitorService.UpdateMonitorStatus();
14
-    }
15
-}