Commit ca16a79255f27709f88abc59bea362abdd1e2cc7

Authored by 648540858
1 parent ee2dda21

添加语音发送通道和语音接收通道字段

sql/mysql.sql
... ... @@ -44,6 +44,8 @@ CREATE TABLE `device` (
44 44 `mobilePositionSubmissionInterval` int(11) NOT NULL DEFAULT '5',
45 45 `subscribeCycleForAlarm` int(11) NOT NULL,
46 46 `hostAddress` varchar(50) NOT NULL,
  47 + `audioChannelForReceive` varchar(50) NOT NULL,
  48 + `audioChannelForSend` varchar(50) NOT NULL,
47 49 `charset` varchar(50) NOT NULL,
48 50 `ssrcCheck` int(11) DEFAULT '0',
49 51 PRIMARY KEY (`id`),
... ...
sql/update.sql
1   -alter table parent_platform
2   - add startOfflinePush int default 0 null;
3   -
4   -alter table parent_platform
5   - add administrativeDivision varchar(50) not null;
6   -
7   -alter table parent_platform
8   - add catalogGroup int default 1 null;
9   -
10 1 alter table device
11   - add ssrcCheck int default 0 null;
  2 + add audioChannelForReceive VARCHAR(50) null;
12 3  
  4 +alter table device
  5 + add audioChannelForSend VARCHAR(50) null;
13 6 \ No newline at end of file
... ...
src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java
... ... @@ -23,7 +23,6 @@ public class VManageBootstrap extends LogManager {
23 23 private static ConfigurableApplicationContext context;
24 24 public static void main(String[] args) {
25 25 VManageBootstrap.args = args;
26   - System.out.println("test");
27 26 VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
28 27 }
29 28 // 项目重启
... ...
src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java
... ... @@ -134,6 +134,16 @@ public class Device {
134 134 */
135 135 private boolean ssrcCheck;
136 136  
  137 + /**
  138 + * 设备用于接收语音消息的通道
  139 + */
  140 + private String audioChannelForReceive;
  141 +
  142 + /**
  143 + * 设备用于发送语音消息的通道
  144 + */
  145 + private String audioChannelForSend;
  146 +
137 147  
138 148 public String getDeviceId() {
139 149 return deviceId;
... ... @@ -334,4 +344,12 @@ public class Device {
334 344 public void setSsrcCheck(boolean ssrcCheck) {
335 345 this.ssrcCheck = ssrcCheck;
336 346 }
  347 +
  348 + public String getAudioChannelForReceive() {
  349 + return audioChannelForReceive;
  350 + }
  351 +
  352 + public void setAudioChannelForReceive(String audioChannelForReceive) {
  353 + this.audioChannelForReceive = audioChannelForReceive;
  354 + }
337 355 }
... ...
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
... ... @@ -37,6 +37,8 @@ public interface DeviceMapper {
37 37 "subscribeCycleForMobilePosition," +
38 38 "mobilePositionSubmissionInterval," +
39 39 "subscribeCycleForAlarm," +
  40 + "audioChannelForReceive," +
  41 + "audioChannelForSend," +
40 42 "ssrcCheck," +
41 43 "online" +
42 44 ") VALUES (" +
... ... @@ -60,6 +62,8 @@ public interface DeviceMapper {
60 62 "#{subscribeCycleForMobilePosition}," +
61 63 "#{mobilePositionSubmissionInterval}," +
62 64 "#{subscribeCycleForAlarm}," +
  65 + "#{audioChannelForReceive}," +
  66 + "#{audioChannelForSend}," +
63 67 "#{ssrcCheck}," +
64 68 "#{online}" +
65 69 ")")
... ... @@ -86,6 +90,8 @@ public interface DeviceMapper {
86 90 "<if test=\"subscribeCycleForMobilePosition != null\">, subscribeCycleForMobilePosition=${subscribeCycleForMobilePosition}</if>" +
87 91 "<if test=\"mobilePositionSubmissionInterval != null\">, mobilePositionSubmissionInterval=${mobilePositionSubmissionInterval}</if>" +
88 92 "<if test=\"subscribeCycleForAlarm != null\">, subscribeCycleForAlarm=${subscribeCycleForAlarm}</if>" +
  93 + "<if test=\"audioChannelForReceive != null\">, audioChannelForReceive=#{audioChannelForReceive}</if>" +
  94 + "<if test=\"audioChannelForSend != null\">, audioChannelForSend=#{audioChannelForSend}</if>" +
89 95 "<if test=\"ssrcCheck != null\">, ssrcCheck=${ssrcCheck}</if>" +
90 96 "WHERE deviceId='${deviceId}'"+
91 97 " </script>"})
... ...
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
... ... @@ -251,20 +251,32 @@ public class PlayController {
251 251 @ApiOperation("语音广播命令")
252 252 @ApiImplicitParams({
253 253 @ApiImplicitParam(name = "deviceId", value = "设备Id", dataTypeClass = String.class),
  254 + @ApiImplicitParam(name = "channelForSend", value = "设备用于发送语音数据的通道", dataTypeClass = String.class),
  255 + @ApiImplicitParam(name = "channelForReceive", value = "设备用于接收语音数据的通道", dataTypeClass = String.class),
254 256 })
255 257 @GetMapping("/broadcast/{deviceId}")
256 258 @PostMapping("/broadcast/{deviceId}")
257   - public DeferredResult<ResponseEntity<String>> broadcastApi(@PathVariable String deviceId) {
  259 + public DeferredResult<ResponseEntity<String>> broadcastApi(@PathVariable String deviceId,
  260 + String channelForSend,
  261 + String channelForReceive) {
258 262 if (logger.isDebugEnabled()) {
259 263 logger.debug("语音广播API调用");
260 264 }
261 265 Device device = storager.queryVideoDevice(deviceId);
262   - DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(3 * 1000L);
  266 + DeferredResult<ResponseEntity<String>> result = new DeferredResult<>(3 * 1000L);
263 267 String key = DeferredResultHolder.CALLBACK_CMD_BROADCAST + deviceId;
264 268 if (resultHolder.exist(key, null)) {
265 269 result.setResult(new ResponseEntity<>("设备使用中",HttpStatus.OK));
266 270 return result;
267 271 }
  272 +
  273 +// playService.audioBroadcast(deviceId, channelForSend, channelForReceive);
  274 +
  275 +
  276 +
  277 +
  278 +
  279 +
268 280 String uuid = UUID.randomUUID().toString();
269 281 if (device == null) {
270 282  
... ...
web_src/src/components/dialog/deviceEdit.vue
... ... @@ -36,6 +36,12 @@
36 36 <el-option key="UTF-8" label="UTF-8" value="utf-8"></el-option>
37 37 </el-select>
38 38 </el-form-item>
  39 + <el-form-item label="语音发送通道" prop="name">
  40 + <el-input v-model="form.audioChannelForSend" clearable></el-input>
  41 + </el-form-item>
  42 + <el-form-item label="语音接收送通道" prop="name">
  43 + <el-input v-model="form.audioChannelForReceive" clearable></el-input>
  44 + </el-form-item>
39 45 <el-form-item label="目录订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
40 46 <el-input v-model="form.subscribeCycleForCatalog" clearable ></el-input>
41 47 </el-form-item>
... ... @@ -99,8 +105,6 @@ export default {
99 105 })
100 106 },
101 107 onSubmit: function () {
102   - console.log("onSubmit");
103   - console.log(this.form);
104 108 this.form.subscribeCycleForCatalog = this.form.subscribeCycleForCatalog||0
105 109 this.form.subscribeCycleForMobilePosition = this.form.subscribeCycleForMobilePosition||0
106 110 this.form.mobilePositionSubmissionInterval = this.form.mobilePositionSubmissionInterval||0
... ... @@ -120,7 +124,7 @@ export default {
120 124 });
121 125 }
122 126 }).catch(function (error) {
123   - console.log(error);
  127 + console.error(error);
124 128 });
125 129 },
126 130 close: function () {
... ...