wvp-GB28181-pro/src/main/java/com/genersoft/iot/vmp/vmanager/TestController.java
2026-04-18 23:31:47 +08:00

75 lines
2.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.genersoft.iot.vmp.vmanager;
import com.genersoft.iot.vmp.common.InviteInfo;
import com.genersoft.iot.vmp.common.InviteSessionType;
import com.genersoft.iot.vmp.common.VideoManagerConstants;
import com.genersoft.iot.vmp.media.event.hook.Hook;
import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.Cursor;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ScanOptions;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/api/test")
public class TestController {
@Autowired
private HookSubscribe subscribe;
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@GetMapping("/hook/list")
public List<Hook> all(){
return subscribe.getAll();
}
@GetMapping("/redis")
public List<InviteInfo> redis(){
InviteSessionType type = InviteSessionType.PLAY;
String channelId = null;
String stream = null;
String key = VideoManagerConstants.INVITE_PREFIX;
String keyPattern = (type != null ? type : "*") +
":" + (channelId != null ? channelId : "*") +
":" + (stream != null ? stream : "*")
+ ":*";
ScanOptions options = ScanOptions.scanOptions().match(keyPattern).count(20).build();
Cursor<Map.Entry<Object, Object>> cursor = redisTemplate.opsForHash().scan(key, options);
List<InviteInfo> result = new ArrayList<>();
try {
while (cursor.hasNext()) {
System.out.println(cursor.next().getKey());
result.add((InviteInfo) cursor.next().getValue());
}
}catch (Exception e) {
}finally {
cursor.close();
}
return result;
}
// @Bean
// public ServletRegistrationBean<StatViewServlet> druidStatViewServlet() {
// ServletRegistrationBean<StatViewServlet> registrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
// registrationBean.addInitParameter("allow", "127.0.0.1");// IP白名单 (没有配置或者为空,则允许所有访问)
// registrationBean.addInitParameter("deny", "");// IP黑名单 (存在共同时deny优先于allow)
// registrationBean.addInitParameter("loginUsername", "admin");
// registrationBean.addInitParameter("loginPassword", "admin");
// registrationBean.addInitParameter("resetEnable", "false");
// return registrationBean;
// }
}