优化批量下线设备处理。修改金仓驱动导入方式

This commit is contained in:
lin 2026-04-09 17:42:11 +08:00
parent 60b1c687ea
commit 4e602713d4
17 changed files with 23 additions and 26 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

18
pom.xml
View File

@ -178,24 +178,6 @@
</dependency>
<!-- kingbase人大金仓 -->
<!-- 手动下载驱动后安装 -->
<!-- mvn install:install-file -Dfile=/home/lin/soft/kingbase/jdbc-aarch/kingbase8-8.6.0.jar -DgroupId=com.kingbase -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar
-->
<!-- <dependency>-->
<!-- <groupId>com.kingbase</groupId>-->
<!-- <artifactId>kingbase8</artifactId>-->
<!-- <version>8.6.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${basedir}/libs/jdbc-aarch/kingbase8-8.6.0.jar</systemPath>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.kingbase</groupId>-->
<!-- <artifactId>kingbase8</artifactId>-->
<!-- <version>8.6.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${basedir}/libs/jdbc-x86/kingbase8-8.6.0.jar</systemPath>-->
<!-- </dependency>-->
<dependency>
<groupId>cn.com.kingbase</groupId>
<artifactId>kingbase8</artifactId>

View File

@ -1,8 +1,11 @@
package com.genersoft.iot.vmp.gb28181.bean;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Data
@Getter
@Setter
public class InviteDecodeException extends RuntimeException{
private int code;
private String msg;

View File

@ -1,8 +1,10 @@
package com.genersoft.iot.vmp.gb28181.bean;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Data
@Getter
@Setter
public class PlayException extends RuntimeException{
private int code;
private String msg;

View File

@ -233,7 +233,13 @@ public class DeviceServiceImpl implements IDeviceService, CommandLineRunner {
log.info("[更新多个离线设备信息] 参数为空");
return;
}
deviceMapper.offlineByList(offlineDevices);
int limitCount = 400;
for (int i = 0; i < offlineDevices.size(); i += limitCount) {
int end = Math.min(i + limitCount, offlineDevices.size());
List<Device> batchList = offlineDevices.subList(i, end);
deviceMapper.offlineByList(batchList);
}
for (Device device : offlineDevices) {
device.setOnLine(false);
redisCatchStorage.updateDevice(device);

View File

@ -1,12 +1,14 @@
package com.genersoft.iot.vmp.media.event.hook;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
/**
* zlm hook事件的参数
* @author lin
*/
@Data
@Getter
@Setter
public class Hook {
private HookType hookType;

View File

@ -29,6 +29,7 @@ import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.async.DeferredResult;
@ -361,11 +362,12 @@ public class CloudRecordController {
@ResponseBody
@GetMapping("/download/zip")
public void downloadZipFileFromUrl(HttpServletResponse response, Integer[] ids) {
log.info("[下载指定录像文件的压缩包] 查询 ids->{}", ids);
String idsStr = StringUtils.arrayToCommaDelimitedString(ids);
log.info("[下载指定录像文件的压缩包] 查询 ids->{}", idsStr);
List<Integer> arrayList = new ArrayList<>(List.of(ids));
List<CloudRecordUrl> cloudRecordItemList = cloudRecordService.getUrlListByIds(arrayList);
if (ObjectUtils.isEmpty(cloudRecordItemList)) {
log.warn("[下载指定录像文件的压缩包] 未找到录像文件ids->{}", ids);
log.warn("[下载指定录像文件的压缩包] 未找到录像文件ids->{}", idsStr);
return;
}