Merge branch 'master' into dev/设备和平台使用不同的优化策略

This commit is contained in:
lin 2025-05-19 14:42:44 +08:00
commit f7f3ed4c5b
6 changed files with 20 additions and 9 deletions

View File

@ -242,12 +242,17 @@
<dependency> <dependency>
<groupId>com.alibaba.fastjson2</groupId> <groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId> <artifactId>fastjson2</artifactId>
<version>2.0.17</version> <version>2.0.57</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba.fastjson2</groupId> <groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension</artifactId> <artifactId>fastjson2-extension</artifactId>
<version>2.0.17</version> <version>2.0.57</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension-spring5</artifactId>
<version>2.0.57</version>
</dependency> </dependency>
<!-- okhttp --> <!-- okhttp -->

View File

@ -41,6 +41,9 @@ public class SubscribeHolder {
} }
public SubscribeInfo getCatalogSubscribe(String platformId) { public SubscribeInfo getCatalogSubscribe(String platformId) {
if (platformId == null) {
return null;
}
return catalogMap.get(platformId); return catalogMap.get(platformId);
} }

View File

@ -101,7 +101,7 @@ public class DeviceChannelProvider {
} }
sqlBuild.append(" )"); sqlBuild.append(" )");
} }
sqlBuild.append("ORDER BY device_id"); sqlBuild.append(" ORDER BY device_id");
return sqlBuild.toString(); return sqlBuild.toString();
} }

View File

@ -1,14 +1,11 @@
package com.genersoft.iot.vmp.gb28181.event.subscribe.catalog; package com.genersoft.iot.vmp.gb28181.event.subscribe.catalog;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel; import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
import com.genersoft.iot.vmp.gb28181.bean.Platform; import com.genersoft.iot.vmp.gb28181.bean.Platform;
import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder; import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;
import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo; import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo;
import com.genersoft.iot.vmp.gb28181.service.IPlatformChannelService; import com.genersoft.iot.vmp.gb28181.service.IPlatformChannelService;
import com.genersoft.iot.vmp.gb28181.service.IPlatformService;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.service.redisMsg.IRedisRpcService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
@ -17,7 +14,10 @@ import org.springframework.stereotype.Component;
import javax.sip.InvalidArgumentException; import javax.sip.InvalidArgumentException;
import javax.sip.SipException; import javax.sip.SipException;
import java.text.ParseException; import java.text.ParseException;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* catalog事件 * catalog事件

View File

@ -9,7 +9,6 @@ import com.genersoft.iot.vmp.conf.redis.bean.RedisRpcResponse;
import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel; import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
import com.genersoft.iot.vmp.gb28181.bean.Platform; import com.genersoft.iot.vmp.gb28181.bean.Platform;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher; import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
import com.genersoft.iot.vmp.gb28181.service.IPlatformChannelService; import com.genersoft.iot.vmp.gb28181.service.IPlatformChannelService;
import com.genersoft.iot.vmp.gb28181.service.IPlatformService; import com.genersoft.iot.vmp.gb28181.service.IPlatformService;
import com.genersoft.iot.vmp.service.redisMsg.dto.RedisRpcController; import com.genersoft.iot.vmp.service.redisMsg.dto.RedisRpcController;
@ -72,6 +71,7 @@ public class RedisRpcPlatformController extends RpcController {
public RedisRpcResponse catalogEventPublish(RedisRpcRequest request) { public RedisRpcResponse catalogEventPublish(RedisRpcRequest request) {
JSONObject jsonObject = JSONObject.parseObject(request.getParam().toString()); JSONObject jsonObject = JSONObject.parseObject(request.getParam().toString());
Platform platform = jsonObject.getObject("platform", Platform.class); Platform platform = jsonObject.getObject("platform", Platform.class);
List<CommonGBChannel> channels = jsonObject.getJSONArray("channels").toJavaList(CommonGBChannel.class); List<CommonGBChannel> channels = jsonObject.getJSONArray("channels").toJavaList(CommonGBChannel.class);
String type = jsonObject.getString("type"); String type = jsonObject.getString("type");
eventPublisher.catalogEventPublish(platform, channels, type, false); eventPublisher.catalogEventPublish(platform, channels, type, false);

View File

@ -8,6 +8,7 @@ import com.genersoft.iot.vmp.utils.DateUtil;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
@ -15,6 +16,7 @@ import org.springframework.util.ObjectUtils;
@Data @Data
@Schema(description = "推流信息") @Schema(description = "推流信息")
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
public class StreamPush extends CommonGBChannel implements Comparable<StreamPush>{ public class StreamPush extends CommonGBChannel implements Comparable<StreamPush>{
/** /**
@ -105,6 +107,7 @@ public class StreamPush extends CommonGBChannel implements Comparable<StreamPush
private Integer dataType = ChannelDataType.STREAM_PUSH.value; private Integer dataType = ChannelDataType.STREAM_PUSH.value;
@Override @Override
public int compareTo(@NotNull StreamPush streamPushItem) { public int compareTo(@NotNull StreamPush streamPushItem) {
return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(this.createTime) return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(this.createTime)