From 79f3ca9791bffe1ee7850432b8b432e8c5d7bf7e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 25 十月 2023 14:45:45 +0800
Subject: [PATCH] 优化收藏功能

---
 sql/初始化-mysql-2.6.9.sql                                                             |    1 
 src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java        |   24 +++--------
 src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java |   27 ++++---------
 sql/更新-postgresql-kingbase-2.6.9.sql                                                |    1 
 src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java                |    4 +-
 src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java      |   16 +------
 sql/更新-mysql-2.6.9.sql                                                              |    1 
 sql/初始化-postgresql-kingbase-2.6.9.sql                                               |    1 
 8 files changed, 20 insertions(+), 55 deletions(-)

diff --git "a/sql/\345\210\235\345\247\213\345\214\226-mysql-2.6.9.sql" "b/sql/\345\210\235\345\247\213\345\214\226-mysql-2.6.9.sql"
index 78f9e9a..bd8a4f5 100644
--- "a/sql/\345\210\235\345\247\213\345\214\226-mysql-2.6.9.sql"
+++ "b/sql/\345\210\235\345\247\213\345\214\226-mysql-2.6.9.sql"
@@ -280,7 +280,6 @@
                                   folder character varying(255),
                                   file_path character varying(255),
                                   collect bool default false,
-                                  reserve bool default false,
                                   file_size bigint,
                                   time_len bigint,
                                   constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
diff --git "a/sql/\345\210\235\345\247\213\345\214\226-postgresql-kingbase-2.6.9.sql" "b/sql/\345\210\235\345\247\213\345\214\226-postgresql-kingbase-2.6.9.sql"
index 97a3694..701fd76 100644
--- "a/sql/\345\210\235\345\247\213\345\214\226-postgresql-kingbase-2.6.9.sql"
+++ "b/sql/\345\210\235\345\247\213\345\214\226-postgresql-kingbase-2.6.9.sql"
@@ -280,7 +280,6 @@
                                   folder character varying(255),
                                   file_path character varying(255),
                                   collect bool default false,
-                                  reserve bool default false,
                                   file_size int8,
                                   time_len int8,
                                   constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
diff --git "a/sql/\346\233\264\346\226\260-mysql-2.6.9.sql" "b/sql/\346\233\264\346\226\260-mysql-2.6.9.sql"
index 15b9e27..f670ff3 100644
--- "a/sql/\346\233\264\346\226\260-mysql-2.6.9.sql"
+++ "b/sql/\346\233\264\346\226\260-mysql-2.6.9.sql"
@@ -19,7 +19,6 @@
       folder character varying(255),
       file_path character varying(255),
       collect bool default false,
-      reserve bool default false,
       file_size bigint,
       time_len bigint,
       constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
diff --git "a/sql/\346\233\264\346\226\260-postgresql-kingbase-2.6.9.sql" "b/sql/\346\233\264\346\226\260-postgresql-kingbase-2.6.9.sql"
index 9681052..8681c44 100644
--- "a/sql/\346\233\264\346\226\260-postgresql-kingbase-2.6.9.sql"
+++ "b/sql/\346\233\264\346\226\260-postgresql-kingbase-2.6.9.sql"
@@ -19,7 +19,6 @@
       folder character varying(255),
       file_path character varying(255),
       collect bool default false,
-      reserve bool default false,
       file_size int8,
       time_len int8,
       constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java b/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
index 1c1dba3..8da31e6 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
@@ -43,11 +43,11 @@
     /**
      * 鏀惰棌瑙嗛锛屾敹钘忕殑瑙嗛杩囨湡涓嶄細鍒犻櫎
      */
-    void changeCollect(String type, boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId, String collectType);
+    int changeCollect(boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId);
 
     /**
      * 娣诲姞鎸囧畾褰曞儚鏀惰棌
      */
