From 03248551906304a182d489ad90654d72a491791c Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 29 三月 2024 22:55:09 +0800
Subject: [PATCH] Merge branch 'master' into dev/abl支持

---
 web_src/src/components/channelList.vue                                                                                            |   32 ++++++++++++---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java                                                   |   16 ++------
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java                                                    |   18 ++++-----
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java |    2 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java                                                       |    7 ---
 5 files changed, 39 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
index 61badd3..a054ae5 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
@@ -220,13 +220,8 @@
 	/**
 	 * 鐪嬪畧浣嶆帶鍒跺懡浠�
 	 *
-	 * @param device      瑙嗛璁惧
-	 * @param channelId      閫氶亾id锛岄潪閫氶亾鍒欐槸璁惧鏈韩
-	 * @param enabled     鐪嬪畧浣嶄娇鑳斤細1 = 寮�鍚紝0 = 鍏抽棴
-	 * @param resetTime   鑷姩褰掍綅鏃堕棿闂撮殧锛屽紑鍚湅瀹堜綅鏃朵娇鐢紝鍗曚綅:绉�(s)
-	 * @param presetIndex 璋冪敤棰勭疆浣嶇紪鍙凤紝寮�鍚湅瀹堜綅鏃朵娇鐢紝鍙栧�艰寖鍥�0~255
 	 */
