mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-24 22:17:49 +08:00
1078-设置电话本+电话回拨
This commit is contained in:
parent
16bc3dabd6
commit
734f0c7e04
@ -0,0 +1,63 @@
|
|||||||
|
package com.genersoft.iot.vmp.jt1078.bean;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import io.netty.buffer.Unpooled;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
|
||||||
|
@Schema(description = "电话本联系人")
|
||||||
|
public class JTPhoneBookContact {
|
||||||
|
|
||||||
|
@Schema(description = "1:呼入,2:呼出,3:呼入/呼出")
|
||||||
|
private int sign;
|
||||||
|
|
||||||
|
@Schema(description = "电话号码")
|
||||||
|
private String phoneNumber;
|
||||||
|
|
||||||
|
@Schema(description = "联系人")
|
||||||
|
private String contactName;
|
||||||
|
|
||||||
|
public ByteBuf encode(){
|
||||||
|
ByteBuf buffer = Unpooled.buffer();
|
||||||
|
buffer.writeByte(sign);
|
||||||
|
buffer.writeByte(phoneNumber.getBytes().length);
|
||||||
|
buffer.writeCharSequence(phoneNumber, Charset.forName("GBK"));
|
||||||
|
buffer.writeByte(contactName.getBytes().length);
|
||||||
|
buffer.writeCharSequence(contactName, Charset.forName("GBK"));
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSign() {
|
||||||
|
return sign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSign(int sign) {
|
||||||
|
this.sign = sign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPhoneNumber() {
|
||||||
|
return phoneNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhoneNumber(String phoneNumber) {
|
||||||
|
this.phoneNumber = phoneNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContactName() {
|
||||||
|
return contactName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContactName(String contactName) {
|
||||||
|
this.contactName = contactName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "JTPhoneBookContact{" +
|
||||||
|
"sign=" + sign +
|
||||||
|
", phoneNumber='" + phoneNumber + '\'' +
|
||||||
|
", contactName='" + contactName + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -27,6 +27,8 @@ public class JT1078Template {
|
|||||||
private static final String H8203 = "8203";
|
private static final String H8203 = "8203";
|
||||||
private static final String H8204 = "8204";
|
private static final String H8204 = "8204";
|
||||||
private static final String H8300 = "8300";
|
private static final String H8300 = "8300";
|
||||||
|
private static final String H8400 = "8400";
|
||||||
|
private static final String H8401 = "8401";
|
||||||
private static final String H9101 = "9101";
|
private static final String H9101 = "9101";
|
||||||
private static final String H9102 = "9102";
|
private static final String H9102 = "9102";
|
||||||
private static final String H9201 = "9201";
|
private static final String H9201 = "9201";
|
||||||
@ -408,4 +410,26 @@ public class JT1078Template {
|
|||||||
.build();
|
.build();
|
||||||
return SessionManager.INSTANCE.request(cmd, timeOut);
|
return SessionManager.INSTANCE.request(cmd, timeOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object telephoneCallback(String devId, J8400 j8400, int timeOut) {
|
||||||
|
Cmd cmd = new Cmd.Builder()
|
||||||
|
.setDevId(devId)
|
||||||
|
.setPackageNo(randomInt())
|
||||||
|
.setMsgId(H8400)
|
||||||
|
.setRespId(H0001)
|
||||||
|
.setRs(j8400)
|
||||||
|
.build();
|
||||||
|
return SessionManager.INSTANCE.request(cmd, timeOut);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object setPhoneBook(String devId, J8401 j8401, int timeOut) {
|
||||||
|
Cmd cmd = new Cmd.Builder()
|
||||||
|
.setDevId(devId)
|
||||||
|
.setPackageNo(randomInt())
|
||||||
|
.setMsgId(H8401)
|
||||||
|
.setRespId(H0001)
|
||||||
|
.setRs(j8401)
|
||||||
|
.build();
|
||||||
|
return SessionManager.INSTANCE.request(cmd, timeOut);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.genersoft.iot.vmp.conf.security.JwtUtils;
|
|||||||
import com.genersoft.iot.vmp.jt1078.bean.*;
|
import com.genersoft.iot.vmp.jt1078.bean.*;
|
||||||
import com.genersoft.iot.vmp.jt1078.controller.bean.ConfirmationAlarmMessageParam;
|
import com.genersoft.iot.vmp.jt1078.controller.bean.ConfirmationAlarmMessageParam;
|
||||||
import com.genersoft.iot.vmp.jt1078.controller.bean.ConnectionControlParam;
|
import com.genersoft.iot.vmp.jt1078.controller.bean.ConnectionControlParam;
|
||||||
|
import com.genersoft.iot.vmp.jt1078.controller.bean.SetPhoneBookParam;
|
||||||
import com.genersoft.iot.vmp.jt1078.controller.bean.TextMessageParam;
|
import com.genersoft.iot.vmp.jt1078.controller.bean.TextMessageParam;
|
||||||
import com.genersoft.iot.vmp.jt1078.proc.request.J1205;
|
import com.genersoft.iot.vmp.jt1078.proc.request.J1205;
|
||||||
import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
|
import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
|
||||||
@ -431,5 +432,39 @@ public class JT1078Controller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "电话回拨", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
|
@Parameter(name = "deviceId", description = "设备编号", required = true)
|
||||||
|
@Parameter(name = "sign", description = "标志: 0:普通通话,1:监听", required = true)
|
||||||
|
@Parameter(name = "phoneNumber", description = "电话号码", required = true)
|
||||||
|
@GetMapping("/telephone-callback")
|
||||||
|
public WVPResult<Integer> telephoneCallback(String deviceId, Integer sign, String phoneNumber){
|
||||||
|
|
||||||
|
logger.info("[1078-电话回拨] deviceId: {}, sign: {}, phoneNumber: {},", deviceId, sign, phoneNumber);
|
||||||
|
int result = service.telephoneCallback(deviceId, sign, phoneNumber);
|
||||||
|
if (result == 0) {
|
||||||
|
return WVPResult.success(result);
|
||||||
|
}else {
|
||||||
|
WVPResult<Integer> fail = WVPResult.fail(ErrorCode.ERROR100);
|
||||||
|
fail.setData(result);
|
||||||
|
return fail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "设置电话本", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
|
@Parameter(name = "setPhoneBookParam", description = "设置电话本参数", required = true)
|
||||||
|
@PostMapping("/set-phone-book")
|
||||||
|
public WVPResult<Integer> setPhoneBook(@RequestBody SetPhoneBookParam setPhoneBookParam){
|
||||||
|
|
||||||
|
logger.info("[1078-设置电话本] setPhoneBookParam: {}", setPhoneBookParam);
|
||||||
|
int result = service.setPhoneBook(setPhoneBookParam.getDeviceId(), setPhoneBookParam.getType(), setPhoneBookParam.getPhoneBookContactList());
|
||||||
|
if (result == 0) {
|
||||||
|
return WVPResult.success(result);
|
||||||
|
}else {
|
||||||
|
WVPResult<Integer> fail = WVPResult.fail(ErrorCode.ERROR100);
|
||||||
|
fail.setData(result);
|
||||||
|
return fail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,57 @@
|
|||||||
|
package com.genersoft.iot.vmp.jt1078.controller.bean;
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.jt1078.bean.JTPhoneBookContact;
|
||||||
|
import com.genersoft.iot.vmp.jt1078.bean.JTTextSign;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Schema(description = "设置电话本")
|
||||||
|
public class SetPhoneBookParam {
|
||||||
|
|
||||||
|
@Schema(description = "设备")
|
||||||
|
private String deviceId;
|
||||||
|
|
||||||
|
@Schema(description = "设置类型:\n" +
|
||||||
|
"0: 删除终端上所有存储的联系人,\n" +
|
||||||
|
"1: 表示更新电话本$ 删除终端中已有全部联系人并追加消 息中的联系人,\n" +
|
||||||
|
"2: 表示追加电话本,\n" +
|
||||||
|
"3: 表示修改电话本$以联系人为索引")
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
@Schema(description = "联系人")
|
||||||
|
private List<JTPhoneBookContact> phoneBookContactList;
|
||||||
|
|
||||||
|
public String getDeviceId() {
|
||||||
|
return deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceId(String deviceId) {
|
||||||
|
this.deviceId = deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(int type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<JTPhoneBookContact> getPhoneBookContactList() {
|
||||||
|
return phoneBookContactList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhoneBookContactList(List<JTPhoneBookContact> phoneBookContactList) {
|
||||||
|
this.phoneBookContactList = phoneBookContactList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "SetPhoneBookParam{" +
|
||||||
|
"deviceId='" + deviceId + '\'' +
|
||||||
|
", type=" + type +
|
||||||
|
", phoneBookContactList=" + phoneBookContactList +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
package com.genersoft.iot.vmp.jt1078.proc.response;
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.jt1078.annotation.MsgId;
|
||||||
|
import com.genersoft.iot.vmp.jt1078.bean.JTTextSign;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import io.netty.buffer.Unpooled;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电话回拨
|
||||||
|
*/
|
||||||
|
@MsgId(id = "8400")
|
||||||
|
public class J8400 extends Rs {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标志, 0'普通通话,1'监听
|
||||||
|
*/
|
||||||
|
private int sign;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电话号码
|
||||||
|
*/
|
||||||
|
private String phoneNumber;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ByteBuf encode() {
|
||||||
|
ByteBuf buffer = Unpooled.buffer();
|
||||||
|
buffer.writeByte(sign);
|
||||||
|
buffer.writeCharSequence(phoneNumber, Charset.forName("GBK"));
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSign() {
|
||||||
|
return sign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSign(int sign) {
|
||||||
|
this.sign = sign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPhoneNumber() {
|
||||||
|
return phoneNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhoneNumber(String phoneNumber) {
|
||||||
|
this.phoneNumber = phoneNumber;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
package com.genersoft.iot.vmp.jt1078.proc.response;
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.jt1078.annotation.MsgId;
|
||||||
|
import com.genersoft.iot.vmp.jt1078.bean.JTPhoneBookContact;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import io.netty.buffer.Unpooled;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置电话本
|
||||||
|
*/
|
||||||
|
@MsgId(id = "8401")
|
||||||
|
public class J8401 extends Rs {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置类型:
|
||||||
|
* 0: 删除终端上所有存储的联系人,
|
||||||
|
* 1: 表示更新电话本$ 删除终端中已有全部联系人并追加消 息中的联系人,
|
||||||
|
* 2: 表示追加电话本,
|
||||||
|
* 3: 表示修改电话本$以联系人为索引
|
||||||
|
*/
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系人
|
||||||
|
*/
|
||||||
|
private List<JTPhoneBookContact> phoneBookContactList;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ByteBuf encode() {
|
||||||
|
ByteBuf buffer = Unpooled.buffer();
|
||||||
|
buffer.writeByte(type);
|
||||||
|
buffer.writeByte(phoneBookContactList.size());
|
||||||
|
for (JTPhoneBookContact jtPhoneBookContact : phoneBookContactList) {
|
||||||
|
buffer.writeBytes(jtPhoneBookContact.encode());
|
||||||
|
}
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(int type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<JTPhoneBookContact> getPhoneBookContactList() {
|
||||||
|
return phoneBookContactList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhoneBookContactList(List<JTPhoneBookContact> phoneBookContactList) {
|
||||||
|
this.phoneBookContactList = phoneBookContactList;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -63,4 +63,9 @@ public interface Ijt1078Service {
|
|||||||
int linkDetection(String deviceId);
|
int linkDetection(String deviceId);
|
||||||
|
|
||||||
int textMessage(String deviceId,JTTextSign sign, int textType, String content);
|
int textMessage(String deviceId,JTTextSign sign, int textType, String content);
|
||||||
|
|
||||||
|
int telephoneCallback(String deviceId, Integer sign, String phoneNumber);
|
||||||
|
|
||||||
|
int setPhoneBook(String deviceId, int type, List<JTPhoneBookContact> phoneBookContactList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -583,4 +583,19 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
return (int)jt1078Template.textMessage(deviceId, j8300, 6);
|
return (int)jt1078Template.textMessage(deviceId, j8300, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int telephoneCallback(String deviceId, Integer sign, String phoneNumber) {
|
||||||
|
J8400 j8400 = new J8400();
|
||||||
|
j8400.setSign(sign);
|
||||||
|
j8400.setPhoneNumber(phoneNumber);
|
||||||
|
return (int)jt1078Template.telephoneCallback(deviceId, j8400, 6);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int setPhoneBook(String deviceId, int type, List<JTPhoneBookContact> phoneBookContactList) {
|
||||||
|
J8401 j8401 = new J8401();
|
||||||
|
j8401.setType(type);
|
||||||
|
j8401.setPhoneBookContactList(phoneBookContactList);
|
||||||
|
return (int)jt1078Template.setPhoneBook(deviceId, j8401, 6);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user