Commit 79f3ca9791bffe1ee7850432b8b432e8c5d7bf7e

Authored by 648540858
1 parent cccfdace

优化收藏功能

sql/初始化-mysql-2.6.9.sql
@@ -280,7 +280,6 @@ create table wvp_cloud_record ( @@ -280,7 +280,6 @@ create table wvp_cloud_record (
280 folder character varying(255), 280 folder character varying(255),
281 file_path character varying(255), 281 file_path character varying(255),
282 collect bool default false, 282 collect bool default false,
283 - reserve bool default false,  
284 file_size bigint, 283 file_size bigint,
285 time_len bigint, 284 time_len bigint,
286 constraint uk_stream_push_app_stream_path unique (app, stream, file_path) 285 constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
sql/初始化-postgresql-kingbase-2.6.9.sql
@@ -280,7 +280,6 @@ create table wvp_cloud_record ( @@ -280,7 +280,6 @@ create table wvp_cloud_record (
280 folder character varying(255), 280 folder character varying(255),
281 file_path character varying(255), 281 file_path character varying(255),
282 collect bool default false, 282 collect bool default false,
283 - reserve bool default false,  
284 file_size int8, 283 file_size int8,
285 time_len int8, 284 time_len int8,
286 constraint uk_stream_push_app_stream_path unique (app, stream, file_path) 285 constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
sql/更新-mysql-2.6.9.sql
@@ -19,7 +19,6 @@ create table wvp_cloud_record ( @@ -19,7 +19,6 @@ create table wvp_cloud_record (
19 folder character varying(255), 19 folder character varying(255),
20 file_path character varying(255), 20 file_path character varying(255),
21 collect bool default false, 21 collect bool default false,
22 - reserve bool default false,  
23 file_size bigint, 22 file_size bigint,
24 time_len bigint, 23 time_len bigint,
25 constraint uk_stream_push_app_stream_path unique (app, stream, file_path) 24 constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
sql/更新-postgresql-kingbase-2.6.9.sql
@@ -19,7 +19,6 @@ create table wvp_cloud_record ( @@ -19,7 +19,6 @@ create table wvp_cloud_record (
19 folder character varying(255), 19 folder character varying(255),
20 file_path character varying(255), 20 file_path character varying(255),
21 collect bool default false, 21 collect bool default false,
22 - reserve bool default false,  
23 file_size int8, 22 file_size int8,
24 time_len int8, 23 time_len int8,
25 constraint uk_stream_push_app_stream_path unique (app, stream, file_path) 24 constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
@@ -43,11 +43,11 @@ public interface ICloudRecordService { @@ -43,11 +43,11 @@ public interface ICloudRecordService {
43 /** 43 /**
44 * 收藏视频,收藏的视频过期不会删除 44 * 收藏视频,收藏的视频过期不会删除
45 */ 45 */
46 - void changeCollect(String type, boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId, String collectType); 46 + int changeCollect(boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId);
47 47
48 /** 48 /**
49 * 添加指定录像收藏 49 * 添加指定录像收藏
50 */ 50 */
51 - void changeCollectById(Integer recordId, String collectType, boolean result); 51 + int changeCollectById(Integer recordId, boolean result);
52 52
53 } 53 }
src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
@@ -166,7 +166,7 @@ public class CloudRecordServiceImpl implements ICloudRecordService { @@ -166,7 +166,7 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
166 } 166 }
167 167
168 @Override 168 @Override
169 - public void changeCollect(String type, boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId, String collectType) { 169 + public int changeCollect(boolean result, String app, String stream, String mediaServerId, String startTime, String endTime, String callId) {
170 // 开始时间和结束时间在数据库中都是以秒为单位的 170 // 开始时间和结束时间在数据库中都是以秒为单位的
171 Long startTimeStamp = null; 171 Long startTimeStamp = null;
172 Long endTimeStamp = null; 172 Long endTimeStamp = null;
@@ -203,34 +203,24 @@ public class CloudRecordServiceImpl implements ICloudRecordService { @@ -203,34 +203,24 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
203 throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到待收藏的视频"); 203 throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到待收藏的视频");
204 } 204 }
205 int limitCount = 50; 205 int limitCount = 50;
  206 + int resultCount = 0;
206 if (all.size() > limitCount) { 207 if (all.size() > limitCount) {
207 for (int i = 0; i < all.size(); i += limitCount) { 208 for (int i = 0; i < all.size(); i += limitCount) {
208 int toIndex = i + limitCount; 209 int toIndex = i + limitCount;
209 if (i + limitCount > all.size()) { 210 if (i + limitCount > all.size()) {
210 toIndex = all.size(); 211 toIndex = all.size();
211 } 212 }
212 - if ("collect".equals(collectType)) {  
213 - cloudRecordServiceMapper.updateCollectList(result, all.subList(i, toIndex));  
214 - }else if ("reserve".equals(collectType)) {  
215 - cloudRecordServiceMapper.updateReserveList(result, all.subList(i, toIndex));  
216 - } 213 + resultCount += cloudRecordServiceMapper.updateCollectList(result, all.subList(i, toIndex));
217 214
218 } 215 }
219 }else { 216 }else {
220 - if ("collect".equals(collectType)) {  
221 - cloudRecordServiceMapper.updateCollectList(result, all);  
222 - }else if ("reserve".equals(collectType)) {  
223 - cloudRecordServiceMapper.updateReserveList(result, all);  
224 - } 217 + resultCount = cloudRecordServiceMapper.updateCollectList(result, all);
225 } 218 }
  219 + return resultCount;
226 } 220 }
227 221
228 @Override 222 @Override
229 - public void changeCollectById(Integer recordId, String collectType, boolean result) {  
230 - if ("collect".equals(collectType)) {  
231 - cloudRecordServiceMapper.changeCollectById(result, recordId);  
232 - }else if ("reserve".equals(collectType)) {  
233 - cloudRecordServiceMapper.changeReserveById(result, recordId);  
234 - } 223 + public int changeCollectById(Integer recordId, boolean result) {
  224 + return cloudRecordServiceMapper.changeCollectById(result, recordId);
235 } 225 }
236 } 226 }
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
@@ -79,7 +79,7 @@ public interface CloudRecordServiceMapper { @@ -79,7 +79,7 @@ public interface CloudRecordServiceMapper {
79 "update wvp_cloud_record set collect = #{collect} where file_path in " + 79 "update wvp_cloud_record set collect = #{collect} where file_path in " +
80 " <foreach collection='cloudRecordItemList' item='item' open='(' separator=',' close=')' > #{item.filePath}</foreach>" + 80 " <foreach collection='cloudRecordItemList' item='item' open='(' separator=',' close=')' > #{item.filePath}</foreach>" +
81 " </script>") 81 " </script>")
82 - void updateCollectList(@Param("collect") boolean collect, List<CloudRecordItem> cloudRecordItemList); 82 + int updateCollectList(@Param("collect") boolean collect, List<CloudRecordItem> cloudRecordItemList);
83 83
84 @Delete(" <script>" + 84 @Delete(" <script>" +
85 "delete from wvp_cloud_record where media_server_id=#{mediaServerId} file_path in " + 85 "delete from wvp_cloud_record where media_server_id=#{mediaServerId} file_path in " +
@@ -91,7 +91,7 @@ public interface CloudRecordServiceMapper { @@ -91,7 +91,7 @@ public interface CloudRecordServiceMapper {
91 @Select(" <script>" + 91 @Select(" <script>" +
92 "select file_path" + 92 "select file_path" +
93 " from wvp_cloud_record " + 93 " from wvp_cloud_record " +
94 - " where collect = false and reserve = false " + 94 + " where collect = false " +
95 " <if test= 'endTimeStamp != null '> and start_time &lt;= #{endTimeStamp}</if>" + 95 " <if test= 'endTimeStamp != null '> and start_time &lt;= #{endTimeStamp}</if>" +
96 " <if test= 'callId != null '> and call_id = #{callId}</if>" + 96 " <if test= 'callId != null '> and call_id = #{callId}</if>" +
97 " <if test= 'mediaServerId != null ' > and media_server_id = #{mediaServerId} </if>" + 97 " <if test= 'mediaServerId != null ' > and media_server_id = #{mediaServerId} </if>" +
@@ -99,18 +99,8 @@ public interface CloudRecordServiceMapper { @@ -99,18 +99,8 @@ public interface CloudRecordServiceMapper {
99 List<String> queryRecordFilePathListForDelete(@Param("endTimeStamp")Long endTimeStamp, String mediaServerId); 99 List<String> queryRecordFilePathListForDelete(@Param("endTimeStamp")Long endTimeStamp, String mediaServerId);
100 100
101 @Update(" <script>" + 101 @Update(" <script>" +
102 - "update wvp_cloud_record set reserve = #{reserve} where file_path in " +  
103 - " <foreach collection='cloudRecordItems' item='item' open='(' separator=',' close=')' > #{item.filePath}</foreach>" +  
104 - " </script>")  
105 - void updateReserveList(@Param("reserve") boolean reserve,List<CloudRecordItem> cloudRecordItems);  
106 -  
107 - @Update(" <script>" +  
108 "update wvp_cloud_record set collect = #{collect} where id = #{recordId} " + 102 "update wvp_cloud_record set collect = #{collect} where id = #{recordId} " +
109 " </script>") 103 " </script>")
110 - void changeCollectById(@Param("collect") boolean collect, @Param("recordId") Integer recordId); 104 + int changeCollectById(@Param("collect") boolean collect, @Param("recordId") Integer recordId);
111 105
112 - @Update(" <script>" +  
113 - "update wvp_cloud_record set reserve = #{reserve} where id = #{recordId} " +  
114 - " </script>")  
115 - void changeReserveById(@Param("reserve") boolean reserve, Integer recordId);  
116 } 106 }
src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java
@@ -188,24 +188,20 @@ public class CloudRecordController { @@ -188,24 +188,20 @@ public class CloudRecordController {
188 @Parameter(name = "startTime", description = "鉴权ID", required = false) 188 @Parameter(name = "startTime", description = "鉴权ID", required = false)
189 @Parameter(name = "endTime", description = "鉴权ID", required = false) 189 @Parameter(name = "endTime", description = "鉴权ID", required = false)
190 @Parameter(name = "callId", description = "鉴权ID", required = false) 190 @Parameter(name = "callId", description = "鉴权ID", required = false)
191 - @Parameter(name = "collectType", description = "收藏类型, collect/reserve", required = false)  
192 - public void addCollect( 191 + @Parameter(name = "recordId", description = "录像记录的ID,用于精准收藏一个视频文件", required = false)
  192 + public int addCollect(
193 @RequestParam(required = false) String app, 193 @RequestParam(required = false) String app,
194 @RequestParam(required = false) String stream, 194 @RequestParam(required = false) String stream,
195 @RequestParam(required = false) String mediaServerId, 195 @RequestParam(required = false) String mediaServerId,
196 @RequestParam(required = false) String startTime, 196 @RequestParam(required = false) String startTime,
197 @RequestParam(required = false) String endTime, 197 @RequestParam(required = false) String endTime,
198 @RequestParam(required = false) String callId, 198 @RequestParam(required = false) String callId,
199 - @RequestParam(required = false) String collectType,  
200 @RequestParam(required = false) Integer recordId 199 @RequestParam(required = false) Integer recordId
201 ){ 200 ){
202 - if (!"collect".equals(collectType) && !"reserve".equals(collectType)) {  
203 - collectType = "collect";  
204 - }  
205 if (recordId != null) { 201 if (recordId != null) {
206 - cloudRecordService.changeCollectById(recordId, collectType, true); 202 + return cloudRecordService.changeCollectById(recordId, true);
207 }else { 203 }else {
208 - cloudRecordService.changeCollect(collectType, true, app, stream, mediaServerId, startTime, endTime, callId, collectType); 204 + return cloudRecordService.changeCollect(true, app, stream, mediaServerId, startTime, endTime, callId);
209 } 205 }
210 } 206 }
211 207
@@ -218,27 +214,20 @@ public class CloudRecordController { @@ -218,27 +214,20 @@ public class CloudRecordController {
218 @Parameter(name = "startTime", description = "鉴权ID", required = false) 214 @Parameter(name = "startTime", description = "鉴权ID", required = false)
219 @Parameter(name = "endTime", description = "鉴权ID", required = false) 215 @Parameter(name = "endTime", description = "鉴权ID", required = false)
220 @Parameter(name = "callId", description = "鉴权ID", required = false) 216 @Parameter(name = "callId", description = "鉴权ID", required = false)
221 - @Parameter(name = "collectType", description = "收藏类型, collect/reserve", required = false)  
222 - public void deleteCollect( 217 + @Parameter(name = "recordId", description = "录像记录的ID,用于精准精准移除一个视频文件的收藏", required = false)
  218 + public int deleteCollect(
223 @RequestParam(required = false) String app, 219 @RequestParam(required = false) String app,
224 @RequestParam(required = false) String stream, 220 @RequestParam(required = false) String stream,
225 @RequestParam(required = false) String mediaServerId, 221 @RequestParam(required = false) String mediaServerId,
226 @RequestParam(required = false) String startTime, 222 @RequestParam(required = false) String startTime,
227 @RequestParam(required = false) String endTime, 223 @RequestParam(required = false) String endTime,
228 @RequestParam(required = false) String callId, 224 @RequestParam(required = false) String callId,
229 - @RequestParam(required = false) String collectType,  
230 @RequestParam(required = false) Integer recordId 225 @RequestParam(required = false) Integer recordId
231 ){ 226 ){
232 - if (!"collect".equals(collectType) && !"reserve".equals(collectType)) {  
233 - collectType = "collect";  
234 - }  
235 if (recordId != null) { 227 if (recordId != null) {
236 - cloudRecordService.changeCollectById(recordId, collectType, false); 228 + return cloudRecordService.changeCollectById(recordId, false);
237 }else { 229 }else {
238 - cloudRecordService.changeCollect(collectType, false, app, stream, mediaServerId, startTime, endTime, callId, collectType); 230 + return cloudRecordService.changeCollect(false, app, stream, mediaServerId, startTime, endTime, callId);
239 } 231 }
240 } 232 }
241 -  
242 -  
243 -  
244 } 233 }