1078-添加部标通道页面

This commit is contained in:
648540858
2024-06-07 00:10:36 +08:00
parent f7d811a299
commit 5d5d654410
30 changed files with 887 additions and 198 deletions

View File

@@ -20,7 +20,7 @@ public class JTChannel {
* 设备的数据库ID
*/
@Schema(description = "设备的数据库ID")
private int deviceId;
private int terminalId;
/**
* 通道ID
@@ -51,12 +51,12 @@ public class JTChannel {
this.name = name;
}
public int getDeviceId() {
return deviceId;
public int getTerminalId() {
return terminalId;
}
public void setDeviceId(int deviceId) {
this.deviceId = deviceId;
public void setTerminalId(int terminalId) {
this.terminalId = terminalId;
}
public String getCreateTime() {
@@ -88,7 +88,7 @@ public class JTChannel {
return "JTChannel{" +
"id=" + id +
", name='" + name + '\'' +
", deviceId=" + deviceId +
", terminalId=" + terminalId +
", channelId=" + channelId +
", createTime='" + createTime + '\'' +
", updateTime='" + updateTime + '\'' +

View File

@@ -44,7 +44,7 @@ public class JTDevice {
* 终端型号
*/
@Schema(description = "终端型号")
private String deviceModel;
private String model;
/**
* 终端手机号
@@ -89,6 +89,10 @@ public class JTDevice {
private Double latitude;
@Schema(description = "注册时间")
private String registerTime;
@Schema(description = "创建时间")
private String createTime;
@@ -146,12 +150,12 @@ public class JTDevice {
this.makerId = makerId;
}
public String getDeviceModel() {
return deviceModel;
public String getModel() {
return model;
}
public void setDeviceModel(String deviceModel) {
this.deviceModel = deviceModel;
public void setModel(String model) {
this.model = model;
}
public String getPhoneNumber() {
@@ -234,6 +238,14 @@ public class JTDevice {
this.status = status;
}
public String getRegisterTime() {
return registerTime;
}
public void setRegisterTime(String registerTime) {
this.registerTime = registerTime;
}
@Override
public String toString() {
return "JTDevice{" +
@@ -242,11 +254,12 @@ public class JTDevice {
", 市县域ID='" + cityId + '\'' +
", 市县域文字描述='" + cityText + '\'' +
", 制造商ID='" + makerId + '\'' +
", 终端型号='" + deviceModel + '\'' +
", 终端型号='" + model + '\'' +
", 终端手机号='" + phoneNumber + '\'' +
", 设备ID='" + terminalId + '\'' +
", 车牌颜色=" + plateColor +
", 车牌='" + plateNo + '\'' +
", 注册时间='" + registerTime + '\'' +
", 鉴权码='" + authenticationCode + '\'' +
", status=" + status +
'}';

View File

@@ -81,7 +81,7 @@ public class JT1078Template {
*/
public Object startLive(String devId, J9101 j9101, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9101)
.setRespId(H0001)
@@ -98,7 +98,7 @@ public class JT1078Template {
*/
public Object stopLive(String devId, J9102 j9102, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9102)
.setRespId(H0001)
@@ -115,7 +115,7 @@ public class JT1078Template {
*/
public Object queryBackTime(String devId, J9205 j9205, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9205)
.setRespId(H1205)
@@ -132,7 +132,7 @@ public class JT1078Template {
*/
public Object startBackLive(String devId, J9201 j9201, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9201)
.setRespId(H1205)
@@ -149,7 +149,7 @@ public class JT1078Template {
*/
public Object controlBackLive(String devId, J9202 j9202, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9202)
.setRespId(H0001)
@@ -166,7 +166,7 @@ public class JT1078Template {
*/
public Object fileUpload(String devId, J9206 j9206, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9206)
.setRespId(H0001)
@@ -183,7 +183,7 @@ public class JT1078Template {
*/
public Object fileUploadControl(String devId, J9207 j9207, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9207)
.setRespId(H0001)
@@ -200,7 +200,7 @@ public class JT1078Template {
*/
public Object ptzRotate(String devId, J9301 j9301, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9301)
.setRespId(H0001)
@@ -217,7 +217,7 @@ public class JT1078Template {
*/
public Object ptzFocal(String devId, J9302 j9302, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9302)
.setRespId(H0001)
@@ -234,7 +234,7 @@ public class JT1078Template {
*/
public Object ptzIris(String devId, J9303 j9303, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9303)
.setRespId(H0001)
@@ -251,7 +251,7 @@ public class JT1078Template {
*/
public Object ptzWiper(String devId, J9304 j9304, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9304)
.setRespId(H0001)
@@ -268,7 +268,7 @@ public class JT1078Template {
*/
public Object ptzSupplementaryLight(String devId, J9305 j9305, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9305)
.setRespId(H0001)
@@ -285,7 +285,7 @@ public class JT1078Template {
*/
public Object ptzZoom(String devId, J9306 j9306, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9306)
.setRespId(H0001)
@@ -302,7 +302,7 @@ public class JT1078Template {
public Object getDeviceConfig(String devId, J8104 j8104, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8104)
.setRespId(H0104)
@@ -319,7 +319,7 @@ public class JT1078Template {
public Object getDeviceSpecifyConfig(String devId, J8106 j8106, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8106)
.setRespId(H0104)
@@ -336,7 +336,7 @@ public class JT1078Template {
public Object setDeviceSpecifyConfig(String devId, J8103 j8103, Integer timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8103)
.setRespId(H0001)
@@ -354,7 +354,7 @@ public class JT1078Template {
*/
public Object deviceControl(String devId, J8105 j8105, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8105)
.setRespId(H0001)
@@ -368,7 +368,7 @@ public class JT1078Template {
*/
public Object deviceAttribute(String devId, J8107 j8107, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8107)
.setRespId(H0107)
@@ -382,7 +382,7 @@ public class JT1078Template {
*/
public Object queryPositionInfo(String devId, J8201 j8201, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8201)
.setRespId(H0201)
@@ -393,7 +393,7 @@ public class JT1078Template {
public Object tempPositionTrackingControl(String devId, J8202 j8202, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8202)
.setRespId(H0001)
@@ -404,7 +404,7 @@ public class JT1078Template {
public Object confirmationAlarmMessage(String devId, J8203 j8203, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8203)
.setRespId(H0001)
@@ -415,7 +415,7 @@ public class JT1078Template {
public Object linkDetection(String devId, J8204 j8204, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8204)
.setRespId(H0001)
@@ -426,7 +426,7 @@ public class JT1078Template {
public Object textMessage(String devId, J8300 j8300, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8300)
.setRespId(H0001)
@@ -437,7 +437,7 @@ public class JT1078Template {
public Object telephoneCallback(String devId, J8400 j8400, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8400)
.setRespId(H0001)
@@ -448,7 +448,7 @@ public class JT1078Template {
public Object setPhoneBook(String devId, J8401 j8401, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8401)
.setRespId(H0001)
@@ -459,7 +459,7 @@ public class JT1078Template {
public Object vehicleControl(String devId, J8500 j8500, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8500)
.setRespId(H0500)
@@ -470,7 +470,7 @@ public class JT1078Template {
public Object setAreaForCircle(String devId, J8600 j8600, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8600)
.setRespId(H0001)
@@ -481,7 +481,7 @@ public class JT1078Template {
public Object deleteAreaForCircle(String devId, J8601 j8601, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8601)
.setRespId(H0001)
@@ -492,7 +492,7 @@ public class JT1078Template {
public Object setAreaForRectangle(String devId, J8602 j8602, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8602)
.setRespId(H0001)
@@ -503,7 +503,7 @@ public class JT1078Template {
public Object deleteAreaForRectangle(String devId, J8603 j8603, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8603)
.setRespId(H0001)
@@ -514,7 +514,7 @@ public class JT1078Template {
public Object setAreaForPolygon(String devId, J8604 j8604, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8604)
.setRespId(H0001)
@@ -525,7 +525,7 @@ public class JT1078Template {
public Object deleteAreaForPolygon(String devId, J8605 j8605, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8605)
.setRespId(H0001)
@@ -536,7 +536,7 @@ public class JT1078Template {
public Object setRoute(String devId, J8606 j8606, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8606)
.setRespId(H0001)
@@ -547,7 +547,7 @@ public class JT1078Template {
public Object deleteRoute(String devId, J8607 j8607, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8607)
.setRespId(H0001)
@@ -558,7 +558,7 @@ public class JT1078Template {
public Object queryAreaOrRoute(String devId, J8608 j8608, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8608)
.setRespId(H0608)
@@ -569,7 +569,7 @@ public class JT1078Template {
public Object queryDriverInformation(String devId, J8702 j8702, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8702)
.setRespId(H0702)
@@ -580,7 +580,7 @@ public class JT1078Template {
public Object shooting(String devId, J8801 j8801, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8801)
.setRespId(H0805)
@@ -591,7 +591,7 @@ public class JT1078Template {
public Object queryMediaData(String devId, J8802 j8802, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8802)
.setRespId(H0802)
@@ -602,7 +602,7 @@ public class JT1078Template {
public Object uploadMediaData(String devId, J8803 j8803, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8803)
.setRespId(H0801)
@@ -613,7 +613,7 @@ public class JT1078Template {
public Object record(String devId, J8804 j8804, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8804)
.setRespId(H0001)
@@ -624,7 +624,7 @@ public class JT1078Template {
public Object uploadMediaDataForSingle(String devId, J8805 j8805, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H8805)
.setRespId(H0801)
@@ -635,7 +635,7 @@ public class JT1078Template {
public Object queryMediaAttribute(String devId, J9003 j9003, int timeOut) {
Cmd cmd = new Cmd.Builder()
.setDevId(devId)
.setPhoneNumber(devId)
.setPackageNo(randomInt())
.setMsgId(H9003)
.setRespId(H1003)

View File

@@ -12,7 +12,6 @@ import com.genersoft.iot.vmp.service.bean.InviteErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;

View File

@@ -21,11 +21,11 @@ import java.util.List;
@ConditionalOnProperty(value = "jt1078.enable", havingValue = "true")
@RestController
@Tag(name = "部标设备管理")
@RequestMapping("/api/jt1078/device")
public class JT1078DeviceController {
@Tag(name = "部标终端以及通道管理")
@RequestMapping("/api/jt1078/terminal")
public class JT1078TerminalController {
private final static Logger logger = LoggerFactory.getLogger(JT1078DeviceController.class);
private final static Logger logger = LoggerFactory.getLogger(JT1078TerminalController.class);
@Resource
Ijt1078Service service;
@@ -71,18 +71,21 @@ public class JT1078DeviceController {
@Operation(summary = "1078-查询部标通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "page", description = "当前页", required = true)
@Parameter(name = "count", 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 deviceId,
@RequestParam(required = false) String query) {
public PageInfo<JTChannel> getChannels(int page, int count,
@RequestParam(required = true) Integer deviceId,
@RequestParam(required = false) String query) {
assert deviceId != null;
return service.getChannelList(deviceId, query);
return service.getChannelList(page, count, deviceId, query);
}
@Operation(summary = "1078-更新通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "channel", description = "通道", required = true)
@PostMapping("/update")
@PostMapping("/channel/update")
public void updateChannel(JTChannel channel){
assert channel.getId() > 0;
assert channel.getChannelId() != null;
@@ -91,14 +94,14 @@ public class JT1078DeviceController {
@Operation(summary = "1078-新增通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "channel", description = "通道", required = true)
@PostMapping("/add")
@PostMapping("/channel/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")
@DeleteMapping("/channel/delete")
public void deleteChannel(Integer id){
service.deleteChannelById(id);
}

View File

@@ -9,7 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "人工确认报警消息参数")
public class ConfirmationAlarmMessageParam {
@Schema(description = "设备")
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "报警消息流水号")
private int alarmPackageNo;

View File

@@ -1,9 +1,11 @@
package com.genersoft.iot.vmp.jt1078.controller.bean;
import com.genersoft.iot.vmp.jt1078.bean.JTDeviceConnectionControl;
import io.swagger.v3.oas.annotations.media.Schema;
public class ConnectionControlParam {
@Schema(description = "终端手机号")
private String phoneNumber;
private JTDeviceConnectionControl control;

View File

@@ -7,7 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "存储多媒体数据参数")
public class QueryMediaDataParam {
@Schema(description = "设备")
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "多媒体 ID, 单条存储多媒体数据检索上传时有效")

View File

@@ -8,7 +8,7 @@ import java.util.List;
@Schema(description = "设置区域参数")
public class SetAreaParam {
@Schema(description = "设备")
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "圆形区域项")

View File

@@ -1,10 +1,15 @@
package com.genersoft.iot.vmp.jt1078.controller;
package com.genersoft.iot.vmp.jt1078.controller.bean;
import com.genersoft.iot.vmp.jt1078.bean.JTDeviceConfig;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "终端参数设置")
public class SetConfigParam {
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "终端参数设置")
private JTDeviceConfig config;
public String getPhoneNumber() {

View File

@@ -9,7 +9,7 @@ import java.util.List;
@Schema(description = "设置电话本")
public class SetPhoneBookParam {
@Schema(description = "设备手机号")
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "设置类型:\n" +

View File

@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "摄像头立即拍摄命令参数")
public class ShootingParam {
@Schema(description = "设备")
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "拍摄命令参数")

View File

@@ -9,7 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "人工确认报警消息参数")
public class TextMessageParam {
@Schema(description = "设备手机号")
@Schema(description = "终端手机号")
private String phoneNumber;
@Schema(description = "标志")
private JTTextSign sign;

View File

@@ -14,18 +14,18 @@ public interface JTChannelMapper {
"from " +
"wvp_jt_channel jc " +
"WHERE " +
"device_id = #{deviceId}" +
"terminal_id = #{terminalId}" +
" <if test='query != null'> AND " +
"jc.name LIKE concat('%',#{query},'%') " +
"</if> " +
"ORDER BY jc.update_time " +
" </script>"})
List<JTChannel> getAll(@Param("deviceId") int deviceId, @Param("query") String query);
List<JTChannel> getAll(@Param("terminalId") int terminalId, @Param("query") String query);
@Update(value = {" <script>" +
"UPDATE wvp_jt_channel " +
"SET update_time=#{updateTime}" +
"<if test=\"deviceId != null\">, device_id=#{deviceId}</if>" +
"<if test=\"terminalId != null\">, terminal_id=#{terminalId}</if>" +
"<if test=\"name != null\">, name=#{name}</if>" +
"<if test=\"channelId != null\">, channelId=#{channelId}</if>" +
"WHERE id=#{id}"+
@@ -33,13 +33,13 @@ public interface JTChannelMapper {
void update(JTChannel channel);
@Insert("INSERT INTO wvp_jt_channel (" +
"device_id,"+
"terminal_id,"+
"channel_id,"+
"name,"+
"create_time,"+
"update_time"+
") VALUES (" +
"#{deviceId}," +
"#{terminalId}," +
"#{channelId}," +
"#{name}," +
"#{createTime}," +

View File

@@ -14,18 +14,19 @@ public interface JTTerminalMapper {
@Update(value = {" <script>" +
"UPDATE wvp_jt_terminal " +
"SET update_time=#{updateTime}" +
"<if test=\"terminalId != null\">, terminal_id=#{terminalId}</if>" +
"<if test=\"provinceId != null\">, province_id=#{provinceId}</if>" +
"<if test=\"terminalId != null\">, terminal_id=#{terminalId}</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=\"model != null\">, model=#{model}</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=\"registerTime != null\">, register_time=#{registerTime}</if>" +
"<if test=\"status != null\">, status=#{status}</if>" +
"WHERE phone_number=#{phoneNumber}"+
" </script>"})
@@ -38,11 +39,12 @@ public interface JTTerminalMapper {
"1=1" +
" <if test='query != null'> AND (" +
"jd.phone_number LIKE concat('%',#{query},'%') " +
"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.terminal_id LIKE concat('%',#{query},'%') " +
"OR jd.model LIKE concat('%',#{query},'%') " +
"OR jd.phone_number LIKE concat('%',#{query},'%') " +
"OR jd.plate_no LIKE concat('%',#{query},'%')" +
")</if> " +
" <if test='online == true' > AND jd.status= true</if>" +
@@ -52,36 +54,38 @@ public interface JTTerminalMapper {
List<JTDevice> getDeviceList(@Param("query") String query, @Param("online") Boolean online);
@Insert("INSERT INTO wvp_jt_terminal (" +
"phone_number,"+
"terminal_id,"+
"province_id,"+
"province_text,"+
"city_id,"+
"city_text,"+
"maker_id,"+
"terminal_id,"+
"device_model,"+
"phone_number,"+
"model,"+
"plate_color,"+
"plate_no,"+
"authentication_code,"+
"longitude,"+
"latitude,"+
"create_time,"+
"register_time,"+
"update_time"+
") VALUES (" +
"#{phoneNumber}," +
"#{terminalId}," +
"#{provinceId}," +
"#{provinceText}," +
"#{cityId}," +
"#{cityText}," +
"#{makerId}," +
"#{terminalId}," +
"#{deviceModel}," +
"#{phoneNumber}," +
"#{model}," +
"#{plateColor}," +
"#{plateNo}," +
"#{authenticationCode}," +
"#{longitude}," +
"#{latitude}," +
"#{createTime}," +
"#{registerTime}," +
"#{updateTime}" +
")")
void addDevice(JTDevice device);

View File

@@ -20,7 +20,6 @@ public class Header {
// 消息体流水号
Integer sn;
// 协议版本号
Short version = -1;

View File

@@ -8,7 +8,7 @@ import com.genersoft.iot.vmp.jt1078.proc.response.Rs;
* @email qingtaij@163.com
*/
public class Cmd {
String devId;
String phoneNumber;
Long packageNo;
String msgId;
String respId;
@@ -18,19 +18,19 @@ public class Cmd {
}
public Cmd(Builder builder) {
this.devId = builder.devId;
this.phoneNumber = builder.phoneNumber;
this.packageNo = builder.packageNo;
this.msgId = builder.msgId;
this.respId = builder.respId;
this.rs = builder.rs;
}
public String getDevId() {
return devId;
public String getPhoneNumber() {
return phoneNumber;
}
public void setDevId(String devId) {
this.devId = devId;
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public Long getPackageNo() {
@@ -66,14 +66,14 @@ public class Cmd {
}
public static class Builder {
String devId;
String phoneNumber;
Long packageNo;
String msgId;
String respId;
Rs rs;
public Builder setDevId(String devId) {
this.devId = devId.replaceFirst("^0*", "");
public Builder setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber.replaceFirst("^0*", "");
return this;
}
@@ -106,7 +106,7 @@ public class Cmd {
@Override
public String toString() {
return "Cmd{" +
"devId='" + devId + '\'' +
"devId='" + phoneNumber + '\'' +
", packageNo=" + packageNo +
", msgId='" + msgId + '\'' +
", respId='" + respId + '\'' +

View File

@@ -10,6 +10,7 @@ import com.genersoft.iot.vmp.jt1078.proc.response.Rs;
import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
import com.genersoft.iot.vmp.jt1078.session.Session;
import com.genersoft.iot.vmp.utils.CivilCodeUtil;
import com.genersoft.iot.vmp.utils.DateUtil;
import io.netty.buffer.ByteBuf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,7 +44,7 @@ public class J0100 extends Re {
device.setMakerId(buf.readCharSequence(11, Charset.forName("GBK"))
.toString().trim());
device.setDeviceModel(buf.readCharSequence(30, Charset.forName("GBK"))
device.setModel(buf.readCharSequence(30, Charset.forName("GBK"))
.toString().trim());
device.setTerminalId(buf.readCharSequence(30, Charset.forName("GBK"))
@@ -62,7 +63,7 @@ public class J0100 extends Re {
byte[] bytes20 = new byte[20];
buf.readBytes(bytes20);
device.setDeviceModel(new String(bytes20).trim());
device.setModel(new String(bytes20).trim());
byte[] bytes7 = new byte[7];
buf.readBytes(bytes7);
@@ -93,6 +94,7 @@ public class J0100 extends Re {
deviceInDb.setAuthenticationCode(authenticationCode);
deviceInDb.setStatus(true);
deviceInDb.setProvinceId(device.getProvinceId());
deviceInDb.setRegisterTime(DateUtil.getNow());
CivilCodePo provinceCivilCodePo = CivilCodeUtil.INSTANCE.get(device.getProvinceId());
if (provinceCivilCodePo != null) {
deviceInDb.setProvinceText(provinceCivilCodePo.getName());
@@ -103,7 +105,7 @@ public class J0100 extends Re {
if (cityCivilCodePo != null) {
deviceInDb.setCityText(cityCivilCodePo.getName());
}
deviceInDb.setDeviceModel(device.getDeviceModel());
deviceInDb.setModel(device.getModel());
deviceInDb.setMakerId(device.getMakerId());
deviceInDb.setTerminalId(device.getTerminalId());
// TODO 支持直接展示车牌颜色的描述

View File

@@ -118,7 +118,7 @@ public interface Ijt1078Service {
void recordDownload(String phoneNumber, String channelId, String startTime, String endTime, Integer type, Integer rate, GeneralCallback<String> fileCallback);
List<JTChannel> getChannelList(int deviceId, String query);
PageInfo<JTChannel> getChannelList(int page, int count, int deviceId, String query);
void updateChannel(JTChannel channel);

View File

@@ -113,6 +113,10 @@ public class jt1078ServiceImpl implements Ijt1078Service {
@Override
public void addDevice(JTDevice device) {
JTDevice deviceInDb = jtDeviceMapper.getDevice(device.getPhoneNumber());
if (deviceInDb != null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "设备" + device.getPhoneNumber() + "已存在");
}
device.setCreateTime(DateUtil.getNow());
device.setUpdateTime(DateUtil.getNow());
jtDeviceMapper.addDevice(device);
@@ -1006,17 +1010,22 @@ public class jt1078ServiceImpl implements Ijt1078Service {
}
@Override
public List<JTChannel> getChannelList(int deviceId, String query) {
return jtChannelMapper.getAll(deviceId, query);
public PageInfo<JTChannel> getChannelList(int page, int count, int deviceId, String query) {
PageHelper.startPage(page, count);
List<JTChannel> all = jtChannelMapper.getAll(deviceId, query);
return new PageInfo<>(all);
}
@Override
public void updateChannel(JTChannel channel) {
channel.setUpdateTime(DateUtil.getNow());
jtChannelMapper.update(channel);
}
@Override
public void addChannel(JTChannel channel) {
channel.setCreateTime(DateUtil.getNow());
channel.setUpdateTime(DateUtil.getNow());
jtChannelMapper.add(channel);
}

View File

@@ -5,8 +5,6 @@ import io.netty.channel.Channel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.SynchronousQueue;
@@ -75,16 +73,16 @@ public enum SessionManager {
}
public Object request(Cmd cmd, Integer timeOut) {
Session session = this.get(cmd.getDevId());
Session session = this.get(cmd.getPhoneNumber());
if (session == null) {
log.error("DevId: {} not online!", cmd.getDevId());
log.error("DevId: {} not online!", cmd.getPhoneNumber());
return null;
}
String requestKey = requestKey(cmd.getDevId(), cmd.getRespId(), cmd.getPackageNo());
String requestKey = requestKey(cmd.getPhoneNumber(), cmd.getRespId(), cmd.getPackageNo());
System.out.println("requestKey==" + requestKey);
SynchronousQueue<Object> subscribe = subscribe(requestKey);
if (subscribe == null) {
log.error("DevId: {} key:{} send repaid", cmd.getDevId(), requestKey);
log.error("DevId: {} key:{} send repaid", cmd.getPhoneNumber(), requestKey);
return null;
}
session.writeObject(cmd);