Bläddra i källkod

2022年9月16日14:28:41

纪新园 2 år sedan
förälder
incheckning
68f8b2784c

+ 81 - 60
ruoyi-plugin/src/main/java/com/ruoyi/ccb/service/impl/CcbHttpServiceImpl.java

@@ -638,7 +638,7 @@ public class CcbHttpServiceImpl implements CcbHttpService {
         for (TWarehouseWebcam tWarehouseWebcam : tWarehouseWebcamList) {
             DeviceDetail deviceDetail = new DeviceDetail();
             deviceDetail.setDeviceName(tWarehouseWebcam.getDeviceName());
-            deviceDetail.setDeviceId(tWarehouseWebcam.getDeviceSerial());
+            deviceDetail.setDeviceId(tWarehouseWebcam.getDeviceSerial()+"::"+tWarehouseWebcam.getCode());
             deviceDetail.setValid(true);
             deviceDetail.setDeviceType("摄像头");
             deviceDetail.setDeviceAccessMethod("http请求");
@@ -663,17 +663,24 @@ public class CcbHttpServiceImpl implements CcbHttpService {
      */
     @Override
     public DeviceDetail findDeviceById(String deviceId) {
-        TWarehouseWebcam tWarehouseWebcam = ccbService.selectByDeviceId(deviceId);
+        String[] arr = deviceId.split("::");
         DeviceDetail detail = new DeviceDetail();
-        if (ObjectUtil.isNotNull(tWarehouseWebcam)){
-            detail.setDeviceName(tWarehouseWebcam.getDeviceName());
-            detail.setDeviceId(tWarehouseWebcam.getDeviceSerial());
-            detail.setValid(true);
-            detail.setDeviceType("摄像头");
-            detail.setDeviceAccessMethod("http请求");
-            detail.setDeviceAccessAddress("https://test.wms.tubaosoft.com/");
-            detail.setDeviceLocationCode(tWarehouseWebcam.getfWarehouseId() + "");
-            detail.setDeviceAccessCode(tWarehouseWebcam.getProjectId());
+
+        if (ObjectUtil.isNotNull(arr)){
+            TWarehouseWebcam tWarehouseWebcam = new TWarehouseWebcam();
+            tWarehouseWebcam.setDeviceSerial(arr[0]);
+            tWarehouseWebcam.setCode(arr[1]);
+            TWarehouseWebcam tWarehouseWebcam1 = ccbService.selectByDeviceId(tWarehouseWebcam);
+            if (ObjectUtil.isNotNull(tWarehouseWebcam1)){
+                detail.setDeviceName(tWarehouseWebcam1.getDeviceName());
+                detail.setDeviceId(tWarehouseWebcam1.getDeviceSerial());
+                detail.setValid(true);
+                detail.setDeviceType("摄像头");
+                detail.setDeviceAccessMethod("http请求");
+                detail.setDeviceAccessAddress("https://test.wms.tubaosoft.com/");
+                detail.setDeviceLocationCode(tWarehouseWebcam1.getfWarehouseId() + "");
+                detail.setDeviceAccessCode(tWarehouseWebcam1.getProjectId());
+            }
         }
         return detail;
     }
@@ -698,7 +705,7 @@ public class CcbHttpServiceImpl implements CcbHttpService {
             for (TWarehouseWebcam tWarehouseWebcam : tWarehouseWebcamList) {
                 DeviceDetail deviceDetail = new DeviceDetail();
                 deviceDetail.setDeviceName(tWarehouseWebcam.getDeviceName());
-                deviceDetail.setDeviceId(tWarehouseWebcam.getDeviceSerial());
+                deviceDetail.setDeviceId(tWarehouseWebcam.getDeviceSerial()+"::"+tWarehouseWebcam.getCode());
                 deviceDetail.setValid(true);
                 deviceDetail.setDeviceType("摄像头");
                 deviceDetail.setDeviceAccessMethod("http请求");
@@ -759,30 +766,37 @@ public class CcbHttpServiceImpl implements CcbHttpService {
                     try {
                         String authorization = Objects.requireNonNull(okHttpClient.newCall(request1).execute().body()).string();
                         JSONObject authorizationR = JSON.parseObject(authorization);
-                        if ("200".equals(authorizationR.get("code"))){
-                            Map<String, Object> rsp1 = new HashMap<>();
-
-                            rsp1.put("deviceSerial", deviceId);
-                            rsp1.put("projectId", "951186895306992");
-                            rsp1.put("channelNo", "");
-                            rsp1.put("videoLevel", "");
-                            rsp1.put("recordType", "");
-
-                            Request request2 = new Request.Builder()
-                                    .addHeader("access_token", result.get("access_token").toString())
-                                    .addHeader("Authorization",authorizationR.get("").toString())
-                                    .url(LiveBroadcast.VIDEO_WEB)
-                                    .method("post", RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
-                                    .post(RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
-                                    .build();
-
-                            System.out.println("请求数据=   " + JsonUtil.toJson(rsp1));
-                            try {
-                                 videoWeb = Objects.requireNonNull(okHttpClient.newCall(request2).execute().body()).string();
-                            } catch (IOException e) {
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                System.out.println("请求反馈异常," + e.getMessage());
-                                System.out.println("获取摄像头地址失败");
+                        if ("200".equals(authorizationR.get("code"))) {
+                            String[] arr = deviceId.split("::");
+                            if (ObjectUtil.isNotNull(arr)) {
+                                TWarehouseWebcam tWarehouseWebcam = new TWarehouseWebcam();
+                                tWarehouseWebcam.setDeviceSerial(arr[0]);
+                                tWarehouseWebcam.setCode(arr[1]);
+                                TWarehouseWebcam tWarehouseWebcam1 = ccbService.selectByDeviceId(tWarehouseWebcam);
+                                Map<String, Object> rsp1 = new HashMap<>();
+
+                                rsp1.put("deviceSerial", tWarehouseWebcam1.getDeviceSerial());
+                                rsp1.put("projectId", tWarehouseWebcam1.getProjectId());
+                                rsp1.put("channelNo", tWarehouseWebcam1.getCode());
+                                rsp1.put("videoLevel", "");
+                                rsp1.put("recordType", "");
+
+                                Request request2 = new Request.Builder()
+                                        .addHeader("access_token", result.get("access_token").toString())
+                                        .addHeader("Authorization", authorizationR.get("").toString())
+                                        .url(LiveBroadcast.VIDEO_WEB)
+                                        .method("post", RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
+                                        .post(RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
+                                        .build();
+
+                                System.out.println("请求数据=   " + JsonUtil.toJson(rsp1));
+                                try {
+                                    videoWeb = Objects.requireNonNull(okHttpClient.newCall(request2).execute().body()).string();
+                                } catch (IOException e) {
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    System.out.println("请求反馈异常," + e.getMessage());
+                                    System.out.println("获取摄像头地址失败");
+                                }
                             }
                         }
                     } catch (IOException e) {
@@ -850,30 +864,37 @@ public class CcbHttpServiceImpl implements CcbHttpService {
                     try {
                         String authorization = Objects.requireNonNull(okHttpClient.newCall(request1).execute().body()).string();
                         JSONObject authorizationR = JSON.parseObject(authorization);
-                        if ("200".equals(authorizationR.get("code"))){
-                            Map<String, Object> rsp1 = new HashMap<>();
-
-                            rsp1.put("deviceSerial", historyData.getDeviceId());
-                            rsp1.put("projectId", "951186895306992");
-                            rsp1.put("channelNo", "");
-                            rsp1.put("videoLevel", "");
-                            rsp1.put("recordType", "");
-
-                            Request request2 = new Request.Builder()
-                                    .addHeader("access_token", result.get("access_token").toString())
-                                    .addHeader("Authorization",authorizationR.get("").toString())
-                                    .url(LiveBroadcast.VIDEO_WEB)
-                                    .method("post", RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
-                                    .post(RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
-                                    .build();
-
-                            System.out.println("请求数据=   " + JsonUtil.toJson(rsp1));
-                            try {
-                                videoWeb = Objects.requireNonNull(okHttpClient.newCall(request2).execute().body()).string();
-                            } catch (IOException e) {
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                System.out.println("请求反馈异常," + e.getMessage());
-                                System.out.println("获取摄像头地址失败");
+                        if ("200".equals(authorizationR.get("code"))) {
+                            String[] arr = historyData.getDeviceId().split("::");
+                            if (ObjectUtil.isNotNull(arr)) {
+                                TWarehouseWebcam tWarehouseWebcam = new TWarehouseWebcam();
+                                tWarehouseWebcam.setDeviceSerial(arr[0]);
+                                tWarehouseWebcam.setCode(arr[1]);
+                                TWarehouseWebcam tWarehouseWebcam1 = ccbService.selectByDeviceId(tWarehouseWebcam);
+                                Map<String, Object> rsp1 = new HashMap<>();
+
+                                rsp1.put("deviceSerial", tWarehouseWebcam1.getDeviceSerial());
+                                rsp1.put("projectId", tWarehouseWebcam1.getProjectId());
+                                rsp1.put("channelNo", tWarehouseWebcam1.getCode());
+                                rsp1.put("videoLevel", "");
+                                rsp1.put("recordType", "");
+
+                                Request request2 = new Request.Builder()
+                                        .addHeader("access_token", result.get("access_token").toString())
+                                        .addHeader("Authorization", authorizationR.get("").toString())
+                                        .url(LiveBroadcast.VIDEO_WEB)
+                                        .method("post", RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
+                                        .post(RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), JsonUtil.toJson(rsp1)))
+                                        .build();
+
+                                System.out.println("请求数据=   " + JsonUtil.toJson(rsp1));
+                                try {
+                                    videoWeb = Objects.requireNonNull(okHttpClient.newCall(request2).execute().body()).string();
+                                } catch (IOException e) {
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    System.out.println("请求反馈异常," + e.getMessage());
+                                    System.out.println("获取摄像头地址失败");
+                                }
                             }
                         }
                     } catch (IOException e) {

+ 2 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TWarehouseWebcamMapper.java

@@ -23,10 +23,10 @@ public interface TWarehouseWebcamMapper {
     /**
      * 查询仓库摄像头
      *
-     * @param deviceSerial 设备序列号
+     * @param tWarehouseWebcam 设备
      * @return 仓库摄像头
      */
-    public TWarehouseWebcam selectTWarehouseWebcamByDeviceSerial(String deviceSerial);
+    public TWarehouseWebcam selectTWarehouseWebcamByDeviceSerial(TWarehouseWebcam tWarehouseWebcam);
 
     /**
      * 查询仓库摄像头列表

+ 4 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TWarehouseWebcamServiceImpl.java

@@ -67,7 +67,9 @@ public class TWarehouseWebcamServiceImpl implements ITWarehouseWebcamService {
      */
     @Override
     public TWarehouseWebcam selectTWarehouseWebcamByDeviceSerial(String deviceSerial) {
-        return tWarehouseWebcamMapper.selectTWarehouseWebcamByDeviceSerial(deviceSerial);
+        TWarehouseWebcam tWarehouseWebcam = new TWarehouseWebcam();
+        tWarehouseWebcam.setDeviceSerial(deviceSerial);
+        return tWarehouseWebcamMapper.selectTWarehouseWebcamByDeviceSerial(tWarehouseWebcam);
     }
 
     /**
@@ -158,7 +160,7 @@ public class TWarehouseWebcamServiceImpl implements ITWarehouseWebcamService {
     /**
      * 获取摄像头流地址
      *
-     * @param warehouseId 仓库ID
+     * @param fWarehouseId 仓库ID
      * @return 摄像头流地址集合
      */
     @Override

+ 2 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/IWarehouseBillsCcbService.java

@@ -131,9 +131,9 @@ public interface IWarehouseBillsCcbService {
     /**
      * 获取指定设备
      *
-     * @param deviceId 设备id
+     * @param tWarehouseWebcam 设备
      * @return 结果
      */
-    TWarehouseWebcam selectByDeviceId(String deviceId);
+    TWarehouseWebcam selectByDeviceId(TWarehouseWebcam tWarehouseWebcam);
 
 }

+ 3 - 3
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/WarehouseBillsCcbServiceImpl.java

@@ -387,12 +387,12 @@ public class WarehouseBillsCcbServiceImpl implements IWarehouseBillsCcbService {
     /**
      * 获取指定设备
      *
-     * @param deviceId 设备id
+     * @param tWarehouseWebcam 设备
      * @return 结果
      */
     @Override
-    public TWarehouseWebcam selectByDeviceId(String deviceId) {
-        return tWarehouseWebcamMapper.selectTWarehouseWebcamByDeviceSerial(deviceId);
+    public TWarehouseWebcam selectByDeviceId(TWarehouseWebcam tWarehouseWebcam) {
+        return tWarehouseWebcamMapper.selectTWarehouseWebcamByDeviceSerial(tWarehouseWebcam);
     }
 
 }

+ 4 - 2
ruoyi-warehouse/src/main/resources/mapper/basicData/TWarehouseWebcamMapper.xml

@@ -57,9 +57,11 @@
         where f_id = #{fId}
     </select>
 
-    <select id="selectTWarehouseWebcamByDeviceSerial" parameterType="String" resultMap="TWarehouseWebcamResult">
+    <select id="selectTWarehouseWebcamByDeviceSerial" parameterType="TWarehouseWebcam" resultMap="TWarehouseWebcamResult">
         <include refid="selectTWarehouseWebcamVo"/>
-        where device_serial = #{deviceSerial} and del_flag = '0'
+        where del_flag = '0'
+        <if test="deviceSerial != null  and deviceSerial != ''">and device_serial = #{deviceSerial}</if>
+        <if test="code != null  and code != ''">and code = #{code}</if>
     </select>
 
     <insert id="insertTWarehouseWebcam" parameterType="TWarehouseWebcam" useGeneratedKeys="true" keyProperty="fId">