From aa5e2da7afdbf33288a6df47d94080bdf9bfbc67 Mon Sep 17 00:00:00 2001 From: shikong <919411476@qq.com> Date: Tue, 5 Sep 2023 13:23:59 +0800 Subject: [PATCH] =?UTF-8?q?feign=20=E8=B0=83=E7=94=A8=20wvp=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gb28181-wvp-proxy-service/pom.xml | 53 ++++ .../gb28181/wvp/config/WvpProxyConfig.java | 14 + .../gb28181/wvp/dto/device/DeviceChannel.java | 250 ++++++++++++++++++ .../wvp/dto/device/GetDeviceChannelsReq.java | 26 ++ .../wvp/dto/device/GetDeviceChannelsResp.java | 29 ++ .../wvp/dto/device/GetDeviceTreeReq.java | 20 ++ .../wvp/dto/device/GetDeviceTreeResp.java | 29 ++ .../gb28181/wvp/dto/login/WvpLoginReq.java | 21 ++ .../gb28181/wvp/dto/login/WvpLoginResp.java | 38 +++ .../gb28181/wvp/proxy/WvpProxyClient.java | 27 ++ .../src/main/resources/application.yaml | 5 + .../gb28181/wvp/WvpProxyTestApplication.java | 15 ++ .../gb28181/wvp/test/WvpProxyTest.java | 54 ++++ .../gb28181/wvp/Gb28181WvpProxyStarter.java | 5 +- 14 files changed, 585 insertions(+), 1 deletion(-) create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/config/WvpProxyConfig.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/DeviceChannel.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsReq.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsResp.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeReq.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeResp.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginReq.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginResp.java create mode 100644 gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/proxy/WvpProxyClient.java create mode 100644 gb28181-wvp-proxy-service/src/main/resources/application.yaml create mode 100644 gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/WvpProxyTestApplication.java create mode 100644 gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/test/WvpProxyTest.java diff --git a/gb28181-wvp-proxy-service/pom.xml b/gb28181-wvp-proxy-service/pom.xml index 71690c5..fe4f3bd 100644 --- a/gb28181-wvp-proxy-service/pom.xml +++ b/gb28181-wvp-proxy-service/pom.xml @@ -27,5 +27,58 @@ cn.skcks.docking zlmediakit-service + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + org.projectlombok + lombok + + + + org.springframework.boot + spring-boot-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.springframework + spring-test + test + + + + + + src/main/resources + + **/** + + true + + + + + + src/test/resources + + **/** + + true + + + \ No newline at end of file diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/config/WvpProxyConfig.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/config/WvpProxyConfig.java new file mode 100644 index 0000000..c03cc85 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/config/WvpProxyConfig.java @@ -0,0 +1,14 @@ +package cn.skcks.docking.gb28181.wvp.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConfigurationProperties(prefix = "proxy.wvp") +@Data +public class WvpProxyConfig { + private String url; + private String user; + private String passwd; +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/DeviceChannel.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/DeviceChannel.java new file mode 100644 index 0000000..301e85e --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/DeviceChannel.java @@ -0,0 +1,250 @@ +package cn.skcks.docking.gb28181.wvp.dto.device; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "通道信息") +@NoArgsConstructor +@Data +public class DeviceChannel { + /** + * 数据库自增ID + */ + @Schema(description = "数据库自增ID") + private int id; + + /** + * 通道国标编号 + */ + @Schema(description = "通道国标编号") + private String channelId; + + /** + * 设备国标编号 + */ + @Schema(description = "设备国标编号") + private String deviceId; + + /** + * 通道名 + */ + @Schema(description = "名称") + private String name; + + /** + * 生产厂商 + */ + @Schema(description = "生产厂商") + private String manufacture; + + /** + * 型号 + */ + @Schema(description = "型号") + private String model; + + /** + * 设备归属 + */ + @Schema(description = "设备归属") + private String owner; + + /** + * 行政区域 + */ + @Schema(description = "行政区域") + private String civilCode; + + /** + * 警区 + */ + @Schema(description = "警区") + private String block; + + /** + * 安装地址 + */ + @Schema(description = "安装地址") + private String address; + + /** + * 是否有子设备 1有, 0没有 + */ + @Schema(description = "是否有子设备 1有, 0没有") + private int parental; + + /** + * 父级id + */ + @Schema(description = "父级id") + private String parentId; + + /** + * 信令安全模式 缺省为0; 0:不采用; 2: S/MIME签名方式; 3: S/ MIME加密签名同时采用方式; 4:数字摘要方式 + */ + @Schema(description = "信令安全模式 缺省为0; 0:不采用; 2: S/MIME签名方式; 3: S/ MIME加密签名同时采用方式; 4:数字摘要方式") + private int safetyWay; + + /** + * 注册方式 缺省为1;1:符合IETFRFC3261标准的认证注册模 式; 2:基于口令的双向认证注册模式; 3:基于数字证书的双向认证注册模式 + */ + @Schema(description = "注册方式 缺省为1;1:符合IETFRFC3261标准的认证注册模 式; 2:基于口令的双向认证注册模式; 3:基于数字证书的双向认证注册模式") + private int registerWay; + + /** + * 证书序列号 + */ + @Schema(description = "证书序列号") + private String certNum; + + /** + * 证书有效标识 缺省为0;证书有效标识:0:无效1: 有效 + */ + @Schema(description = "证书有效标识 缺省为0;证书有效标识:0:无效1: 有效") + private int certifiable; + + /** + * 证书无效原因码 + */ + @Schema(description = "证书无效原因码") + private int errCode; + + /** + * 证书终止有效期 + */ + @Schema(description = "证书终止有效期") + private String endTime; + + /** + * 保密属性 缺省为0; 0:不涉密, 1:涉密 + */ + @Schema(description = "保密属性 缺省为0; 0:不涉密, 1:涉密") + private String secrecy; + + /** + * IP地址 + */ + @Schema(description = "IP地址") + private String ipAddress; + + /** + * 端口号 + */ + @Schema(description = "端口号") + private int port; + + /** + * 密码 + */ + @Schema(description = "密码") + private String password; + + /** + * 云台类型 + */ + @Schema(description = "云台类型") + private int PTZType; + + /** + * 云台类型描述字符串 + */ + @Schema(description = "云台类型描述字符串") + private String PTZTypeText; + + /** + * 创建时间 + */ + @Schema(description = "创建时间") + private String createTime; + + /** + * 更新时间 + */ + @Schema(description = "更新时间") + private String updateTime; + + /** + * 在线/离线 + * 1在线,0离线 + * 默认在线 + * 信令: + * ON + * OFF + * 遇到过NVR下的IPC下发信令可以推流, 但是 Status 响应 OFF + */ + @Schema(description = "在线/离线, 1在线,0离线") + private boolean status; + + /** + * 经度 + */ + @Schema(description = "经度") + private double longitude; + + /** + * 纬度 + */ + @Schema(description = "纬度") + private double latitude; + + /** + * 经度 GCJ02 + */ + @Schema(description = "GCJ02坐标系经度") + private double longitudeGcj02; + + /** + * 纬度 GCJ02 + */ + @Schema(description = "GCJ02坐标系纬度") + private double latitudeGcj02; + + /** + * 经度 WGS84 + */ + @Schema(description = "WGS84坐标系经度") + private double longitudeWgs84; + + /** + * 纬度 WGS84 + */ + @Schema(description = "WGS84坐标系纬度") + private double latitudeWgs84; + + /** + * 子设备数 + */ + @Schema(description = "子设备数") + private int subCount; + + /** + * 流唯一编号,存在表示正在直播 + */ + @Schema(description = "流唯一编号,存在表示正在直播") + private String streamId; + + /** + * 是否含有音频 + */ + @Schema(description = "是否含有音频") + private boolean hasAudio; + + /** + * 标记通道的类型,0->国标通道 1->直播流通道 2->业务分组/虚拟组织/行政区划 + */ + @Schema(description = "标记通道的类型,0->国标通道 1->直播流通道 2->业务分组/虚拟组织/行政区划") + private int channelType; + + /** + * 业务分组 + */ + @Schema(description = "业务分组") + private String businessGroupId; + + /** + * GPS的更新时间 + */ + @Schema(description = "GPS的更新时间") + private String gpsTime; +} \ No newline at end of file diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsReq.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsReq.java new file mode 100644 index 0000000..d0093a9 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsReq.java @@ -0,0 +1,26 @@ +package cn.skcks.docking.gb28181.wvp.dto.device; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class GetDeviceChannelsReq { + @Builder.Default + private int page = 1; + + @Builder.Default + private int count = 100; + + private String query; + + private Boolean online; + + private Boolean channelType; + + private Boolean catalogUnderDevice; +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsResp.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsResp.java new file mode 100644 index 0000000..c0430f2 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceChannelsResp.java @@ -0,0 +1,29 @@ +package cn.skcks.docking.gb28181.wvp.dto.device; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@NoArgsConstructor +@Data +public class GetDeviceChannelsResp { + private Integer total; + private List list; + private Integer pageNum; + private Integer pageSize; + private Integer size; + private Integer startRow; + private Integer endRow; + private Integer pages; + private Integer prePage; + private Integer nextPage; + private Boolean isFirstPage; + private Boolean isLastPage; + private Boolean hasPreviousPage; + private Boolean hasNextPage; + private Integer navigatePages; + private List navigatepageNums; + private Integer navigateFirstPage; + private Integer navigateLastPage; +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeReq.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeReq.java new file mode 100644 index 0000000..6e32cc9 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeReq.java @@ -0,0 +1,20 @@ +package cn.skcks.docking.gb28181.wvp.dto.device; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class GetDeviceTreeReq { + @Builder.Default + private int page = 1; + + @Builder.Default + private int count = 100; + + private String parentId; +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeResp.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeResp.java new file mode 100644 index 0000000..cc295cb --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/device/GetDeviceTreeResp.java @@ -0,0 +1,29 @@ +package cn.skcks.docking.gb28181.wvp.dto.device; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@NoArgsConstructor +@Data +public class GetDeviceTreeResp { + private Integer total; + private List list; + private Integer pageNum; + private Integer pageSize; + private Integer size; + private Integer startRow; + private Integer endRow; + private Integer pages; + private Integer prePage; + private Integer nextPage; + private Boolean isFirstPage; + private Boolean isLastPage; + private Boolean hasPreviousPage; + private Boolean hasNextPage; + private Integer navigatePages; + private List navigatepageNums; + private Integer navigateFirstPage; + private Integer navigateLastPage; +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginReq.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginReq.java new file mode 100644 index 0000000..b7eaba6 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginReq.java @@ -0,0 +1,21 @@ +package cn.skcks.docking.gb28181.wvp.dto.login; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class WvpLoginReq { + /** + * 用户名 + */ + private String username; + /** + * 密码(32位md5加密) + */ + private String password; +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginResp.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginResp.java new file mode 100644 index 0000000..574a347 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/dto/login/WvpLoginResp.java @@ -0,0 +1,38 @@ +package cn.skcks.docking.gb28181.wvp.dto.login; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@NoArgsConstructor +@Data +public class WvpLoginResp { + + private String accessToken; + private Boolean accountNonExpired; + private Boolean credentialsNonExpired; + private Boolean accountNonLocked; + private String password; + private Boolean enabled; + private RoleDTO role; + private List authorities; + private String username; + private Integer id; + + @NoArgsConstructor + @Data + public static class RoleDTO { + private Integer id; + private String name; + private String authority; + private String createTime; + private String updateTime; + } + + @NoArgsConstructor + @Data + public static class AuthoritiesDTO { + private String authority; + } +} diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/proxy/WvpProxyClient.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/proxy/WvpProxyClient.java new file mode 100644 index 0000000..b5f4677 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/proxy/WvpProxyClient.java @@ -0,0 +1,27 @@ +package cn.skcks.docking.gb28181.wvp.proxy; + +import cn.skcks.docking.gb28181.common.json.JsonResponse; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceChannelsReq; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceChannelsResp; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceTreeReq; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceTreeResp; +import cn.skcks.docking.gb28181.wvp.dto.login.WvpLoginReq; +import cn.skcks.docking.gb28181.wvp.dto.login.WvpLoginResp; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; + +@FeignClient(name="wvpProxyClient", url = "${proxy.wvp.url}") +public interface WvpProxyClient { + @GetMapping(value = "/api/user/login", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) + JsonResponse login(@SpringQueryMap WvpLoginReq req); + + @GetMapping(value = "/api/device/query/tree/channel/{deviceId}") + JsonResponse getDeviceTree(@RequestHeader("access-token") String token, @PathVariable String deviceId, @SpringQueryMap GetDeviceTreeReq req); + + @GetMapping(value = "/api/device/query/devices/{deviceId}/channels") + JsonResponse getDeviceChannels(@RequestHeader("access-token") String token, @PathVariable String deviceId, @SpringQueryMap GetDeviceChannelsReq req); +} diff --git a/gb28181-wvp-proxy-service/src/main/resources/application.yaml b/gb28181-wvp-proxy-service/src/main/resources/application.yaml new file mode 100644 index 0000000..927b182 --- /dev/null +++ b/gb28181-wvp-proxy-service/src/main/resources/application.yaml @@ -0,0 +1,5 @@ +proxy: + wvp: + url: http://192.168.3.12:18978 + user: admin + passwd: admin \ No newline at end of file diff --git a/gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/WvpProxyTestApplication.java b/gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/WvpProxyTestApplication.java new file mode 100644 index 0000000..ea0cd0c --- /dev/null +++ b/gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/WvpProxyTestApplication.java @@ -0,0 +1,15 @@ +package cn.skcks.docking.gb28181.wvp; + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@EnableFeignClients +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class) +public class WvpProxyTestApplication { + public static void main(String[] args) { + SpringApplication.run(WvpProxyTestApplication.class, args); + } +} diff --git a/gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/test/WvpProxyTest.java b/gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/test/WvpProxyTest.java new file mode 100644 index 0000000..cd1abed --- /dev/null +++ b/gb28181-wvp-proxy-service/src/test/java/cn/skcks/docking/gb28181/wvp/test/WvpProxyTest.java @@ -0,0 +1,54 @@ +package cn.skcks.docking.gb28181.wvp.test; + +import cn.hutool.crypto.digest.MD5; +import cn.skcks.docking.gb28181.common.json.JsonResponse; +import cn.skcks.docking.gb28181.wvp.config.WvpProxyConfig; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceChannelsReq; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceChannelsResp; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceTreeReq; +import cn.skcks.docking.gb28181.wvp.dto.device.GetDeviceTreeResp; +import cn.skcks.docking.gb28181.wvp.dto.login.WvpLoginReq; +import cn.skcks.docking.gb28181.wvp.dto.login.WvpLoginResp; +import cn.skcks.docking.gb28181.wvp.proxy.WvpProxyClient; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +@Slf4j +@SpringBootTest +@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) +@ExtendWith(SpringExtension.class) +public class WvpProxyTest { + @Autowired + private WvpProxyClient wvpProxyClient; + + @Autowired + private WvpProxyConfig config; + + @Test + void test(){ + String passwdMd5 = MD5.create().digestHex(config.getPasswd()); + WvpLoginReq loginReq = WvpLoginReq.builder() + .username(config.getUser()) + .password(passwdMd5) + .build(); + log.info("{}", loginReq); + JsonResponse loginResp = wvpProxyClient.login(loginReq); + log.info("{}", loginResp); + + String token = loginResp.getData().getAccessToken(); + String deviceId = "44050100001180000001"; + GetDeviceTreeReq getDeviceTreeReq = GetDeviceTreeReq.builder().build(); + JsonResponse deviceTreeResp = wvpProxyClient.getDeviceTree(token, deviceId, getDeviceTreeReq); + log.info("{}", deviceTreeResp); + + GetDeviceChannelsReq getDeviceChannelsReq = GetDeviceChannelsReq.builder().build(); + JsonResponse getDeviceChannelsResp = wvpProxyClient.getDeviceChannels(token, deviceId, getDeviceChannelsReq); + log.info("{}", getDeviceChannelsResp); + } +} diff --git a/gb28181-wvp-proxy-starter/src/main/java/cn/skcks/docking/gb28181/wvp/Gb28181WvpProxyStarter.java b/gb28181-wvp-proxy-starter/src/main/java/cn/skcks/docking/gb28181/wvp/Gb28181WvpProxyStarter.java index eb74987..42d1c9d 100644 --- a/gb28181-wvp-proxy-starter/src/main/java/cn/skcks/docking/gb28181/wvp/Gb28181WvpProxyStarter.java +++ b/gb28181-wvp-proxy-starter/src/main/java/cn/skcks/docking/gb28181/wvp/Gb28181WvpProxyStarter.java @@ -6,7 +6,10 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.ComponentScan; -@EnableFeignClients(basePackages = "cn.skcks.docking.gb28181.media") +@EnableFeignClients(basePackages = { + "cn.skcks.docking.gb28181.media", + "cn.skcks.docking.gb28181.wvp.proxy" +}) @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) @ComponentScan(basePackages = { "cn.skcks.docking.gb28181.annotation",