-    void changeCollectById(Integer recordId, String collectType, boolean result);
+    int changeCollectById(Integer recordId, boolean result);
 
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
index 1a8adb1..2954cd8 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
@@ -166,7 +166,7 @@
     }
 
     @Override
-    public void changeCollect(String type, boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId, String collectType) {
+    public int changeCollect(boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId) {
         // 寮�濮嬫椂闂村拰缁撴潫鏃堕棿鍦ㄦ暟鎹簱涓兘鏄互绉掍负鍗曚綅鐨�
         Long startTimeStamp = null;
         Long endTimeStamp = null;
@@ -203,34 +203,24 @@
             throw new ControllerException(ErrorCode.ERROR100.getCode(), "鏈壘鍒板緟鏀惰棌鐨勮棰�");
         }
         int limitCount = 50;
+        int resultCount = 0;
         if (all.size() > limitCount) {
             for (int i = 0; i < all.size(); i += limitCount) {
                 int toIndex = i + limitCount;
                 if (i + limitCount > all.size()) {
                     toIndex = all.size();
                 }
-                if ("collect".equals(collectType)) {
-                    cloudRecordServiceMapper.updateCollectList(result, all.subList(i, toIndex));
-                }else  if ("reserve".equals(collectType)) {
-                    cloudRecordServiceMapper.updateReserveList(result, all.subList(i, toIndex));
-                }
+                resultCount += cloudRecordServiceMapper.updateCollectList(result, all.subList(i, toIndex));
 
             }
         }else {
-            if ("collect".equals(collectType)) {
-                cloudRecordServiceMapper.updateCollectList(result, all);
-            }else  if ("reserve".equals(collectType)) {
-                cloudRecordServiceMapper.updateReserveList(result, all);
-            }
+            resultCount = cloudRecordServiceMapper.updateCollectList(result, all);
         }
+        return resultCount;
     }
 
     @Override
-    public void changeCollectById(Integer recordId, String collectType, boolean result) {
-        if ("collect".equals(collectType)) {
-            cloudRecordServiceMapper.changeCollectById(result, recordId);
-        }else  if ("reserve".equals(collectType)) {
-            cloudRecordServiceMapper.changeReserveById(result, recordId);
-        }
+    public int changeCollectById(Integer recordId, boolean result) {
+       return cloudRecordServiceMapper.changeCollectById(result, recordId);
     }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
index f8ceaf4..5fdf2f5 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
@@ -79,7 +79,7 @@
             "update wvp_cloud_record set collect = #{collect} where file_path in " +
             " <foreach collection='cloudRecordItemList'  item='item'  open='(' separator=',' close=')' > #{item.filePath}</foreach>" +
             " </script>")