-	void homePositionCmd(Device device, String channelId, String enabled, String resetTime, String presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException;
+	void homePositionCmd(Device device, String channelId, Boolean enabled, Integer resetTime, Integer presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException;
 
 	/**
 	 * 璁惧閰嶇疆鍛戒护
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 5233a73..14d496d 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -875,7 +875,7 @@
      * @param presetIndex 璋冪敤棰勭疆浣嶇紪鍙凤紝寮�鍚湅瀹堜綅鏃朵娇鐢紝鍙栧�艰寖鍥�0~255
      */
     @Override
-    public void homePositionCmd(Device device, String channelId, String enabled, String resetTime, String presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException {
+    public void homePositionCmd(Device device, String channelId, Boolean enabled, Integer resetTime, Integer presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException {
 
         StringBuffer cmdXml = new StringBuffer(200);
         String charset = device.getCharset();
@@ -889,18 +889,10 @@
             cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
         }
         cmdXml.append("<HomePosition>\r\n");
-        if (NumericUtil.isInteger(enabled) && (!enabled.equals("0"))) {
+        if (enabled) {
             cmdXml.append("<Enabled>1</Enabled>\r\n");
-            if (NumericUtil.isInteger(resetTime)) {
-                cmdXml.append("<ResetTime>" + resetTime + "</ResetTime>\r\n");
-            } else {
-                cmdXml.append("<ResetTime>0</ResetTime>\r\n");
-            }
-            if (NumericUtil.isInteger(presetIndex)) {
-                cmdXml.append("<PresetIndex>" + presetIndex + "</PresetIndex>\r\n");
-            } else {
-                cmdXml.append("<PresetIndex>0</PresetIndex>\r\n");
-            }
+            cmdXml.append("<ResetTime>" + resetTime + "</ResetTime>\r\n");
+            cmdXml.append("<PresetIndex>" + presetIndex + "</PresetIndex>\r\n");
         } else {
             cmdXml.append("<Enabled>0</Enabled>\r\n");
         }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java
index b2dd76b..23adac1 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java
@@ -248,7 +248,7 @@
             HomePositionRequest homePosition = loadElement(rootElement, HomePositionRequest.class);
             //鑾峰彇鏁翠釜娑堟伅涓讳綋锛屾垜浠彧闇�瑕佷慨鏀硅姹傚ご鍗冲彲
             HomePositionRequest.HomePosition info = homePosition.getHomePosition();
-            cmder.homePositionCmd(device, channelId, info.getEnabled(), info.getResetTime(), info.getPresetIndex(),
+            cmder.homePositionCmd(device, channelId, !"0".equals(info.getEnabled()), Integer.parseInt(info.getResetTime()), Integer.parseInt(info.getPresetIndex()),
                     errorResult -> onError(request, errorResult),
                     okResult -> onOk(request, okResult));
         } catch (Exception e) {
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
index 85f516a..2f5a589 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
@@ -13,7 +13,7 @@
 import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
-import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
+import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
 import io.swagger.v3.oas.annotations.Operation;
@@ -45,7 +45,7 @@
     private IVideoManagerStorage storager;
 
     @Autowired
-    private SIPCommander cmder;
+    private ISIPCommander cmder;
 
     @Autowired
     private DeferredResultHolder resultHolder;
@@ -254,15 +254,13 @@
 	@Operation(summary = "鐪嬪畧浣嶆帶鍒�", security = @SecurityRequirement(name = JwtUtils.HEADER))
 	@Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true)
 	@Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true)
-	@Parameter(name = "enabled", description = "鏄惁寮�鍚湅瀹堜綅 1:寮�鍚�,0:鍏抽棴", required = true)
+	@Parameter(name = "enabled", description = "鏄惁寮�鍚湅瀹堜綅", required = true)
 	@Parameter(name = "presetIndex", description = "璋冪敤棰勭疆浣嶇紪鍙�")
-	@Parameter(name = "resetTime", description = "鑷姩褰掍綅鏃堕棿闂撮殧")
-	@GetMapping("/home_position/{deviceId}/{enabled}")
-	public DeferredResult<String> homePositionApi(@PathVariable String deviceId,
-																@PathVariable String enabled,
-																@RequestParam(required = false) String resetTime,
-																@RequestParam(required = false) String presetIndex,
-                                                                String channelId) {
+	@Parameter(name = "resetTime", description = "鑷姩褰掍綅鏃堕棿闂撮殧 鍗曚綅锛氱")
+	@GetMapping("/home_position")
+	public DeferredResult<String> homePositionApi(String deviceId, String channelId, Boolean enabled,
+												  @RequestParam(required = false) Integer resetTime,
+												  @RequestParam(required = false) Integer presetIndex) {
         if (logger.isDebugEnabled()) {
 			logger.debug("鎶ヨ澶嶄綅API璋冪敤");
 		}
diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue
index a62805b..02e92e7 100755
--- a/web_src/src/components/channelList.vue
+++ b/web_src/src/components/channelList.vue
@@ -178,13 +178,24 @@
                          @click="changeSubchannel(scope.row)">鏌ョ湅
               </el-button>
               <el-divider v-if="scope.row.subCount > 0 || scope.row.parental === 1" direction="vertical"></el-divider>
-              <el-button size="medium" v-bind:disabled="device == null || device.online === 0"
-                         icon="el-icon-video-camera"
-                         type="text" @click="queryRecords(scope.row)">璁惧褰曞儚
-              </el-button>
-              <el-button size="medium" v-bind:disabled="device == null || device.online === 0" icon="el-icon-cloudy"
-                         type="text" @click="queryCloudRecords(scope.row)">浜戠褰曞儚
-              </el-button>
+<!--              <el-button size="medium" v-bind:disabled="device == null || device.online === 0"-->
+<!--                         icon="el-icon-video-camera"-->
+<!--                         type="text" @click="queryRecords(scope.row)">璁惧褰曞儚-->
+<!--              </el-button>-->
+<!--              <el-button size="medium" v-bind:disabled="device == null || device.online === 0" icon="el-icon-cloudy"-->
+<!--                         type="text" @click="queryCloudRecords(scope.row)">浜戠褰曞儚-->
+<!--              </el-button>-->
+              <el-dropdown @command="(command)=>{moreClick(command, scope.row)}">
+                <el-button size="medium" type="text" >
+                  鏇村鍔熻兘<i class="el-icon-arrow-down el-icon--right"></i>
+                </el-button>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item command="records" v-bind:disabled="device == null || device.online === 0">
+                    璁惧褰曞儚</el-dropdown-item>
+                  <el-dropdown-item command="cloudRecords" v-bind:disabled="device == null || device.online === 0" >
+                    浜戠褰曞儚</el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
             </template>
           </el-table-column>
         </el-table>
@@ -372,6 +383,13 @@
         // that.$message.error("璇锋眰瓒呮椂");
       });
     },
+    moreClick: function (command, itemData) {
+      if (command === "records") {
+        this.queryRecords(itemData)
+      }else if (command === "cloudRecords") {
+        this.queryCloudRecords(itemData)
+      }
+    },
     queryRecords: function (itemData) {
       let deviceId = this.deviceId;
       let channelId = itemData.channelId;

--
Gitblit v1.8.0