mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-06-17 08:57:48 +08:00
1078-调整业务信息
This commit is contained in:
parent
5c826ef449
commit
f7d811a299
@ -22,6 +22,12 @@ public class JTChannel {
|
|||||||
@Schema(description = "设备的数据库ID")
|
@Schema(description = "设备的数据库ID")
|
||||||
private int deviceId;
|
private int deviceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通道ID
|
||||||
|
*/
|
||||||
|
@Schema(description = "通道ID")
|
||||||
|
private Integer channelId;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
private String createTime;
|
private String createTime;
|
||||||
@ -69,12 +75,21 @@ public class JTChannel {
|
|||||||
this.updateTime = updateTime;
|
this.updateTime = updateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getChannelId() {
|
||||||
|
return channelId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannelId(Integer channelId) {
|
||||||
|
this.channelId = channelId;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "JTChannel{" +
|
return "JTChannel{" +
|
||||||
"id=" + id +
|
"id=" + id +
|
||||||
", name='" + name + '\'' +
|
", name='" + name + '\'' +
|
||||||
", deviceId=" + deviceId +
|
", deviceId=" + deviceId +
|
||||||
|
", channelId=" + channelId +
|
||||||
", createTime='" + createTime + '\'' +
|
", createTime='" + createTime + '\'' +
|
||||||
", updateTime='" + updateTime + '\'' +
|
", updateTime='" + updateTime + '\'' +
|
||||||
'}';
|
'}';
|
||||||
|
|||||||
@ -50,13 +50,13 @@ public class JTDevice {
|
|||||||
* 终端手机号
|
* 终端手机号
|
||||||
*/
|
*/
|
||||||
@Schema(description = "终端手机号")
|
@Schema(description = "终端手机号")
|
||||||
private Integer phoneNumber;
|
private String phoneNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备ID
|
* 终端ID
|
||||||
*/
|
*/
|
||||||
@Schema(description = "设备ID")
|
@Schema(description = "终端ID")
|
||||||
private String deviceId;
|
private String terminalId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 车牌颜色
|
* 车牌颜色
|
||||||
@ -154,20 +154,20 @@ public class JTDevice {
|
|||||||
this.deviceModel = deviceModel;
|
this.deviceModel = deviceModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getPhoneNumber() {
|
public String getPhoneNumber() {
|
||||||
return phoneNumber;
|
return phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPhoneNumber(Integer phoneNumber) {
|
public void setPhoneNumber(String phoneNumber) {
|
||||||
this.phoneNumber = phoneNumber;
|
this.phoneNumber = phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDeviceId() {
|
public String getTerminalId() {
|
||||||
return deviceId;
|
return terminalId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeviceId(String deviceId) {
|
public void setTerminalId(String deviceId) {
|
||||||
this.deviceId = deviceId;
|
this.terminalId = deviceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPlateColor() {
|
public int getPlateColor() {
|
||||||
@ -244,7 +244,7 @@ public class JTDevice {
|
|||||||
", 制造商ID='" + makerId + '\'' +
|
", 制造商ID='" + makerId + '\'' +
|
||||||
", 终端型号='" + deviceModel + '\'' +
|
", 终端型号='" + deviceModel + '\'' +
|
||||||
", 终端手机号='" + phoneNumber + '\'' +
|
", 终端手机号='" + phoneNumber + '\'' +
|
||||||
", 设备ID='" + deviceId + '\'' +
|
", 设备ID='" + terminalId + '\'' +
|
||||||
", 车牌颜色=" + plateColor +
|
", 车牌颜色=" + plateColor +
|
||||||
", 车牌='" + plateNo + '\'' +
|
", 车牌='" + plateNo + '\'' +
|
||||||
", 鉴权码='" + authenticationCode + '\'' +
|
", 鉴权码='" + authenticationCode + '\'' +
|
||||||
|
|||||||
@ -53,10 +53,10 @@ public class Jt808Decoder extends ByteToMessageDecoder {
|
|||||||
|
|
||||||
header.setVersion(buf.readUnsignedByte());
|
header.setVersion(buf.readUnsignedByte());
|
||||||
String devId = ByteBufUtil.hexDump(buf.readSlice(10));
|
String devId = ByteBufUtil.hexDump(buf.readSlice(10));
|
||||||
header.setTerminalPhoneNumber(devId.replaceFirst("^0*", ""));
|
header.setPhoneNumber(devId.replaceFirst("^0*", ""));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
header.setTerminalPhoneNumber(ByteBufUtil.hexDump(buf.readSlice(6)).replaceFirst("^0*", ""));
|
header.setPhoneNumber(ByteBufUtil.hexDump(buf.readSlice(6)).replaceFirst("^0*", ""));
|
||||||
}
|
}
|
||||||
header.setSn(buf.readUnsignedShort());
|
header.setSn(buf.readUnsignedShort());
|
||||||
if (isSubpackage) {
|
if (isSubpackage) {
|
||||||
|
|||||||
@ -24,7 +24,7 @@ public enum MultiPacketManager {
|
|||||||
* 增加待合并的分包,如果分包接受完毕会返回完整的数据包
|
* 增加待合并的分包,如果分包接受完毕会返回完整的数据包
|
||||||
*/
|
*/
|
||||||
public ByteBuf add(MultiPacket packet) {
|
public ByteBuf add(MultiPacket packet) {
|
||||||
String key = packet.getHeader().getMsgId() + "/" + packet.getHeader().getTerminalPhoneNumber();
|
String key = packet.getHeader().getMsgId() + "/" + packet.getHeader().getPhoneNumber();
|
||||||
logger.debug("分包消息: \n{}", packet);
|
logger.debug("分包消息: \n{}", packet);
|
||||||
List<MultiPacket> multiPackets = packetMap.computeIfAbsent(key, k -> new ArrayList<>(packet.getCount()));
|
List<MultiPacket> multiPackets = packetMap.computeIfAbsent(key, k -> new ArrayList<>(packet.getCount()));
|
||||||
multiPackets.add(packet);
|
multiPackets.add(packet);
|
||||||
|
|||||||
@ -94,12 +94,12 @@ public class Jt808EncoderCmd extends MessageToByteEncoder<Cmd> {
|
|||||||
byteBuf.writeByte(header.getVersion());
|
byteBuf.writeByte(header.getVersion());
|
||||||
|
|
||||||
// 终端手机号
|
// 终端手机号
|
||||||
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getTerminalPhoneNumber(), 20)));
|
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getPhoneNumber(), 20)));
|
||||||
} else {
|
} else {
|
||||||
// 消息体属性
|
// 消息体属性
|
||||||
byteBuf.writeShort(encode.readableBytes());
|
byteBuf.writeShort(encode.readableBytes());
|
||||||
|
|
||||||
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getTerminalPhoneNumber(), 12)));
|
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getPhoneNumber(), 12)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 消息体流水号
|
// 消息体流水号
|
||||||
|
|||||||
@ -49,7 +49,7 @@ public class Jt808Handler extends ChannelInboundHandlerAdapter {
|
|||||||
}
|
}
|
||||||
ConnectChangeEvent event = new ConnectChangeEvent(this);
|
ConnectChangeEvent event = new ConnectChangeEvent(this);
|
||||||
event.setConnected(true);
|
event.setConnected(true);
|
||||||
event.setTerminalId(session.getDevId());
|
event.setPhoneNumber(session.getDevId());
|
||||||
applicationEventPublisher.publishEvent(event);
|
applicationEventPublisher.publishEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ public class Jt808Handler extends ChannelInboundHandlerAdapter {
|
|||||||
}
|
}
|
||||||
ConnectChangeEvent event = new ConnectChangeEvent(this);
|
ConnectChangeEvent event = new ConnectChangeEvent(this);
|
||||||
event.setConnected(false);
|
event.setConnected(false);
|
||||||
event.setTerminalId(session.getDevId());
|
event.setPhoneNumber(session.getDevId());
|
||||||
applicationEventPublisher.publishEvent(event);
|
applicationEventPublisher.publishEvent(event);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,20 +64,43 @@ public class JT1078DeviceController {
|
|||||||
@Operation(summary = "删除设备", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
@Operation(summary = "删除设备", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
@Parameter(name = "phoneNumber", description = "设备手机号", required = true)
|
@Parameter(name = "phoneNumber", description = "设备手机号", required = true)
|
||||||
@DeleteMapping("/delete")
|
@DeleteMapping("/delete")
|
||||||
public void addDevice(Integer phoneNumber){
|
public void addDevice(String phoneNumber){
|
||||||
assert phoneNumber != null;
|
assert phoneNumber != null;
|
||||||
service.deleteDeviceByPhoneNumber(phoneNumber);
|
service.deleteDeviceByPhoneNumber(phoneNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Operation(summary = "1078-查询部标通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
@Operation(summary = "1078-查询部标通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
@Parameter(name = "phoneNumber", description = "设备手机号", required = true)
|
@Parameter(name = "deviceId", description = "设备ID", required = true)
|
||||||
@Parameter(name = "query", description = "查询内容")
|
@Parameter(name = "query", description = "查询内容")
|
||||||
@GetMapping("/channel/list")
|
@GetMapping("/channel/list")
|
||||||
public List<JTChannel> getChannels(@RequestParam(required = true) Integer phoneNumber,
|
public List<JTChannel> getChannels(@RequestParam(required = true) Integer deviceId,
|
||||||
@RequestParam(required = false) String query) {
|
@RequestParam(required = false) String query) {
|
||||||
assert phoneNumber != null;
|
assert deviceId != null;
|
||||||
return service.getChannelList(phoneNumber, query);
|
return service.getChannelList(deviceId, query);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "1078-更新通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
|
@Parameter(name = "channel", description = "通道", required = true)
|
||||||
|
@PostMapping("/update")
|
||||||
|
public void updateChannel(JTChannel channel){
|
||||||
|
assert channel.getId() > 0;
|
||||||
|
assert channel.getChannelId() != null;
|
||||||
|
service.updateChannel(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "1078-新增通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
|
@Parameter(name = "channel", description = "通道", required = true)
|
||||||
|
@PostMapping("/add")
|
||||||
|
public void addChannel(JTChannel channel){
|
||||||
|
assert channel.getChannelId() != null;
|
||||||
|
service.addChannel(channel);
|
||||||
|
}
|
||||||
|
@Operation(summary = "1078-删除通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||||
|
@Parameter(name = "id", description = "通道的数据库ID", required = true)
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
public void deleteChannel(Integer id){
|
||||||
|
service.deleteChannelById(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,87 +23,31 @@ public interface JTChannelMapper {
|
|||||||
List<JTChannel> getAll(@Param("deviceId") int deviceId, @Param("query") String query);
|
List<JTChannel> getAll(@Param("deviceId") int deviceId, @Param("query") String query);
|
||||||
|
|
||||||
@Update(value = {" <script>" +
|
@Update(value = {" <script>" +
|
||||||
"UPDATE wvp_jt_device " +
|
"UPDATE wvp_jt_channel " +
|
||||||
"SET update_time=#{updateTime}" +
|
"SET update_time=#{updateTime}" +
|
||||||
"<if test=\"deviceId != null\">, device_id=#{deviceId}</if>" +
|
"<if test=\"deviceId != null\">, device_id=#{deviceId}</if>" +
|
||||||
"<if test=\"provinceId != null\">, province_id=#{provinceId}</if>" +
|
"<if test=\"name != null\">, name=#{name}</if>" +
|
||||||
"<if test=\"provinceText != null\">, province_text=#{provinceText}</if>" +
|
"<if test=\"channelId != null\">, channelId=#{channelId}</if>" +
|
||||||
"<if test=\"cityId != null\">, city_id=#{cityId}</if>" +
|
"WHERE id=#{id}"+
|
||||||
"<if test=\"cityText != null\">, city_text=#{cityText}</if>" +
|
|
||||||
"<if test=\"makerId != null\">, maker_id=#{makerId}</if>" +
|
|
||||||
"<if test=\"deviceModel != null\">, device_model=#{deviceModel}</if>" +
|
|
||||||
"<if test=\"plateColor != null\">, plate_color=#{plateColor}</if>" +
|
|
||||||
"<if test=\"plateNo != null\">, plate_no=#{plateNo}</if>" +
|
|
||||||
"<if test=\"authenticationCode != null\">, authentication_code=#{authenticationCode}</if>" +
|
|
||||||
"<if test=\"longitude != null\">, longitude=#{longitude}</if>" +
|
|
||||||
"<if test=\"latitude != null\">, latitude=#{latitude}</if>" +
|
|
||||||
"<if test=\"status != null\">, status=#{status}</if>" +
|
|
||||||
"WHERE terminal_id=#{terminalId}"+
|
|
||||||
" </script>"})
|
" </script>"})
|
||||||
void updateDevice(JTDevice device);
|
void update(JTChannel channel);
|
||||||
@Select(value = {" <script>" +
|
|
||||||
"SELECT * " +
|
|
||||||
"from " +
|
|
||||||
"wvp_jt_device jd " +
|
|
||||||
"WHERE " +
|
|
||||||
"1=1" +
|
|
||||||
" <if test='query != null'> AND (" +
|
|
||||||
"jd.terminal_id LIKE concat('%',#{query},'%') " +
|
|
||||||
"jd.province_id LIKE concat('%',#{query},'%') " +
|
|
||||||
"OR jd.city_id LIKE concat('%',#{query},'%') " +
|
|
||||||
"OR jd.maker_id LIKE concat('%',#{query},'%') " +
|
|
||||||
"OR jd.device_model LIKE concat('%',#{query},'%') " +
|
|
||||||
"OR jd.device_id LIKE concat('%',#{query},'%') " +
|
|
||||||
"OR jd.plate_no LIKE concat('%',#{query},'%')" +
|
|
||||||
")</if> " +
|
|
||||||
" <if test='online == true' > AND jd.status= true</if>" +
|
|
||||||
" <if test='online == false' > AND jd.status= false</if>" +
|
|
||||||
"ORDER BY jd.update_time " +
|
|
||||||
" </script>"})
|
|
||||||
List<JTDevice> getDeviceList(@Param("query") String query, @Param("online") Boolean online);
|
|
||||||
|
|
||||||
@Insert("INSERT INTO wvp_jt_device (" +
|
@Insert("INSERT INTO wvp_jt_channel (" +
|
||||||
"terminal_id,"+
|
|
||||||
"province_id,"+
|
|
||||||
"province_text,"+
|
|
||||||
"city_id,"+
|
|
||||||
"city_text,"+
|
|
||||||
"maker_id,"+
|
|
||||||
"device_id,"+
|
"device_id,"+
|
||||||
"device_model,"+
|
"channel_id,"+
|
||||||
"plate_color,"+
|
"name,"+
|
||||||
"plate_no,"+
|
|
||||||
"authentication_code,"+
|
|
||||||
"longitude,"+
|
|
||||||
"latitude,"+
|
|
||||||
"create_time,"+
|
"create_time,"+
|
||||||
"update_time"+
|
"update_time"+
|
||||||
") VALUES (" +
|
") VALUES (" +
|
||||||
"#{terminalId}," +
|
|
||||||
"#{provinceId}," +
|
|
||||||
"#{provinceText}," +
|
|
||||||
"#{cityId}," +
|
|
||||||
"#{cityText}," +
|
|
||||||
"#{makerId}," +
|
|
||||||
"#{deviceId}," +
|
"#{deviceId}," +
|
||||||
"#{deviceModel}," +
|
"#{channelId}," +
|
||||||
"#{plateColor}," +
|
"#{name}," +
|
||||||
"#{plateNo}," +
|
|
||||||
"#{authenticationCode}," +
|
|
||||||
"#{longitude}," +
|
|
||||||
"#{latitude}," +
|
|
||||||
"#{createTime}," +
|
"#{createTime}," +
|
||||||
"#{updateTime}" +
|
"#{updateTime}" +
|
||||||
")")
|
")")
|
||||||
void addDevice(JTDevice device);
|
void add(JTChannel channel);
|
||||||
|
|
||||||
@Delete("delete from wvp_jt_device where terminal_id = #{terminalId}")
|
@Delete("delete from wvp_jt_channel where id = #{id}")
|
||||||
void deleteDeviceByTerminalId(@Param("terminalId") String terminalId);
|
void delete(@Param("id") int id);
|
||||||
|
|
||||||
@Update(value = {" <script>" +
|
|
||||||
"UPDATE wvp_jt_device " +
|
|
||||||
"SET status=#{connected} " +
|
|
||||||
"WHERE terminal_id=#{terminalId}"+
|
|
||||||
" </script>"})
|
|
||||||
void updateDeviceStatus(@Param("connected") boolean connected, @Param("terminalId") String terminalId);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,15 +6,15 @@ import org.apache.ibatis.annotations.*;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface JTDeviceMapper {
|
public interface JTTerminalMapper {
|
||||||
|
|
||||||
@Select("SELECT * FROM wvp_jt_device where terminal_id=#{terminalId}")
|
@Select("SELECT * FROM wvp_jt_terminal where phone_number=#{phoneNumber}")
|
||||||
JTDevice getDevice(@Param("terminalId") Integer terminalId);
|
JTDevice getDevice(@Param("phoneNumber") String phoneNumber);
|
||||||
|
|
||||||
@Update(value = {" <script>" +
|
@Update(value = {" <script>" +
|
||||||
"UPDATE wvp_jt_device " +
|
"UPDATE wvp_jt_terminal " +
|
||||||
"SET update_time=#{updateTime}" +
|
"SET update_time=#{updateTime}" +
|
||||||
"<if test=\"deviceId != null\">, device_id=#{deviceId}</if>" +
|
"<if test=\"terminalId != null\">, terminal_id=#{terminalId}</if>" +
|
||||||
"<if test=\"provinceId != null\">, province_id=#{provinceId}</if>" +
|
"<if test=\"provinceId != null\">, province_id=#{provinceId}</if>" +
|
||||||
"<if test=\"provinceText != null\">, province_text=#{provinceText}</if>" +
|
"<if test=\"provinceText != null\">, province_text=#{provinceText}</if>" +
|
||||||
"<if test=\"cityId != null\">, city_id=#{cityId}</if>" +
|
"<if test=\"cityId != null\">, city_id=#{cityId}</if>" +
|
||||||
@ -27,22 +27,22 @@ public interface JTDeviceMapper {
|
|||||||
"<if test=\"longitude != null\">, longitude=#{longitude}</if>" +
|
"<if test=\"longitude != null\">, longitude=#{longitude}</if>" +
|
||||||
"<if test=\"latitude != null\">, latitude=#{latitude}</if>" +
|
"<if test=\"latitude != null\">, latitude=#{latitude}</if>" +
|
||||||
"<if test=\"status != null\">, status=#{status}</if>" +
|
"<if test=\"status != null\">, status=#{status}</if>" +
|
||||||
"WHERE terminal_id=#{terminalId}"+
|
"WHERE phone_number=#{phoneNumber}"+
|
||||||
" </script>"})
|
" </script>"})
|
||||||
void updateDevice(JTDevice device);
|
void updateDevice(JTDevice device);
|
||||||
@Select(value = {" <script>" +
|
@Select(value = {" <script>" +
|
||||||
"SELECT * " +
|
"SELECT * " +
|
||||||
"from " +
|
"from " +
|
||||||
"wvp_jt_device jd " +
|
"wvp_jt_terminal jd " +
|
||||||
"WHERE " +
|
"WHERE " +
|
||||||
"1=1" +
|
"1=1" +
|
||||||
" <if test='query != null'> AND (" +
|
" <if test='query != null'> AND (" +
|
||||||
"jd.terminal_id LIKE concat('%',#{query},'%') " +
|
"jd.phone_number LIKE concat('%',#{query},'%') " +
|
||||||
"jd.province_id LIKE concat('%',#{query},'%') " +
|
"jd.province_id LIKE concat('%',#{query},'%') " +
|
||||||
"OR jd.city_id LIKE concat('%',#{query},'%') " +
|
"OR jd.city_id LIKE concat('%',#{query},'%') " +
|
||||||
"OR jd.maker_id LIKE concat('%',#{query},'%') " +
|
"OR jd.maker_id LIKE concat('%',#{query},'%') " +
|
||||||
"OR jd.device_model LIKE concat('%',#{query},'%') " +
|
"OR jd.device_model LIKE concat('%',#{query},'%') " +
|
||||||
"OR jd.device_id LIKE concat('%',#{query},'%') " +
|
"OR jd.terminal_id LIKE concat('%',#{query},'%') " +
|
||||||
"OR jd.plate_no LIKE concat('%',#{query},'%')" +
|
"OR jd.plate_no LIKE concat('%',#{query},'%')" +
|
||||||
")</if> " +
|
")</if> " +
|
||||||
" <if test='online == true' > AND jd.status= true</if>" +
|
" <if test='online == true' > AND jd.status= true</if>" +
|
||||||
@ -51,14 +51,14 @@ public interface JTDeviceMapper {
|
|||||||
" </script>"})
|
" </script>"})
|
||||||
List<JTDevice> getDeviceList(@Param("query") String query, @Param("online") Boolean online);
|
List<JTDevice> getDeviceList(@Param("query") String query, @Param("online") Boolean online);
|
||||||
|
|
||||||
@Insert("INSERT INTO wvp_jt_device (" +
|
@Insert("INSERT INTO wvp_jt_terminal (" +
|
||||||
"terminal_id,"+
|
"phone_number,"+
|
||||||
"province_id,"+
|
"province_id,"+
|
||||||
"province_text,"+
|
"province_text,"+
|
||||||
"city_id,"+
|
"city_id,"+
|
||||||
"city_text,"+
|
"city_text,"+
|
||||||
"maker_id,"+
|
"maker_id,"+
|
||||||
"device_id,"+
|
"terminal_id,"+
|
||||||
"device_model,"+
|
"device_model,"+
|
||||||
"plate_color,"+
|
"plate_color,"+
|
||||||
"plate_no,"+
|
"plate_no,"+
|
||||||
@ -68,13 +68,13 @@ public interface JTDeviceMapper {
|
|||||||
"create_time,"+
|
"create_time,"+
|
||||||
"update_time"+
|
"update_time"+
|
||||||
") VALUES (" +
|
") VALUES (" +
|
||||||
"#{terminalId}," +
|
"#{phoneNumber}," +
|
||||||
"#{provinceId}," +
|
"#{provinceId}," +
|
||||||
"#{provinceText}," +
|
"#{provinceText}," +
|
||||||
"#{cityId}," +
|
"#{cityId}," +
|
||||||
"#{cityText}," +
|
"#{cityText}," +
|
||||||
"#{makerId}," +
|
"#{makerId}," +
|
||||||
"#{deviceId}," +
|
"#{terminalId}," +
|
||||||
"#{deviceModel}," +
|
"#{deviceModel}," +
|
||||||
"#{plateColor}," +
|
"#{plateColor}," +
|
||||||
"#{plateNo}," +
|
"#{plateNo}," +
|
||||||
@ -86,13 +86,13 @@ public interface JTDeviceMapper {
|
|||||||
")")
|
")")
|
||||||
void addDevice(JTDevice device);
|
void addDevice(JTDevice device);
|
||||||
|
|
||||||
@Delete("delete from wvp_jt_device where terminal_id = #{terminalId}")
|
@Delete("delete from wvp_jt_terminal where phone_number = #{phoneNumber}")
|
||||||
void deleteDeviceByTerminalId(@Param("terminalId") Integer terminalId);
|
void deleteDeviceByPhoneNumber(@Param("phoneNumber") String phoneNumber);
|
||||||
|
|
||||||
@Update(value = {" <script>" +
|
@Update(value = {" <script>" +
|
||||||
"UPDATE wvp_jt_device " +
|
"UPDATE wvp_jt_terminal " +
|
||||||
"SET status=#{connected} " +
|
"SET status=#{connected} " +
|
||||||
"WHERE terminal_id=#{terminalId}"+
|
"WHERE phone_number=#{phoneNumber}"+
|
||||||
" </script>"})
|
" </script>"})
|
||||||
void updateDeviceStatus(@Param("connected") boolean connected, @Param("terminalId") Integer terminalId);
|
void updateDeviceStatus(@Param("connected") boolean connected, @Param("phoneNumber") String phoneNumber);
|
||||||
}
|
}
|
||||||
@ -22,7 +22,7 @@ public class ConnectChangeEvent extends ApplicationEvent {
|
|||||||
|
|
||||||
private boolean connected;
|
private boolean connected;
|
||||||
|
|
||||||
private String terminalId;
|
private String phoneNumber;
|
||||||
|
|
||||||
public boolean isConnected() {
|
public boolean isConnected() {
|
||||||
return connected;
|
return connected;
|
||||||
@ -32,11 +32,11 @@ public class ConnectChangeEvent extends ApplicationEvent {
|
|||||||
this.connected = connected;
|
this.connected = connected;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTerminalId() {
|
public String getPhoneNumber() {
|
||||||
return terminalId;
|
return phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTerminalId(String terminalId) {
|
public void setPhoneNumber(String phoneNumber) {
|
||||||
this.terminalId = terminalId;
|
this.phoneNumber = phoneNumber;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,13 +22,13 @@ public class ConnectChangeEventListener implements ApplicationListener<ConnectCh
|
|||||||
@Override
|
@Override
|
||||||
public void onApplicationEvent(ConnectChangeEvent event) {
|
public void onApplicationEvent(ConnectChangeEvent event) {
|
||||||
if (event.isConnected()) {
|
if (event.isConnected()) {
|
||||||
log.info("[JT-设备已连接] 终端ID: {}", event.getTerminalId());
|
log.info("[JT-设备已连接] 终端ID: {}", event.getPhoneNumber());
|
||||||
}else{
|
}else{
|
||||||
log.info("[JT-设备连接已断开] 终端ID: {}", event.getTerminalId());
|
log.info("[JT-设备连接已断开] 终端ID: {}", event.getPhoneNumber());
|
||||||
}
|
}
|
||||||
JTDevice device = service.getDevice(event.getTerminalId());
|
JTDevice device = service.getDevice(event.getPhoneNumber());
|
||||||
if (device != null) {
|
if (device != null) {
|
||||||
service.updateDeviceStatus(event.isConnected(), event.getTerminalId());
|
service.updateDeviceStatus(event.isConnected(), event.getPhoneNumber());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.genersoft.iot.vmp.jt1078.event.eventListener;
|
package com.genersoft.iot.vmp.jt1078.event.eventListener;
|
||||||
|
|
||||||
import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEvent;
|
|
||||||
import com.genersoft.iot.vmp.jt1078.event.RegisterEvent;
|
import com.genersoft.iot.vmp.jt1078.event.RegisterEvent;
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -10,6 +9,6 @@ public class RegisterEventListener implements ApplicationListener<RegisterEvent>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onApplicationEvent(RegisterEvent event) {
|
public void onApplicationEvent(RegisterEvent event) {
|
||||||
System.out.println("收到设备注册: "+ event.getDevice().getDeviceId());
|
System.out.println("收到设备注册: "+ event.getDevice().getTerminalId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,7 @@ public class Header {
|
|||||||
Integer msgPro;
|
Integer msgPro;
|
||||||
|
|
||||||
// 终端手机号
|
// 终端手机号
|
||||||
String terminalPhoneNumber;
|
String phoneNumber;
|
||||||
|
|
||||||
// 消息体流水号
|
// 消息体流水号
|
||||||
Integer sn;
|
Integer sn;
|
||||||
@ -41,12 +41,12 @@ public class Header {
|
|||||||
this.msgPro = msgPro;
|
this.msgPro = msgPro;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTerminalPhoneNumber() {
|
public String getPhoneNumber() {
|
||||||
return terminalPhoneNumber;
|
return phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTerminalPhoneNumber(String terminalPhoneNumber) {
|
public void setPhoneNumber(String phoneNumber) {
|
||||||
this.terminalPhoneNumber = terminalPhoneNumber;
|
this.phoneNumber = phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getSn() {
|
public Integer getSn() {
|
||||||
@ -79,7 +79,7 @@ public class Header {
|
|||||||
return "Header{" +
|
return "Header{" +
|
||||||
"消息ID='" + msgId + '\'' +
|
"消息ID='" + msgId + '\'' +
|
||||||
", 消息体属性=" + msgPro +
|
", 消息体属性=" + msgPro +
|
||||||
", 终端手机号='" + terminalPhoneNumber + '\'' +
|
", 终端手机号='" + phoneNumber + '\'' +
|
||||||
", 消息体流水号=" + sn +
|
", 消息体流水号=" + sn +
|
||||||
", 协议版本号=" + version +
|
", 协议版本号=" + version +
|
||||||
'}';
|
'}';
|
||||||
|
|||||||
@ -36,7 +36,7 @@ public class J0001 extends Re {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0001", (long) respNo, result);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0001", (long) respNo, result);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -28,13 +28,13 @@ public class J0003 extends Re {
|
|||||||
respNo = buf.readUnsignedShort();
|
respNo = buf.readUnsignedShort();
|
||||||
respId = ByteBufUtil.hexDump(buf.readSlice(2));
|
respId = ByteBufUtil.hexDump(buf.readSlice(2));
|
||||||
result = buf.readUnsignedByte();
|
result = buf.readUnsignedByte();
|
||||||
log.info("[JT-注销] 设备: {}", header.getTerminalPhoneNumber());
|
log.info("[JT-注销] 设备: {}", header.getPhoneNumber());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0001", (long) respNo, result);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0001", (long) respNo, result);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -46,7 +46,7 @@ public class J0100 extends Re {
|
|||||||
device.setDeviceModel(buf.readCharSequence(30, Charset.forName("GBK"))
|
device.setDeviceModel(buf.readCharSequence(30, Charset.forName("GBK"))
|
||||||
.toString().trim());
|
.toString().trim());
|
||||||
|
|
||||||
device.setDeviceId(buf.readCharSequence(30, Charset.forName("GBK"))
|
device.setTerminalId(buf.readCharSequence(30, Charset.forName("GBK"))
|
||||||
.toString().trim());
|
.toString().trim());
|
||||||
|
|
||||||
device.setPlateColor(buf.readByte());
|
device.setPlateColor(buf.readByte());
|
||||||
@ -66,7 +66,7 @@ public class J0100 extends Re {
|
|||||||
|
|
||||||
byte[] bytes7 = new byte[7];
|
byte[] bytes7 = new byte[7];
|
||||||
buf.readBytes(bytes7);
|
buf.readBytes(bytes7);
|
||||||
device.setDeviceId(new String(bytes7).trim());
|
device.setTerminalId(new String(bytes7).trim());
|
||||||
|
|
||||||
device.setPlateColor(buf.readByte());
|
device.setPlateColor(buf.readByte());
|
||||||
byte[] plateColorBytes = new byte[buf.readableBytes()];
|
byte[] plateColorBytes = new byte[buf.readableBytes()];
|
||||||
@ -85,7 +85,7 @@ public class J0100 extends Re {
|
|||||||
J8100 j8100 = new J8100();
|
J8100 j8100 = new J8100();
|
||||||
j8100.setRespNo(header.getSn());
|
j8100.setRespNo(header.getSn());
|
||||||
// 从数据库判断这个设备是否合法
|
// 从数据库判断这个设备是否合法
|
||||||
JTDevice deviceInDb = service.getDevice(header.getTerminalPhoneNumber());
|
JTDevice deviceInDb = service.getDevice(header.getPhoneNumber());
|
||||||
if (deviceInDb != null) {
|
if (deviceInDb != null) {
|
||||||
j8100.setResult(J8100.SUCCESS);
|
j8100.setResult(J8100.SUCCESS);
|
||||||
String authenticationCode = UUID.randomUUID().toString();
|
String authenticationCode = UUID.randomUUID().toString();
|
||||||
@ -105,14 +105,14 @@ public class J0100 extends Re {
|
|||||||
}
|
}
|
||||||
deviceInDb.setDeviceModel(device.getDeviceModel());
|
deviceInDb.setDeviceModel(device.getDeviceModel());
|
||||||
deviceInDb.setMakerId(device.getMakerId());
|
deviceInDb.setMakerId(device.getMakerId());
|
||||||
deviceInDb.setDeviceId(device.getDeviceId());
|
deviceInDb.setTerminalId(device.getTerminalId());
|
||||||
// TODO 支持直接展示车牌颜色的描述
|
// TODO 支持直接展示车牌颜色的描述
|
||||||
deviceInDb.setPlateColor(device.getPlateColor());
|
deviceInDb.setPlateColor(device.getPlateColor());
|
||||||
deviceInDb.setPlateNo(device.getPlateNo());
|
deviceInDb.setPlateNo(device.getPlateNo());
|
||||||
service.updateDevice(deviceInDb);
|
service.updateDevice(deviceInDb);
|
||||||
log.info("[JT-注册成功] 设备: {}", deviceInDb);
|
log.info("[JT-注册成功] 设备: {}", deviceInDb);
|
||||||
}else {
|
}else {
|
||||||
log.info("[JT-注册失败] 未授权设备: {}", header.getTerminalPhoneNumber());
|
log.info("[JT-注册失败] 未授权设备: {}", header.getPhoneNumber());
|
||||||
j8100.setResult(J8100.FAIL);
|
j8100.setResult(J8100.FAIL);
|
||||||
// 断开连接,清理资源
|
// 断开连接,清理资源
|
||||||
if (session.isRegistered()) {
|
if (session.isRegistered()) {
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class J0102 extends Re {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
JTDevice device = service.getDevice(header.getTerminalPhoneNumber());
|
JTDevice device = service.getDevice(header.getPhoneNumber());
|
||||||
J8001 j8001 = new J8001();
|
J8001 j8001 = new J8001();
|
||||||
j8001.setRespNo(header.getSn());
|
j8001.setRespNo(header.getSn());
|
||||||
j8001.setRespId(header.getMsgId());
|
j8001.setRespId(header.getMsgId());
|
||||||
|
|||||||
@ -164,7 +164,7 @@ public class J0104 extends Re {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0104", (long) respNo, deviceConfig);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0104", (long) respNo, deviceConfig);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -60,7 +60,7 @@ public class J0107 extends Re {
|
|||||||
deviceAttribute.setGnssAttribute(JTGnssAttribute.getInstance(buf.readUnsignedByte()));
|
deviceAttribute.setGnssAttribute(JTGnssAttribute.getInstance(buf.readUnsignedByte()));
|
||||||
deviceAttribute.setCommunicationModuleAttribute(JTCommunicationModuleAttribute.getInstance(buf.readUnsignedByte()));
|
deviceAttribute.setCommunicationModuleAttribute(JTCommunicationModuleAttribute.getInstance(buf.readUnsignedByte()));
|
||||||
|
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0107", null, deviceAttribute);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0107", null, deviceAttribute);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -89,7 +89,7 @@ public class J0200 extends Re {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
JTDevice deviceInDb = service.getDevice(header.getTerminalPhoneNumber());
|
JTDevice deviceInDb = service.getDevice(header.getPhoneNumber());
|
||||||
J8001 j8001 = new J8001();
|
J8001 j8001 = new J8001();
|
||||||
j8001.setRespNo(header.getSn());
|
j8001.setRespNo(header.getSn());
|
||||||
j8001.setRespId(header.getMsgId());
|
j8001.setRespId(header.getMsgId());
|
||||||
|
|||||||
@ -33,13 +33,13 @@ public class J0201 extends Re {
|
|||||||
|
|
||||||
positionInfo = JTPositionBaseInfo.decode(buf);
|
positionInfo = JTPositionBaseInfo.decode(buf);
|
||||||
log.info("[JT-位置信息查询应答]: {}", positionInfo.toString());
|
log.info("[JT-位置信息查询应答]: {}", positionInfo.toString());
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0201", (long) respNo, positionInfo);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0201", (long) respNo, positionInfo);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
JTDevice deviceInDb = service.getDevice(header.getTerminalPhoneNumber());
|
JTDevice deviceInDb = service.getDevice(header.getPhoneNumber());
|
||||||
J8001 j8001 = new J8001();
|
J8001 j8001 = new J8001();
|
||||||
j8001.setRespNo(header.getSn());
|
j8001.setRespNo(header.getSn());
|
||||||
j8001.setRespId(header.getMsgId());
|
j8001.setRespId(header.getMsgId());
|
||||||
|
|||||||
@ -28,13 +28,13 @@ public class J0500 extends Re {
|
|||||||
int respNo = buf.readUnsignedShort();
|
int respNo = buf.readUnsignedShort();
|
||||||
positionInfo = JTPositionBaseInfo.decode(buf);
|
positionInfo = JTPositionBaseInfo.decode(buf);
|
||||||
log.info("[JT-车辆控制应答]: {}", positionInfo.toString());
|
log.info("[JT-车辆控制应答]: {}", positionInfo.toString());
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0500", (long) respNo, positionInfo);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0500", (long) respNo, positionInfo);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
JTDevice deviceInDb = service.getDevice(header.getTerminalPhoneNumber());
|
JTDevice deviceInDb = service.getDevice(header.getPhoneNumber());
|
||||||
J8001 j8001 = new J8001();
|
J8001 j8001 = new J8001();
|
||||||
j8001.setRespNo(header.getSn());
|
j8001.setRespNo(header.getSn());
|
||||||
j8001.setRespId(header.getMsgId());
|
j8001.setRespId(header.getMsgId());
|
||||||
|
|||||||
@ -33,7 +33,7 @@ public class J0608 extends Re {
|
|||||||
log.info("[JT-查询区域或线路数据应答]: 类型: {}, 数量: {}", type, dataLength);
|
log.info("[JT-查询区域或线路数据应答]: 类型: {}, 数量: {}", type, dataLength);
|
||||||
List<JTAreaOrRoute> areaOrRoutes = new ArrayList<>();
|
List<JTAreaOrRoute> areaOrRoutes = new ArrayList<>();
|
||||||
if (dataLength == 0) {
|
if (dataLength == 0) {
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0608", null, areaOrRoutes);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0608", null, areaOrRoutes);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -46,7 +46,7 @@ public class J0608 extends Re {
|
|||||||
JTCircleArea jtCircleArea = JTCircleArea.decode(buf);
|
JTCircleArea jtCircleArea = JTCircleArea.decode(buf);
|
||||||
jtCircleAreas.add(jtCircleArea);
|
jtCircleAreas.add(jtCircleArea);
|
||||||
}
|
}
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0608", null, jtCircleAreas);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0608", null, jtCircleAreas);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
buf.readUnsignedByte();
|
buf.readUnsignedByte();
|
||||||
@ -58,7 +58,7 @@ public class J0608 extends Re {
|
|||||||
JTRectangleArea jtRectangleArea = JTRectangleArea.decode(buf);
|
JTRectangleArea jtRectangleArea = JTRectangleArea.decode(buf);
|
||||||
jtRectangleAreas.add(jtRectangleArea);
|
jtRectangleAreas.add(jtRectangleArea);
|
||||||
}
|
}
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0608", null, jtRectangleAreas);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0608", null, jtRectangleAreas);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
// 查询多 边形区域数据
|
// 查询多 边形区域数据
|
||||||
@ -68,7 +68,7 @@ public class J0608 extends Re {
|
|||||||
JTPolygonArea jtRectangleArea = JTPolygonArea.decode(buf);
|
JTPolygonArea jtRectangleArea = JTPolygonArea.decode(buf);
|
||||||
jtPolygonAreas.add(jtRectangleArea);
|
jtPolygonAreas.add(jtRectangleArea);
|
||||||
}
|
}
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0608", null, jtPolygonAreas);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0608", null, jtPolygonAreas);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
// 查询线路数据
|
// 查询线路数据
|
||||||
@ -78,7 +78,7 @@ public class J0608 extends Re {
|
|||||||
JTRoute jtRoute = JTRoute.decode(buf);
|
JTRoute jtRoute = JTRoute.decode(buf);
|
||||||
jtRoutes.add(jtRoute);
|
jtRoutes.add(jtRoute);
|
||||||
}
|
}
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0608", null, jtRoutes);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0608", null, jtRoutes);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -27,7 +27,7 @@ public class J0702 extends Re {
|
|||||||
protected Rs decode0(ByteBuf buf, Header header, Session session) {
|
protected Rs decode0(ByteBuf buf, Header header, Session session) {
|
||||||
driverInformation = JTDriverInformation.decode(buf);
|
driverInformation = JTDriverInformation.decode(buf);
|
||||||
log.info("[JT-驾驶员身份信息采集上报]: {}", driverInformation.toString());
|
log.info("[JT-驾驶员身份信息采集上报]: {}", driverInformation.toString());
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0702", null, driverInformation);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0702", null, driverInformation);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -70,7 +70,7 @@ public class J0801 extends Re {
|
|||||||
log.info("[JT-多媒体数据上传] 写入文件失败", e);
|
log.info("[JT-多媒体数据上传] 写入文件失败", e);
|
||||||
}
|
}
|
||||||
log.info("[JT-多媒体数据上传]: {}", mediaEventInfo);
|
log.info("[JT-多媒体数据上传]: {}", mediaEventInfo);
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0801", null, mediaEventInfo);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0801", null, mediaEventInfo);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,7 +34,7 @@ public class J0802 extends Re {
|
|||||||
int length = buf.readUnsignedShort();
|
int length = buf.readUnsignedShort();
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
log.info("[JT-存储多媒体数据检索应答]: {}", length);
|
log.info("[JT-存储多媒体数据检索应答]: {}", length);
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0802", (long) respNo, new ArrayList<>());
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0802", (long) respNo, new ArrayList<>());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
mediaDataInfoList = new ArrayList<>(length);
|
mediaDataInfoList = new ArrayList<>(length);
|
||||||
@ -42,7 +42,7 @@ public class J0802 extends Re {
|
|||||||
mediaDataInfoList.add(JTMediaDataInfo.decode(buf));
|
mediaDataInfoList.add(JTMediaDataInfo.decode(buf));
|
||||||
}
|
}
|
||||||
log.info("[JT-存储多媒体数据检索应答]: {}", mediaDataInfoList.size());
|
log.info("[JT-存储多媒体数据检索应答]: {}", mediaDataInfoList.size());
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0802", (long) respNo, mediaDataInfoList);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0802", (long) respNo, mediaDataInfoList);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,13 +39,13 @@ public class J0805 extends Re {
|
|||||||
ids.add(buf.readUnsignedInt());
|
ids.add(buf.readUnsignedInt());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0805", null, ids);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0805", null, ids);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "0001", (long) respNo, result);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "0001", (long) respNo, result);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ public class J1003 extends Re {
|
|||||||
@Override
|
@Override
|
||||||
protected Rs decode0(ByteBuf buf, Header header, Session session) {
|
protected Rs decode0(ByteBuf buf, Header header, Session session) {
|
||||||
mediaAttribute = JTMediaAttribute.decode(buf);
|
mediaAttribute = JTMediaAttribute.decode(buf);
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "1003", null, mediaAttribute);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "1003", null, mediaAttribute);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ public class J1205 extends Re {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||||
SessionManager.INSTANCE.response(header.getTerminalPhoneNumber(), "1205", (long) respNo, recordList);
|
SessionManager.INSTANCE.response(header.getPhoneNumber(), "1205", (long) respNo, recordList);
|
||||||
J8001 j8001 = new J8001();
|
J8001 j8001 = new J8001();
|
||||||
j8001.setRespNo(header.getSn());
|
j8001.setRespNo(header.getSn());
|
||||||
j8001.setRespId(header.getMsgId());
|
j8001.setRespId(header.getMsgId());
|
||||||
|
|||||||
@ -24,7 +24,7 @@ public abstract class Re {
|
|||||||
|
|
||||||
public Rs decode(ByteBuf buf, Header header, Session session, Ijt1078Service service) {
|
public Rs decode(ByteBuf buf, Header header, Session session, Ijt1078Service service) {
|
||||||
if (session != null && !StringUtils.hasLength(session.getDevId())) {
|
if (session != null && !StringUtils.hasLength(session.getDevId())) {
|
||||||
session.register(header.getTerminalPhoneNumber(), (int) header.getVersion(), header);
|
session.register(header.getPhoneNumber(), (int) header.getVersion(), header);
|
||||||
}
|
}
|
||||||
Rs rs = decode0(buf, header, session);
|
Rs rs = decode0(buf, header, session);
|
||||||
Rs rsHand = handler(header, session, service);
|
Rs rsHand = handler(header, session, service);
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface Ijt1078Service {
|
public interface Ijt1078Service {
|
||||||
JTDevice getDevice(Integer terminalId);
|
JTDevice getDevice(String phoneNumber);
|
||||||
|
|
||||||
void updateDevice(JTDevice deviceInDb);
|
void updateDevice(JTDevice deviceInDb);
|
||||||
|
|
||||||
@ -17,9 +17,9 @@ public interface Ijt1078Service {
|
|||||||
|
|
||||||
void addDevice(JTDevice device);
|
void addDevice(JTDevice device);
|
||||||
|
|
||||||
void deleteDeviceByPhoneNumber(Integer phoneNumber);
|
void deleteDeviceByPhoneNumber(String phoneNumber);
|
||||||
|
|
||||||
void updateDeviceStatus(boolean connected, Integer terminalId);
|
void updateDeviceStatus(boolean connected, String phoneNumber);
|
||||||
|
|
||||||
void play(String phoneNumber, String channelId, int type, GeneralCallback<StreamInfo> callback);
|
void play(String phoneNumber, String channelId, int type, GeneralCallback<StreamInfo> callback);
|
||||||
|
|
||||||
@ -118,5 +118,11 @@ public interface Ijt1078Service {
|
|||||||
|
|
||||||
void recordDownload(String phoneNumber, String channelId, String startTime, String endTime, Integer type, Integer rate, GeneralCallback<String> fileCallback);
|
void recordDownload(String phoneNumber, String channelId, String startTime, String endTime, Integer type, Integer rate, GeneralCallback<String> fileCallback);
|
||||||
|
|
||||||
List<JTChannel> getChannelList(int phoneNumber, String query);
|
List<JTChannel> getChannelList(int deviceId, String query);
|
||||||
|
|
||||||
|
void updateChannel(JTChannel channel);
|
||||||
|
|
||||||
|
void addChannel(JTChannel channel);
|
||||||
|
|
||||||
|
void deleteChannelById(Integer id);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import com.genersoft.iot.vmp.jt1078.bean.*;
|
|||||||
import com.genersoft.iot.vmp.jt1078.bean.common.ConfigAttribute;
|
import com.genersoft.iot.vmp.jt1078.bean.common.ConfigAttribute;
|
||||||
import com.genersoft.iot.vmp.jt1078.cmd.JT1078Template;
|
import com.genersoft.iot.vmp.jt1078.cmd.JT1078Template;
|
||||||
import com.genersoft.iot.vmp.jt1078.dao.JTChannelMapper;
|
import com.genersoft.iot.vmp.jt1078.dao.JTChannelMapper;
|
||||||
import com.genersoft.iot.vmp.jt1078.dao.JTDeviceMapper;
|
import com.genersoft.iot.vmp.jt1078.dao.JTTerminalMapper;
|
||||||
import com.genersoft.iot.vmp.jt1078.event.CallbackManager;
|
import com.genersoft.iot.vmp.jt1078.event.CallbackManager;
|
||||||
import com.genersoft.iot.vmp.jt1078.event.FtpUploadEvent;
|
import com.genersoft.iot.vmp.jt1078.event.FtpUploadEvent;
|
||||||
import com.genersoft.iot.vmp.jt1078.proc.request.J1205;
|
import com.genersoft.iot.vmp.jt1078.proc.request.J1205;
|
||||||
@ -36,7 +36,6 @@ import com.genersoft.iot.vmp.utils.DateUtil;
|
|||||||
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
|
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import org.apache.commons.compress.utils.IOUtils;
|
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -45,10 +44,7 @@ import org.springframework.context.event.EventListener;
|
|||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.servlet.ServletOutputStream;
|
|
||||||
import java.io.*;
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
@ -58,7 +54,7 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
private final static Logger logger = LoggerFactory.getLogger(jt1078ServiceImpl.class);
|
private final static Logger logger = LoggerFactory.getLogger(jt1078ServiceImpl.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private JTDeviceMapper jtDeviceMapper;
|
private JTTerminalMapper jtDeviceMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private JTChannelMapper jtChannelMapper;
|
private JTChannelMapper jtChannelMapper;
|
||||||
@ -98,8 +94,8 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JTDevice getDevice(Integer terminalId) {
|
public JTDevice getDevice(String phoneNumber) {
|
||||||
return jtDeviceMapper.getDevice(terminalId);
|
return jtDeviceMapper.getDevice(phoneNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -123,13 +119,13 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteDeviceByPhoneNumber(Integer phoneNumber) {
|
public void deleteDeviceByPhoneNumber(String phoneNumber) {
|
||||||
jtDeviceMapper.deleteDeviceByTerminalId(phoneNumber);
|
jtDeviceMapper.deleteDeviceByPhoneNumber(phoneNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDeviceStatus(boolean connected, Integer terminalId) {
|
public void updateDeviceStatus(boolean connected, String phoneNumber) {
|
||||||
jtDeviceMapper.updateDeviceStatus(connected, terminalId);
|
jtDeviceMapper.updateDeviceStatus(connected, phoneNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Map<String, List<GeneralCallback<StreamInfo>>> inviteErrorCallbackMap = new ConcurrentHashMap<>();
|
private final Map<String, List<GeneralCallback<StreamInfo>>> inviteErrorCallbackMap = new ConcurrentHashMap<>();
|
||||||
@ -1013,4 +1009,19 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
public List<JTChannel> getChannelList(int deviceId, String query) {
|
public List<JTChannel> getChannelList(int deviceId, String query) {
|
||||||
return jtChannelMapper.getAll(deviceId, query);
|
return jtChannelMapper.getAll(deviceId, query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateChannel(JTChannel channel) {
|
||||||
|
jtChannelMapper.update(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addChannel(JTChannel channel) {
|
||||||
|
jtChannelMapper.add(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteChannelById(Integer id) {
|
||||||
|
jtChannelMapper.delete(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -315,10 +315,10 @@ create table wvp_resources_tree (
|
|||||||
path character varying(255)
|
path character varying(255)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table wvp_jt_device (
|
create table wvp_jt_terminal (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
device_id character varying(50),
|
device_id character varying(50),
|
||||||
phone_number character varying(50) not null,
|
phone_number character varying(50),
|
||||||
province_id character varying(50),
|
province_id character varying(50),
|
||||||
province_text character varying(100),
|
province_text character varying(100),
|
||||||
city_id character varying(50),
|
city_id character varying(50),
|
||||||
@ -334,7 +334,7 @@ create table wvp_jt_device (
|
|||||||
register_time character varying(50) not null,
|
register_time character varying(50) not null,
|
||||||
update_time character varying(50) not null,
|
update_time character varying(50) not null,
|
||||||
create_time character varying(50) not null,
|
create_time character varying(50) not null,
|
||||||
constraint uk_jt_device_id_device_id unique (id, terminal_id)
|
constraint uk_jt_device_id_device_id unique (id, phone_number)
|
||||||
);
|
);
|
||||||
create table wvp_jt_channel (
|
create table wvp_jt_channel (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
|
|||||||
@ -315,10 +315,10 @@ create table wvp_resources_tree (
|
|||||||
path character varying(255)
|
path character varying(255)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table wvp_jt_device (
|
create table wvp_jt_terminal (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
device_id character varying(50),
|
device_id character varying(50),
|
||||||
phone_number character varying(50) not null,
|
phone_number character varying(50),
|
||||||
province_id character varying(50),
|
province_id character varying(50),
|
||||||
province_text character varying(100),
|
province_text character varying(100),
|
||||||
city_id character varying(50),
|
city_id character varying(50),
|
||||||
@ -334,7 +334,7 @@ create table wvp_jt_device (
|
|||||||
register_time character varying(50) not null,
|
register_time character varying(50) not null,
|
||||||
update_time character varying(50) not null,
|
update_time character varying(50) not null,
|
||||||
create_time character varying(50) not null,
|
create_time character varying(50) not null,
|
||||||
constraint uk_jt_device_id_device_id unique (id, terminal_id)
|
constraint uk_jt_device_id_device_id unique (id, phone_number)
|
||||||
);
|
);
|
||||||
create table wvp_jt_channel (
|
create table wvp_jt_channel (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
create table wvp_jt_device (
|
create table wvp_jt_terminal (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
device_id character varying(50),
|
device_id character varying(50),
|
||||||
phone_number integer,
|
phone_number character varying(50),
|
||||||
province_id character varying(50),
|
province_id character varying(50),
|
||||||
province_text character varying(100),
|
province_text character varying(100),
|
||||||
city_id character varying(50),
|
city_id character varying(50),
|
||||||
@ -17,7 +17,7 @@ create table wvp_jt_device (
|
|||||||
register_time character varying(50) not null,
|
register_time character varying(50) not null,
|
||||||
update_time character varying(50) not null,
|
update_time character varying(50) not null,
|
||||||
create_time character varying(50) not null,
|
create_time character varying(50) not null,
|
||||||
constraint uk_jt_device_id_device_id unique (id, terminal_id)
|
constraint uk_jt_device_id_device_id unique (id, phone_number)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table wvp_jt_channel (
|
create table wvp_jt_channel (
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
create table wvp_jt_device (
|
create table wvp_jt_terminal (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
device_id character varying(50),
|
device_id character varying(50),
|
||||||
phone_number character varying(50) not null,
|
phone_number character varying(50),
|
||||||
province_id character varying(50),
|
province_id character varying(50),
|
||||||
province_text character varying(100),
|
province_text character varying(100),
|
||||||
city_id character varying(50),
|
city_id character varying(50),
|
||||||
@ -17,7 +17,7 @@ create table wvp_jt_device (
|
|||||||
register_time character varying(50) not null,
|
register_time character varying(50) not null,
|
||||||
update_time character varying(50) not null,
|
update_time character varying(50) not null,
|
||||||
create_time character varying(50) not null,
|
create_time character varying(50) not null,
|
||||||
constraint uk_jt_device_id_device_id unique (id, terminal_id)
|
constraint uk_jt_device_id_device_id unique (id, phone_number)
|
||||||
);
|
);
|
||||||
create table wvp_jt_channel (
|
create table wvp_jt_channel (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user