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