-    void updateCollectList(@Param("collect") boolean collect, List<CloudRecordItem> cloudRecordItemList);
+    int updateCollectList(@Param("collect") boolean collect, List<CloudRecordItem> cloudRecordItemList);
 
     @Delete(" <script>" +
             "delete from wvp_cloud_record where media_server_id=#{mediaServerId} file_path in " +
@@ -91,7 +91,7 @@
     @Select(" <script>" +
             "select file_path" +
             " from wvp_cloud_record " +
-            " where collect = false and reserve = false " +
+            " where collect = false " +
             " <if test= 'endTimeStamp != null '> and start_time &lt;= #{endTimeStamp}</if>" +
             " <if test= 'callId != null '> and call_id = #{callId}</if>" +
             " <if test= 'mediaServerId != null  ' > and media_server_id  = #{mediaServerId} </if>" +
@@ -99,18 +99,8 @@
     List<String> queryRecordFilePathListForDelete(@Param("endTimeStamp")Long endTimeStamp, String mediaServerId);
 
     @Update(" <script>" +
-            "update wvp_cloud_record set reserve = #{reserve} where file_path in " +
-            " <foreach collection='cloudRecordItems'  item='item'  open='(' separator=',' close=')' > #{item.filePath}</foreach>" +
-            " </script>")
-    void updateReserveList(@Param("reserve") boolean reserve,List<CloudRecordItem> cloudRecordItems);
-
-    @Update(" <script>" +
             "update wvp_cloud_record set collect = #{collect} where id = #{recordId} " +
             " </script>")
-    void changeCollectById(@Param("collect") boolean collect, @Param("recordId") Integer recordId);
+    int changeCollectById(@Param("collect") boolean collect, @Param("recordId") Integer recordId);
 
-    @Update(" <script>" +
-            "update wvp_cloud_record set reserve = #{reserve} where id = #{recordId} " +
-            " </script>")
-    void changeReserveById(@Param("reserve") boolean reserve, Integer recordId);
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java
index 48ff15a..1287bc3 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java
@@ -188,24 +188,20 @@
     @Parameter(name = "startTime", description = "閴存潈ID", required = false)
     @Parameter(name = "endTime", description = "閴存潈ID", required = false)
     @Parameter(name = "callId", description = "閴存潈ID", required = false)
-    @Parameter(name = "collectType", description = "鏀惰棌绫诲瀷, collect/reserve", required = false)
-    public void addCollect(
+    @Parameter(name = "recordId", description = "褰曞儚璁板綍鐨処D锛岀敤浜庣簿鍑嗘敹钘忎竴涓棰戞枃浠�", required = false)
+    public int addCollect(
             @RequestParam(required = false) String app,
             @RequestParam(required = false) String stream,
             @RequestParam(required = false) String mediaServerId,
             @RequestParam(required = false) String startTime,
             @RequestParam(required = false) String endTime,
             @RequestParam(required = false) String callId,
-            @RequestParam(required = false) String collectType,
             @RequestParam(required = false) Integer recordId
     ){
-        if (!"collect".equals(collectType) && !"reserve".equals(collectType)) {
-            collectType = "collect";
-        }
         if (recordId != null) {
-            cloudRecordService.changeCollectById(recordId, collectType, true);
+            return cloudRecordService.changeCollectById(recordId, true);
         }else {
-            cloudRecordService.changeCollect(collectType, true, app, stream, mediaServerId, startTime, endTime, callId, collectType);
+            return cloudRecordService.changeCollect(true, app, stream, mediaServerId, startTime, endTime, callId);
         }
     }
 
@@ -218,27 +214,20 @@
     @Parameter(name = "startTime", description = "閴存潈ID", required = false)
     @Parameter(name = "endTime", description = "閴存潈ID", required = false)
     @Parameter(name = "callId", description = "閴存潈ID", required = false)
-    @Parameter(name = "collectType", description = "鏀惰棌绫诲瀷, collect/reserve", required = false)
-    public void deleteCollect(
+    @Parameter(name = "recordId", description = "褰曞儚璁板綍鐨処D锛岀敤浜庣簿鍑嗙簿鍑嗙Щ闄や竴涓棰戞枃浠剁殑鏀惰棌", required = false)
+    public int deleteCollect(
             @RequestParam(required = false) String app,
             @RequestParam(required = false) String stream,
             @RequestParam(required = false) String mediaServerId,
             @RequestParam(required = false) String startTime,
             @RequestParam(required = false) String endTime,
             @RequestParam(required = false) String callId,
-            @RequestParam(required = false) String collectType,
             @RequestParam(required = false) Integer recordId
     ){
-        if (!"collect".equals(collectType) && !"reserve".equals(collectType)) {
-            collectType = "collect";
-        }
         if (recordId != null) {
-            cloudRecordService.changeCollectById(recordId, collectType, false);
+            return cloudRecordService.changeCollectById(recordId, false);
         }else {
-            cloudRecordService.changeCollect(collectType, false, app, stream, mediaServerId, startTime, endTime, callId, collectType);
+            return cloudRecordService.changeCollect(false, app, stream, mediaServerId, startTime, endTime, callId);
         }
     }
-
-
-
 }

--
Gitblit v1.8.0