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 <= #{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