Commit 8203c618 authored by wangjinjing's avatar wangjinjing

init

parents
Pipeline #512 failed with stages
This diff is collapsed.
File added
File added
File added
File added
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>hzjt</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hzjt</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- easypoi -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.0.3</version>
</dependency>
<!-- mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- oracle -->
<!-- 数据库相关, 驱动、mybatis、分页插件 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<!-- 连接池druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.7</version>
</dependency>
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.38</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.13.0</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-base</artifactId>
<version>1.1.5</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-core</artifactId>
<version>1.1.5</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.1.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!--<dependency>-->
<!--<groupId>com.fasterxml.jackson.datatype</groupId>-->
<!--<artifactId>jackson-datatype-joda</artifactId>-->
<!--<version>2.9.6</version>-->
<!--</dependency>-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>jms</groupId>
<artifactId>aqapi_g</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${pom.basedir}/lib/aqapi_g.jar</systemPath>
</dependency>
<dependency>
<groupId>jms</groupId>
<artifactId>jmscommon</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${pom.basedir}/lib/jmscommon.jar</systemPath>
</dependency>
<dependency>
<groupId>jms</groupId>
<artifactId>jta</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${pom.basedir}/lib/jta.jar</systemPath>
</dependency>
<dependency>
<groupId>jms</groupId>
<artifactId>ojdbc6</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${pom.basedir}/lib/ojdbc6.jar</systemPath>
</dependency>
<!-- mqtt -->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>jms</groupId>-->
<!-- <artifactId>orai18n</artifactId>-->
<!-- <version>1</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${basedir}/lib/orai18n.jar</systemPath>-->
<!-- </dependency>-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <artifactId>maven-assembly-plugin</artifactId>-->
<!-- <configuration>-->
<!-- <archive>-->
<!-- <manifest>-->
<!-- <mainClass>com.allen.capturewebdata.Main</mainClass>-->
<!-- </manifest>-->
<!-- </archive>-->
<!-- <descriptorRefs>-->
<!-- <descriptorRef>jar-with-dependencies</descriptorRef>-->
<!-- </descriptorRefs>-->
<!-- </configuration>-->
<!-- </plugin>-->
</plugins>
</build>
</project>
package com.hzjt;
import com.hzjt.redis.Receiver;
import com.hzjt.util.Constant;
import tk.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
@SpringBootApplication
public class HZJTApplication {
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapterSingle, MessageListenerAdapter listenerAdapterList) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
// 注入多个消息监听器(receiveSingle/receiveList)
container.addMessageListener(listenerAdapterSingle, new PatternTopic(Constant.receiveSingle));
container.addMessageListener(listenerAdapterList, new PatternTopic(Constant.receiveList));
return container;
}
@Bean
MessageListenerAdapter listenerAdapterSingle(Receiver receiver) {
return new MessageListenerAdapter(receiver, Constant.singleMethodName);
}
@Bean
MessageListenerAdapter listenerAdapterList(Receiver receiver) {
return new MessageListenerAdapter(receiver, Constant.listMethodName);
}
@Bean
Receiver receiver() {
return new Receiver();
}
// @Value("${ip.host}")
// private String ip;
//
// @Bean
// public RestTemplate restTemplate(RestTemplateBuilder builder) {
// // Do any additional configuration here
// return builder.build();
// }
// @Bean
// public WebSocketClient webSocketClient() {
//
// List<WebSocketClient> list=new ArrayList<>();
//
// String[] ips = iptr.split(",");
// for (String ip : ips) {
// try {
// MyWebSocketClient client = new MyWebSocketClient(new URI("ws://" + ip + "8001/api/message/sub/traffic-incident/alarm"));
// client.connect();
// if (!client.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
// //连接失败,重新连接
// client.connect();
// list.add(client);
// }
//
// } catch (URISyntaxException e) {
// e.printStackTrace();
// }
//
// }
// return list;
// }
// @Bean
// public WebSocketClient webSocketClient() {
// try {
// MyWebSocketClient client = new MyWebSocketClient(new URI("ws://" + ip + ":8001/api/message/sub/traffic-incident/alarm"));
//// MyWebSocketClient client = new MyWebSocketClient(new URI("ws://local" + ip + "8001/api/message/sub/traffic-incident/alarm"));
////
// if (!client.isOpen()) {
// if (client.getReadyState().equals(WebSocket.READYSTATE.NOT_YET_CONNECTED)) {
// try {
// client.connect();
// } catch (IllegalStateException e) {
// }
// } else if (client.getReadyState().equals(WebSocket.READYSTATE.CLOSING) || client.getReadyState().equals(WebSocket.READYSTATE.CLOSED)) {
// client.reconnect();
// }
// }
// return client;
//
// } catch (URISyntaxException e) {
// e.printStackTrace();
// }
// return null;
// }
public static void main(String[] args) {
// ConfigurableApplicationContext applicationContext=SpringApplication.run(HZJTApplication.class,args);
// WebSocket.setApplicationContext(applicationContext);
SpringApplication.run(HZJTApplication.class,args);
}
}
package com.hzjt.config;
public interface IMQTTPublisher {
/**
* 发布消息
*
* @param topic 主题
* @param message 消息
*/
public void publishMessage(String topic, String message);
/**
* 断开MQTT客户端
*/
public void disconnect();
}
package com.hzjt.config;
/**
* <p>
* 订阅者接口
*/
public interface IMQTTSubscriber {
/**
* 订阅消息
*
* @param topic
*/
public void subscribeMessage(String topic);
/**
* 断开MQTT客户端
*/
public void disconnect();
}
package com.hzjt.config;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
//@Component
@Data
public class JmsConfig {
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.url}")
private String jdbcUrl;
@Value("${jms.queueName}")
private String queueName;
}
\ No newline at end of file
package com.hzjt.config;
import com.hzjt.mapper.SbtdspsrMapper;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
//@Component
public class MQTTSubsribe {
private static final Logger log = LoggerFactory.getLogger(MQTTSubsribe.class);
@Value("${spring.mqtt.password}")
private String password;
@Value("${spring.mqtt.username}")
private String username;
@Value("${spring.mqtt.url}")
private String url;
@Value("${spring.mqtt.qos}")
private Integer qos;
// 连接超时时间
@Value("${spring.mqtt.completionTimeout}")
private int completionTimeout;
@Autowired
SbtdspsrMapper sbtdspsrMapper;
private String[] topics;
private int[] qoslist;
private MqttClient client;
private MqttConnectOptions mqttConnectOptions;
@Autowired
private PushCallback pushCallback;
private ScheduledExecutorService scheduled;
public void startReconnect() {
this.scheduled = Executors.newSingleThreadScheduledExecutor();
// 定时任务——重新连接mqtt服务器
this.scheduled.scheduleAtFixedRate(new Runnable() {
public void run() {
if (!MQTTSubsribe.this.client.isConnected()) {
try {
log.info("---mqtt reconnect ---");
List<String> sbbhlist= sbtdspsrMapper.selectAllWbbh();
client.connect(mqttConnectOptions);
subscribe(sbbhlist);
} catch (MqttSecurityException var2) {
var2.printStackTrace();
} catch (MqttException var3) {
var3.printStackTrace();
}
}
}
}, 5000L, 10000L, TimeUnit.MILLISECONDS);
}
public MqttConnectOptions getMqttConnectOptions() {
this.mqttConnectOptions = new MqttConnectOptions();
this.mqttConnectOptions.setCleanSession(true);
if(!"".equals(username) ) {
this.mqttConnectOptions.setUserName(username);
}
if(!"".equals(password) ) {
this.mqttConnectOptions.setPassword(password.toCharArray());
}
this.mqttConnectOptions.setServerURIs(new String[]{url});
this.mqttConnectOptions.setConnectionTimeout(completionTimeout);
this.mqttConnectOptions.setKeepAliveInterval(2000);
return mqttConnectOptions;
}
// 连接mqtt服务器订阅信息方法
// topic也可作为参数传入
public void subscribe(List<String> topics) {
if(null!=topics &&topics.size()>0) {
try {
this.topics = topics.toArray(new String[topics.size()]);
this.client = new MqttClient(url, getClientId(), new MemoryPersistence());
this.getMqttConnectOptions();
this.client.setCallback(this.pushCallback);
this.client.connect(this.mqttConnectOptions);
//遍历topic ,获得qs
int[] qoslist= new int[topics.size()];
for( int i=0;i<topics.size();i++)
{qoslist[i]=qos;
}
this.qoslist=qoslist;
// 可将订阅的一个或多个topic都存入数组中,同时订阅
// String[] topic1 = {defaultTopic};
this.client.subscribe(this.topics, qoslist);
boolean connected = this.client.isConnected();
log.info("连接状态为:" + connected);
String flag = connected ? "成功" : "失败";
} catch (MqttException e) {
log.info(e.toString());
startReconnect();
}
}else {
log.info("topic is empty");
}
}
// 随机生成唯一client.id方法
public String getClientId() {
String nums = "";
String[] codeChars = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
for (int i = 0; i < 23; i++) {
int charNum = (int) Math.floor(Math.random() * codeChars.length);
nums = nums + codeChars[charNum];
}
return nums;
}
public void publishMessage(String topic, String message) {
try {
MqttMessage mqttmessage = new MqttMessage(message.getBytes());
mqttmessage.setQos(this.qos);
client.publish(topic, mqttmessage);
log.info("client.publish finish");
} catch (MqttException me) {
log.info(me.toString());
}
}
}
\ No newline at end of file
package com.hzjt.config;
import com.alibaba.fastjson.JSONObject;
import com.hzjt.domain.MqttResult;
import com.hzjt.service.TraffalarmrecordService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.ScheduledExecutorService;
//@Configuration
public class PushCallback implements MqttCallback,IMQTTPublisher {
private static final Logger log = LoggerFactory.getLogger(PushCallback.class);
@Autowired
private MQTTSubsribe mqttSubsribe;
@Autowired
private TraffalarmrecordService traffalarmrecordService;
// 定时任务——定时缓存查询的数据
private ScheduledExecutorService scheduled;
@Override
public void connectionLost(Throwable throwable) {
// 连接丢失后,一般在这里面进行重连
log.info("连接断开,可以做重连");
this.mqttSubsribe.startReconnect();
}
@Override
public void messageArrived(String topic, MqttMessage message){
log.info("topic result"+topic+new String(message.getPayload()));
try {
MqttResult result = JSONObject.parseObject(message.getPayload(), MqttResult.class);
//根据mqtt返回的处理结果进行处理,更新表中数据
if(result.getCompanyId().startsWith("66211") && null!=result.getStatus())
{
traffalarmrecordService.updateState(result);
}
} catch (Exception ex){
log.info("解析错误:{}",ex);
}
// subscribe后得到的消息会执行到这里面
// String[] topics = topic.split("/");
// this.scheduled = Executors.newSingleThreadScheduledExecutor();
// //周期定时方法,可以在里面进行定时数据存储操作,我测试时是先将数据存储到了redis中,可做实时数据来用
// this.scheduled.scheduleAtFixedRate(new Runnable() {
// @Override
// public void run() {
// String key = topics[0] + topics[1];
// String value = new String(message.getPayload());
// log.info("topic result");
//// if (redisTemplate.hasKey(key)){
//// redisTemplate.delete(key);
//// }
//// redisTemplate.opsForValue().set(key,value);
//// System.out.println("redis缓存数据"+value);
//// //下面是我对数据的一些处理,仅供参考
//// JSONObject jsonObject = JSONObject.parseObject(value);
//// Map map = jsonObject;
//// List<Map<String,Object>> list = (List<Map<String, Object>>) ((Map) map.get("lines")).get("data");
//// log.error("-----------------------------"+list);
// }
// //此处 120为每120秒执行一次
// },0,120, TimeUnit.SECONDS);
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
log.info("deliveryComplete---------" + token.isComplete());
}
@Override
public void publishMessage(String topic, String message) {
}
@Override
public void disconnect() {
log.info("disconnect---------" );
}
}
\ No newline at end of file
package com.hzjt.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(15000);
factory.setReadTimeout(5000);
return factory;
}
}
\ No newline at end of file
package com.hzjt.config;
import com.hzjt.domain.*;
import com.hzjt.handler.WebSocket;
import com.hzjt.service.TraffFlowService;
import com.hzjt.service.TraffalarmrecordService;
import com.hzjt.util.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.net.URI;
import java.util.Calendar;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@Slf4j
@Configuration
@EnableScheduling
public class ScheduleTaskConfig {
@Autowired
TraffFlowService traffFlowService;
@Autowired
TraffalarmrecordService traffalarmrecordService;
@Autowired
private RestTemplate restTemplate;
@Scheduled(cron = "0 */1 * * * ?")//每天凌晨2点执行
private void statis() {
// //取帧
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
// RTSPFrame result = restTemplate.getForObject(rtspformUrl, RTSPFrame.class);
// if(result.getRet()==0)
// {
// //获取成功
//
// result.getUrl();
//
//
//
// }
//查询监控是否存在
//查询rtsp 多线程进行图片抽取,并记录表中,ftp 上传到服务器,路径返回表中
}
@Scheduled(cron = "0 */1 * * * ?")//每一个月执行一次
private void reconnectWebsocket() {
final Calendar c = Calendar.getInstance();
if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)) {
// log.info("每个月最后一天执行删除前2个月车流量数据操作start");
//删除2个月之前车流量详情的数据
traffFlowService.deleteBeforeTwoMonthVehicles();
}
}
// @Scheduled(cron = "0 30/5 6-19 * * ?")//每隔5分钟统计当天目前为止的数据
// private void statistoday() {
// //判断是否为空表
// //执行查询存在更新,不存在新增
// log.info("每隔5分钟");
// Integer result= traffFlowService.insertOrUpdatevehicleTodaystatistic();
// log.info("today"+result);
//
// }
}
package com.hzjt.config;
import com.hzjt.handler.WebSocket;
import com.hzjt.service.TraffFlowService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
@Configuration
public class WebSocketConfig {
/**
* ServerEndpointExporter 作用
*
* 这个Bean会自动注册使用@ServerEndpoint注解声明的websocket endpoint
*
* @return
*/
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
@Autowired
public void setTraffFlowService(TraffFlowService service)
{
WebSocket.traffFlowService=service;
}
}
\ No newline at end of file
package com.hzjt.controller;
import com.hzjt.domain.Alarm;
import com.hzjt.domain.AlarmEvents;
import com.hzjt.domain.Ftp;
import com.hzjt.domain.MediaList;
import com.hzjt.domain.ResponseEnum;
import com.hzjt.domain.Result;
import com.hzjt.domain.Sbtdspsr;
import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.domain.TransferResult;
import com.hzjt.handler.FileTransferManager;
import com.hzjt.handler.WebSocket;
import com.hzjt.mapper.SbtdspsrMapper;
import com.hzjt.mapper.TraffAlarmRecordMapper;
import com.hzjt.service.FtpService;
import com.hzjt.util.DateUtils;
import com.hzjt.util.JsonUtil;
import com.hzjt.util.StringEnum;
import com.hzjt.util.TraffAlarmRecordFromImgEnum;
import com.hzjt.util.TransHelper;
import com.hzjt.util.UUIDUtils;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AlarmController {
private static final Logger log = LoggerFactory.getLogger(TraffController.class);
@Value("${alarmrecord.check.enable}")
private String checkEnable;
@Autowired
FtpService ftpService;
@Autowired
private TraffAlarmRecordMapper traffAlarmRecordMapper;
@Autowired
WebSocket webSocket;
@Autowired
SbtdspsrMapper sbtdspsrMapper;
public AlarmController() {
}
@PostMapping({"/sendAlarmEvents"})
public Result sendAlarmEvents(@RequestBody AlarmEvents alarmEvents) {
log.info(JsonUtil.beanToString(alarmEvents));
String sbbh = alarmEvents.getDeviceId();
int tdbh = 0;
List<Sbtdspsr> sbtdspsrs = this.sbtdspsrMapper.selectBySbbh(sbbh, Integer.valueOf(tdbh));
if (sbtdspsrs.isEmpty()) {
log.info("设备为:" + sbbh + ",通道为:" + tdbh + "未录入(备案)");
return new Result(ResponseEnum.E_1002.getCode(), "设备为:" + sbbh + ",通道为:" + tdbh + "未录入(备案)", false);
} else {
String xzbh = ((Sbtdspsr)sbtdspsrs.get(0)).getXzbh();
Alarm alarm = TransHelper.transAlarmResult(alarmEvents);
alarm.setDept(xzbh);
Result result = new Result();
Traffalarmrecord traffAlarmRecord = new Traffalarmrecord();
traffAlarmRecord.setAreaid(Long.valueOf(xzbh));
traffAlarmRecord.setRecordtype(alarmEvents.getEventType().toLowerCase());
if (alarmEvents.getStartTime() != null) {
traffAlarmRecord.setRecordtime(DateUtils.getDateString(new Date(Long.valueOf(alarmEvents.getStartTime()) * 1000L)));
}
traffAlarmRecord.setFdid(alarmEvents.getDeviceId());
traffAlarmRecord.setChannelid(0);
traffAlarmRecord.setCreatetime(DateUtils.getDateString(new Date()));
traffAlarmRecord.setObjlable(alarm.getObjLabel());
traffAlarmRecord.setPushstatus(9);
traffAlarmRecord.setProcessstatus("0");
traffAlarmRecord.setManualstatus(1);
traffAlarmRecord.setChannelname(alarmEvents.getDeviceName());
traffAlarmRecord.setObjlable(alarmEvents.getObjectType());
List<MediaList> imgBase64List = alarmEvents.getMediaList();
String imgEnumHead = "IMG";
int i = 0;
Iterator var12 = imgBase64List.iterator();
while(var12.hasNext()) {
MediaList imgs = (MediaList)var12.next();
if (imgs.getType().contains("jpg")) {
TraffAlarmRecordFromImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord, imgs.getSrc());
++i;
}
if (imgs.getType().contains("mp4")) {
traffAlarmRecord.setVideourlfrom(imgs.getSrc());
}
}
if (StringEnum.ONE.getValue().equals(this.checkEnable)) {
traffAlarmRecord.setCheckstatus(9);
}
Map<Object, Object> map = new HashMap();
map.put("type", "alarm");
traffAlarmRecord.setEventid("66211" + UUIDUtils.createuuid());
this.traffAlarmRecordMapper.inserTraffAlarmRecord(traffAlarmRecord);
map.put("data", alarm);
map.put("recordid", traffAlarmRecord.getRecordid());
this.webSocket.GroupSending(JsonUtil.beanToString(map));
try {
String basepath = traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign();
Map<String, Object> transferRecordMap = new HashMap();
FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap);
Ftp ftp = this.ftpService.reloadFtp();
List<TransferResult> results = FileTransferManager.transferFileIncludVideo(transferRecordMap, ftp, basepath);
Traffalarmrecord recordBak = FileTransferManager.traffAlarmRecordUrlUpdate(results);
log.info("recordBak=={}",JsonUtil.beanToString(recordBak));
log.info("traffAlarmRecord=={}",traffAlarmRecord.getRecordid());
// traffAlarmRecord.setRecordid(recordBak.getRecordid());
// traffAlarmRecord.setImg1path(recordBak.getImg1path());
// traffAlarmRecord.setImg2path(recordBak.getImg2path());
// traffAlarmRecord.setImg3path(recordBak.getImg3path());
// traffAlarmRecord.setImg4path(recordBak.getImg4path());
// traffAlarmRecord.setImg5path(recordBak.getImg5path());
// traffAlarmRecord.setVideopath(recordBak.getVideopath());
this.traffAlarmRecordMapper.updateTraffAlarmRecordUrl(recordBak);
traffAlarmRecord.setPushdesc("success");
traffAlarmRecord.setPushstatus(0);
this.traffAlarmRecordMapper.updatePushEvent(traffAlarmRecord);
result.setSuccess(true);
} catch (Exception var18) {
result.setSuccess(false);
log.error("alarmevent error :{}", var18.toString());
}
return result;
}
}
}
package com.hzjt.controller;
import com.hzjt.domain.ResultObj;
import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.domain.WriteResultObj;
import com.hzjt.service.EventWriteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
public class EventWriteController {
@Autowired
private EventWriteService eventWriteService;
@PostMapping("/sendEvent")
public ResultObj sendEvent(Long recordid){
return eventWriteService.sendEvent(recordid);
}
@PostMapping("/sendEvents")
public List<WriteResultObj> sendEvents(@RequestParam("recordid") String recordid){
List<Long> longrecorid=new ArrayList<>();
for(String id:recordid.split(","))
{
longrecorid.add(Long.valueOf(id));
}
return eventWriteService.sendEvents(longrecorid);
}
@GetMapping("/sendEventsByids")
public List<WriteResultObj> sendEventsByids(){
List<Long> recordid=new ArrayList<>();
recordid.add(Long.valueOf(93228));
recordid.add(Long.valueOf(93834));
return eventWriteService.sendEvents(recordid);
}
}
package com.hzjt.controller;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
* 路由接口控制器
*
* @author tycoding
* @date 2019-06-13
*/
@Controller
public class RouterController {
private static final Logger log = LoggerFactory.getLogger(TraffController.class);
@Autowired
private StringRedisTemplate redisTemplate;
/**
* 登陆页面
*
* @return
*/
@GetMapping("/")
public String index() {
return "login";
}
}
This diff is collapsed.
package com.hzjt.controller;
import com.hzjt.domain.ResultObj;
import com.hzjt.service.TraffdevicewriteresultService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping("/traffdevicewriteresult")
public class TraffdevicewriteresultController {
@Autowired
private TraffdevicewriteresultService traffdevicewriteresultService;
}
\ No newline at end of file
package com.hzjt.domain;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
public class Alarm {
private String type;
private String id;
private String video_id;
private String ts;
private String incident_type;
private List<String> img_urls;
private String video_record_url;
private Map<String, BigDecimal> obj_location;
private List<String> img_base64;
private String dept;
private String objLabel;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getVideo_id() {
return video_id;
}
public void setVideo_id(String video_id) {
this.video_id = video_id;
}
public String getTs() {
return ts;
}
public void setTs(String ts) {
this.ts = ts;
}
public String getIncident_type() {
return incident_type;
}
public void setIncident_type(String incident_type) {
this.incident_type = incident_type;
}
public List<String> getImg_urls() {
return img_urls;
}
public void setImg_urls(List<String> img_urls) {
this.img_urls = img_urls;
}
public String getVideo_record_url() {
return video_record_url;
}
public void setVideo_record_url(String video_record_url) {
this.video_record_url = video_record_url;
}
public Map<String, BigDecimal> getObj_location() {
return obj_location;
}
public void setObj_location(Map<String, BigDecimal> obj_location) {
this.obj_location = obj_location;
}
public List<String> getImg_base64() {
return img_base64;
}
public void setImg_base64(List<String> img_base64) {
this.img_base64 = img_base64;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getObjLabel() {
return objLabel;
}
public void setObjLabel(String objLabel) {
this.objLabel = objLabel;
}
}
package com.hzjt.domain;
import java.util.List;
public class AlarmEvents {
private String startTime;
private String deviceId;
private String deviceName;
private String objectType;
private Integer eventStatus;
private List<MediaList> mediaList;
private String eventType;
private String direction;
private Integer eventLevel;
private String combineId;
private String eventId;
public AlarmEvents() {
}
public AlarmEvents(String startTme, String deviceId, String deviceName, String objectType, Integer eventStatus, List<MediaList> mediaList, String eventType, String direction, Integer eventLevel, String combineId, String eventId) {
this.startTime = startTme;
this.deviceId = deviceId;
this.deviceName = deviceName;
this.objectType = objectType;
this.eventStatus = eventStatus;
this.mediaList = mediaList;
this.eventType = eventType;
this.direction = direction;
this.eventLevel = eventLevel;
this.combineId = combineId;
this.eventId = eventId;
}
public String getStartTime() {
return this.startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getDeviceId() {
return this.deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getDeviceName() {
return this.deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getObjectType() {
return this.objectType;
}
public void setObjectType(String objectType) {
this.objectType = objectType;
}
public Integer getEventStatus() {
return this.eventStatus;
}
public void setEventStatus(Integer eventStatus) {
this.eventStatus = eventStatus;
}
public List<MediaList> getMediaList() {
return this.mediaList;
}
public void setMediaList(List<MediaList> mediaList) {
this.mediaList = mediaList;
}
public String getEventType() {
return this.eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public String getDirection() {
return this.direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public Integer getEventLevel() {
return this.eventLevel;
}
public void setEventLevel(Integer eventLevel) {
this.eventLevel = eventLevel;
}
public String getCombineId() {
return this.combineId;
}
public void setCombineId(String combineId) {
this.combineId = combineId;
}
public String getEventId() {
return this.eventId;
}
public void setEventId(String eventId) {
this.eventId = eventId;
}
}
\ No newline at end of file
package com.hzjt.domain;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@Data
public class AutoRule {
private String video_id;
private String ts;
private List<BigDecimal> rule_area_confidence;
private List<Map<String, BigDecimal>> det_area;
private List<Map<String, List<Map<String, BigDecimal>>>> rule_area;
private BigDecimal det_area_confidence;
}
package com.hzjt.domain;
import lombok.Data;
import java.util.List;
@Data
public class AutoVehicles {
private String id;
private String type;
private String video_id;
private String ts;
List<AutoVehiclesdetail> objs;
}
package com.hzjt.domain;
import lombok.Data;
@Data
public class AutoVehiclesdetail {
private String obj_id;
private String vehiclesid;
private String type;
private Long direction;
private Long classification_confidence;
}
package com.hzjt.domain;
import java.util.HashMap;
import java.util.Map;
/**
* @author chenl
* @version 1.0
* @date 2020/3/15 10:47
*/
public class CodeConst {
//设备注册
public static final Integer device_regist = 1;
//设备更新
public static final Integer device_update = 2;
//设备下架
public static final Integer device_remove = 3;
//状态报告
public static final Integer device_report = 4;
private static Map<Integer, String> eventType = new HashMap<>();
private static Map<String, Integer> eventTypeQZ = new HashMap<>();
static {
eventType.put(1, "异常停车");
eventType.put(2, "行人/非机动车闯入");
eventType.put(3, "倒行/逆行");
eventType.put(4, "拥堵");
eventType.put(5, "交通事件(事故发生)");
eventType.put(6, "恶劣天气-雨");
eventType.put(7, "恶劣天气-雪");
eventType.put(8, "烟火报警");
eventType.put(9, "烟雾报警");
eventType.put(10, "能见度过低");
eventType.put(11, "异常缓驶");
eventType.put(12, "路面障碍物");
eventType.put(13, "道路施工");
eventType.put(14, "拥堵结束");
eventType.put(15, "缓行结束");
eventType.put(16, "特殊事件");
eventType.put(17, "交通事件(事故行人下车)");
eventType.put(18, "其他事件");
}
static {
eventTypeQZ.put("congestion", 4);// 'congestion', '交通拥堵检测'
eventTypeQZ.put("not_congestion", 14);// 'not_congestion', '拥堵结束'
eventTypeQZ.put("illegal_parking", 1);// 'illegal_parking', '车辆异常停驶检测'
eventTypeQZ.put("wrong_direction", 3);// 'wrong_direction', '倒车/逆行检测'
eventTypeQZ.put("no_motor_ban", 2);// 'no_motor_ban', '行人/非机动车闯入检测'
eventTypeQZ.put("slow_deive", 11);// 'slow_deive', '车辆异常缓行检测'
eventTypeQZ.put("not_slow_deive", 15);// 'not_slow_deive', '缓行结束'
eventTypeQZ.put("single_slow_drive", 11);// 'single_slow_drive', '高速公路车辆单车异常缓行检测'
eventTypeQZ.put("accident", 5);// 'accident', '高速公路交通事故检测'
eventTypeQZ.put("roadworks", 13);// 'roadworks', '高速公路道路施工检测'
eventTypeQZ.put("roadworks_out_of_line", 19);// 'roadworks_out_of_line', '高速公路施工违规检测'
eventTypeQZ.put("severe_weather", 6);// 'severe_weather', '恶劣天气(雨雪)检测'
eventTypeQZ.put("low_visibility", 10);// 'low_visibility', '交通雾天检测'
eventTypeQZ.put("abandoned_object", 12);// 'abandoned_object', '路面障碍物检测'
eventTypeQZ.put("tunnel_fire", 8);// 'tunnel_fire', '高速公路隧道火焰检测'
eventTypeQZ.put("tunnel_smoke", 9);// 'tunnel_smoke', '高速公路隧道烟体检测'
eventTypeQZ.put("outside_fire", 8);// 'outside_fire', '交通室外火焰检测'
eventTypeQZ.put("outside_smoke", 9);// 'outside_smoke', '交通室外烟体检测'
}
public static String getEventType(int type) {
if (eventType.containsKey(type)) {
return eventType.get(type);
}
return null;
}
public static Integer getEventTypeQZ(String type) {
if (eventTypeQZ.containsKey(type)) {
Integer code = eventTypeQZ.get(type);
return code == null ? 18 : code;
}
return 18;
}
}
package com.hzjt.domain;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class DeviceChannelid {
private String deviceid;
private Integer channelid;
}
package com.hzjt.domain;
import lombok.Data;
public class DeviceWriteParam {
private String deviceID;
private String DeviceType;
private String deviceName;
private String regionID;
private Integer deviceStatus;
private String deviceSupplier;
private Integer dataType;
private Integer RoadType;
private String locationType;
private String locationX;
private String locationY;
private String locationEndX;
private String locationEndY;
private Integer DeviceDirection;
private Integer StartNumK;
private Integer StartNumM;
private String RoadNum;
private String LocationDesc;
private Integer toll;
private String locationID;
private Integer serviceArea;
private Integer rampToll;
private Integer rampServiceArea;
private String rampHubRoad;
private Integer rampHubDirection;
public String getDeviceID() {
return deviceID;
}
public void setDeviceID(String deviceID) {
this.deviceID = deviceID;
}
public String getDeviceType() {
return DeviceType;
}
public void setDeviceType(String deviceType) {
DeviceType = deviceType;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getRegionID() {
return regionID;
}
public void setRegionID(String regionID) {
this.regionID = regionID;
}
public Integer getDeviceStatus() {
return deviceStatus;
}
public void setDeviceStatus(Integer deviceStatus) {
this.deviceStatus = deviceStatus;
}
public String getDeviceSupplier() {
return deviceSupplier;
}
public void setDeviceSupplier(String deviceSupplier) {
this.deviceSupplier = deviceSupplier;
}
public Integer getDataType() {
return dataType;
}
public void setDataType(Integer dataType) {
this.dataType = dataType;
}
public Integer getRoadType() {
return RoadType;
}
public void setRoadType(Integer roadType) {
RoadType = roadType;
}
public String getLocationType() {
return locationType;
}
public void setLocationType(String locationType) {
this.locationType = locationType;
}
public String getLocationX() {
return locationX;
}
public void setLocationX(String locationX) {
this.locationX = locationX;
}
public String getLocationY() {
return locationY;
}
public void setLocationY(String locationY) {
this.locationY = locationY;
}
public String getLocationEndX() {
return locationEndX;
}
public void setLocationEndX(String locationEndX) {
this.locationEndX = locationEndX;
}
public String getLocationEndY() {
return locationEndY;
}
public void setLocationEndY(String locationEndY) {
this.locationEndY = locationEndY;
}
public Integer getDeviceDirection() {
return DeviceDirection;
}
public void setDeviceDirection(Integer deviceDirection) {
DeviceDirection = deviceDirection;
}
public Integer getStartNumK() {
return StartNumK;
}
public void setStartNumK(Integer startNumK) {
StartNumK = startNumK;
}
public Integer getStartNumM() {
return StartNumM;
}
public void setStartNumM(Integer startNumM) {
StartNumM = startNumM;
}
public String getRoadNum() {
return RoadNum;
}
public void setRoadNum(String roadNum) {
RoadNum = roadNum;
}
public String getLocationDesc() {
return LocationDesc;
}
public void setLocationDesc(String locationDesc) {
LocationDesc = locationDesc;
}
public Integer getToll() {
return toll;
}
public void setToll(Integer toll) {
this.toll = toll;
}
public String getLocationID() {
return locationID;
}
public void setLocationID(String locationID) {
this.locationID = locationID;
}
public Integer getServiceArea() {
return serviceArea;
}
public void setServiceArea(Integer serviceArea) {
this.serviceArea = serviceArea;
}
public Integer getRampToll() {
return rampToll;
}
public void setRampToll(Integer rampToll) {
this.rampToll = rampToll;
}
public Integer getRampServiceArea() {
return rampServiceArea;
}
public void setRampServiceArea(Integer rampServiceArea) {
this.rampServiceArea = rampServiceArea;
}
public String getRampHubRoad() {
return rampHubRoad;
}
public void setRampHubRoad(String rampHubRoad) {
this.rampHubRoad = rampHubRoad;
}
public Integer getRampHubDirection() {
return rampHubDirection;
}
public void setRampHubDirection(Integer rampHubDirection) {
this.rampHubDirection = rampHubDirection;
}
}
package com.hzjt.domain;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@Data
public class DiskSpace {
private String diskName;
private String freeSpace;
private String totalSpace;
}
package com.hzjt.domain;
import lombok.Data;
/**
* @author chenl
* @version 1.0
* @date 2020/3/15 22:18
*/
public class EventWriteParam {
private String eventID;
private String eventSource;
private String eventType;
private String occurTime;
private Long regionID;
private String eventDeviceID;
private String eventSupplier;
private String locationType;
private String locationX;
private String locationY;
private String locationEndX;
private String locationEndY;
private String eventProof1;
private String eventProof2;
private String eventProof3;
private String eventProof4;
private String eventProof5;
private String eventvideo1;
public String getEventID() {
return eventID;
}
public void setEventID(String eventID) {
this.eventID = eventID;
}
public String getEventSource() {
return eventSource;
}
public void setEventSource(String eventSource) {
this.eventSource = eventSource;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public String getOccurTime() {
return occurTime;
}
public void setOccurTime(String occurTime) {
this.occurTime = occurTime;
}
public Long getRegionID() {
return regionID;
}
public void setRegionID(Long regionID) {
this.regionID = regionID;
}
public String getEventDeviceID() {
return eventDeviceID;
}
public void setEventDeviceID(String eventDeviceID) {
this.eventDeviceID = eventDeviceID;
}
public String getEventSupplier() {
return eventSupplier;
}
public void setEventSupplier(String eventSupplier) {
this.eventSupplier = eventSupplier;
}
public String getLocationType() {
return locationType;
}
public void setLocationType(String locationType) {
this.locationType = locationType;
}
public String getLocationX() {
return locationX;
}
public void setLocationX(String locationX) {
this.locationX = locationX;
}
public String getLocationY() {
return locationY;
}
public void setLocationY(String locationY) {
this.locationY = locationY;
}
public String getLocationEndX() {
return locationEndX;
}
public void setLocationEndX(String locationEndX) {
this.locationEndX = locationEndX;
}
public String getLocationEndY() {
return locationEndY;
}
public void setLocationEndY(String locationEndY) {
this.locationEndY = locationEndY;
}
public String getEventProof1() {
return eventProof1;
}
public void setEventProof1(String eventProof1) {
this.eventProof1 = eventProof1;
}
public String getEventProof2() {
return eventProof2;
}
public void setEventProof2(String eventProof2) {
this.eventProof2 = eventProof2;
}
public String getEventProof3() {
return eventProof3;
}
public void setEventProof3(String eventProof3) {
this.eventProof3 = eventProof3;
}
public String getEventProof4() {
return eventProof4;
}
public void setEventProof4(String eventProof4) {
this.eventProof4 = eventProof4;
}
public String getEventProof5() {
return eventProof5;
}
public void setEventProof5(String eventProof5) {
this.eventProof5 = eventProof5;
}
public String getEventvideo1() {
return eventvideo1;
}
public void setEventvideo1(String eventvideo1) {
this.eventvideo1 = eventvideo1;
}
}
package com.hzjt.domain;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
public class Ftp {
private String ftpIp;
private Integer ftpPort;
private String ftpUsername;
private String ftpPassword;
public Ftp(String ftpIp, Integer ftpPort, String ftpUsername, String ftpPassword) {
this.ftpIp = ftpIp;
this.ftpPort = ftpPort;
this.ftpUsername = ftpUsername;
this.ftpPassword = ftpPassword;
}
public Ftp() {
}
public String getFtpIp() {
return ftpIp;
}
public void setFtpIp(String ftpIp) {
this.ftpIp = ftpIp;
}
public Integer getFtpPort() {
return ftpPort;
}
public void setFtpPort(Integer ftpPort) {
this.ftpPort = ftpPort;
}
public String getFtpUsername() {
return ftpUsername;
}
public void setFtpUsername(String ftpUsername) {
this.ftpUsername = ftpUsername;
}
public String getFtpPassword() {
return ftpPassword;
}
public void setFtpPassword(String ftpPassword) {
this.ftpPassword = ftpPassword;
}
@Override
public String toString() {
return "Ftp{" +
"ftpIp='" + ftpIp + '\'' +
", ftpPort=" + ftpPort +
", ftpUsername='" + ftpUsername + '\'' +
", ftpPassword='" + ftpPassword + '\'' +
'}';
}
}
package com.hzjt.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.List;
public class GoalStructureParam {
private Output Output;
private int Model;
@JsonIgnore
private String apiout;
private List<ImageList> ImageList;
public void setOutput(Output Output) {
this.Output = Output;
}
@JSONField(name = "Output")
public Output getOutput() {
return this.Output;
}
public void setModel(int Model) {
this.Model = Model;
}
@JSONField(name = "Model")
public int getModel() {
return this.Model;
}
public void setApiout(String apiout) {
this.apiout = apiout;
}
public String getApiout() {
return this.apiout;
}
public void setImageList(List<ImageList> ImageList) {
this.ImageList = ImageList;
}
@JSONField(name = "ImageList")
public List<ImageList> getImageList() {
return this.ImageList;
}
}
package com.hzjt.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class ImageList {
private String ImageID;
@JsonIgnore
private int Format;
private String Data;
public ImageList(String imageID, String data) {
ImageID = imageID;
Data = data;
}
public void setImageID(String ImageID){
this.ImageID = ImageID;
}
@JSONField(name = "ImageID")
public String getImageID(){
return this.ImageID;
}
public void setFormat(int Format){
this.Format = Format;
}
@JSONField(name = "Format")
public int getFormat(){
return this.Format;
}
public void setData(String Data){
this.Data = Data;
}
@JSONField(name = "Data")
public String getData(){
return this.Data;
}
}
package com.hzjt.domain;
public class MediaList {
private String src;
private String name;
private String type;
public MediaList() {
}
public MediaList(String src, String name, String type) {
this.src = src;
this.name = name;
this.type = type;
}
public String getSrc() {
return this.src;
}
public void setSrc(String src) {
this.src = src;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return this.type;
}
public void setType(String type) {
this.type = type;
}
}
\ No newline at end of file
package com.hzjt.domain;
import java.time.LocalDateTime;
import java.util.UUID;
public class Message extends MyMessage {
private String id = UUID.randomUUID().toString();
private LocalDateTime date = LocalDateTime.now();
private String sender;
private Message() {
}
private Message(String content, MessageType type, String sender) {
super(content, type);
this.sender = sender;
date = LocalDateTime.now();
}
public LocalDateTime getDate() {
return date;
}
public String getSender() {
return sender;
}
public String getId() {
return id;
}
public static class MessageBuilder {
private Message message;
private MessageBuilder(Message message) {
this.message = message;
}
public MessageBuilder withContent(String content) {
message.setContent(content);
return this;
}
public MessageBuilder withType(MessageType type) {
message.setType(type);
return this;
}
public MessageBuilder sentBy(String sender) {
message.sender = sender;
return this;
}
public static MessageBuilder empty() {
return new MessageBuilder(new Message());
}
public static MessageBuilder copyOf(Message message) {
Message newMessage = new Message();
newMessage.setContent(message.getContent());
newMessage.setType(message.getType());
newMessage.date = message.getDate();
newMessage.sender = message.getSender();
newMessage.id = message.getId();
return new MessageBuilder(newMessage);
}
public Message build() {
return message;
}
}
}
package com.hzjt.domain;
import lombok.Getter;
@Getter
public enum MessageEnum {
/* websocketmapkey */
MESSAGE_KEY("message");
private String value;
MessageEnum(String value){
this.value =value;
}
}
package com.hzjt.domain;
public enum MessageType {
INFO, WARNING, ERROR;
}
package com.hzjt.domain;
public class MqttAlarm {
private String deviceId;
private String eventTypeId;
private String companyId;
private String alarmTime;
private String x;
private String y;
private String height;
private String width;
private String imagePath;
private String videoPath;
// private String content;
// private String eventid;
// private int location;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getEventTypeId() {
return eventTypeId;
}
public void setEventTypeId(String eventTypeId) {
this.eventTypeId = eventTypeId;
}
public String getCompanyId() {
return companyId;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
public String getAlarmTime() {
return alarmTime;
}
public void setAlarmTime(String alarmTime) {
this.alarmTime = alarmTime;
}
public String getX() {
return x;
}
public void setX(String x) {
this.x = x;
}
public String getY() {
return y;
}
public void setY(String y) {
this.y = y;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getWidth() {
return width;
}
public void setWidth(String width) {
this.width = width;
}
public String getImagePath() {
return imagePath;
}
public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
public String getVideoPath() {
return videoPath;
}
public void setVideoPath(String videoPath) {
this.videoPath = videoPath;
}
// public String getContent() {
// return content;
// }
//
// public void setContent(String content) {
// this.content = content;
// }
// public String getEventid() {
// return eventid;
// }
//
// public void setEventid(String eventid) {
// this.eventid = eventid;
// }
//
// public int getLocation() {
// return location;
// }
//
// public void setLocation(int location) {
// this.location = location;
// }
}
package com.hzjt.domain;
import lombok.Data;
public class MqttResult {
private String deviceId ;
private String eventid;
private String companyId;
private String status;
private String confirmTime;
private String confirmUser;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getEventid() {
return eventid;
}
public void setEventid(String eventid) {
this.eventid = eventid;
}
public String getCompanyId() {
return companyId;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getConfirmTime() {
return confirmTime;
}
public void setConfirmTime(String confirmTime) {
this.confirmTime = confirmTime;
}
public String getConfirmUser() {
return confirmUser;
}
public void setConfirmUser(String confirmUser) {
this.confirmUser = confirmUser;
}
}
package com.hzjt.domain;
public class MyMessage {
private String content;
private MessageType type;
public MyMessage() {
}
public MyMessage(String content, MessageType type) {
this.content = content;
this.type = type;
}
protected void setContent(String content) {
this.content = content;
}
protected void setType(MessageType type) {
this.type = type;
}
public String getContent() {
return content;
}
public MessageType getType() {
return type;
}
}
package com.hzjt.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class Output {
private int SubClass;
//最大行人细类输出个数为1
@JsonIgnore
private int MaxHumanSubClassNum;
//最大车辆细类输出个数为输出全部
@JsonIgnore
private int MaxVehicleSubClassNum;
//最大骑行细类输出个数为3
@JsonIgnore
private int MaxBikeSubClassNum;
public Output(int subClass, int maxHumanSubClassNum, int maxVehicleSubClassNum, int maxBikeSubClassNum) {
SubClass = subClass;
MaxHumanSubClassNum = maxHumanSubClassNum;
MaxVehicleSubClassNum = maxVehicleSubClassNum;
MaxBikeSubClassNum = maxBikeSubClassNum;
}
public void setSubClass(int SubClass) {
this.SubClass = SubClass;
}
@JSONField(name = "SubClass")
public int getSubClass() {
return this.SubClass;
}
public void setMaxHumanSubClassNum(int MaxHumanSubClassNum) {
this.MaxHumanSubClassNum = MaxHumanSubClassNum;
}
@JSONField(name = "MaxHumanSubClassNum")
public int getMaxHumanSubClassNum() {
return this.MaxHumanSubClassNum;
}
public void setMaxVehicleSubClassNum(int MaxVehicleSubClassNum) {
this.MaxVehicleSubClassNum = MaxVehicleSubClassNum;
}
@JSONField(name = "MaxVehicleSubClassNum")
public int getMaxVehicleSubClassNum() {
return this.MaxVehicleSubClassNum;
}
public void setMaxBikeSubClassNum(int MaxBikeSubClassNum) {
this.MaxBikeSubClassNum = MaxBikeSubClassNum;
}
@JSONField(name = "MaxBikeSubClassNum")
public int getMaxBikeSubClassNum() {
return this.MaxBikeSubClassNum;
}
}
This diff is collapsed.
package com.hzjt.domain;
import lombok.Data;
@Data
public class PythonQueryResult {
private String[][] data;
private String error;
}
package com.hzjt.domain;
import lombok.Data;
@Data
public class PythonResult {
private Integer data;
private String error;
}
package com.hzjt.domain;
import oracle.jdbc.driver.OracleConnection;
import oracle.jdbc.internal.OracleTypes;
import oracle.jpub.runtime.MutableStruct;
import oracle.sql.CustomDatum;
import oracle.sql.CustomDatumFactory;
import oracle.sql.Datum;
import oracle.sql.STRUCT;
import java.sql.SQLException;
/**
* @package_Name: com.scale
* @author: wangcy@xxx.qq.com
* @description: TODO
* @date: 2019-08-15 09:14
* @version: v1.0
*/
public class QUEUE_MESSAGE_TYPE implements CustomDatum, CustomDatumFactory {
public static final String _SQL_NAME = "QUEUE_MESSAGE_TYPE";
public static final int _SQL_TYPECODE = OracleTypes.STRUCT;
MutableStruct _struct;
// 12表示字符串
static int[] _sqlType = { 12 };
static CustomDatumFactory[] _factory = new CustomDatumFactory[1];
static final QUEUE_MESSAGE_TYPE _MessageFactory = new QUEUE_MESSAGE_TYPE();
public static CustomDatumFactory getFactory() {
return _MessageFactory;
}
public QUEUE_MESSAGE_TYPE() {
_struct = new MutableStruct(new Object[1], _sqlType, _factory);
}
public Datum toDatum(OracleConnection c) throws SQLException {
return _struct.toDatum(c, _SQL_NAME);
}
public CustomDatum create(Datum d, int sqlType) throws SQLException {
if (d == null)
return null;
QUEUE_MESSAGE_TYPE o = new QUEUE_MESSAGE_TYPE();
o._struct = new MutableStruct((STRUCT) d, _sqlType, _factory);
return o;
}
public String getContent() throws SQLException {
return (String) _struct.getAttribute(0);
}
}
package com.hzjt.domain;
import lombok.Data;
@Data
public class RTSPFrame {
private Integer ret;
private String desc;
private String url;
}
package com.hzjt.domain;
public class ReceiveMessage {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.hzjt.domain;
import lombok.Getter;
/**
* 通用返回值 枚举类
* @author cp
*/
public enum ResponseEnum {
/* 错误信息 */
E_1000(1000, "返回值必须为PageResult"),
E_1001(1001, "必须传递分页参数"),
E_1002(1002, "参数值异常"),
E_1003(1003, "参数值转换异常"),
E_1004(1004, "参数值为空"),
/* 保存 更新 重置 删除 等 */
E_1005(1005,"更新失败"),
E_1006(1006,"无结果"),
E_1007(1007,"未登录"),
E_1008(1008,"请求超时"),
E_1009(1009,"请求下游服务异常"),
E_1010(1010,"数据保存失败"),
E_1011(1011,"数据重复"),
E_9999(9999,"系统异常"),
E_9991(9991,"发送异常"),
SUCCESS(200,"请求成功");
private int code;
private String msg;
ResponseEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
\ No newline at end of file
package com.hzjt.domain;
public class ResponseMessage {
private String id;
private String name;
private String content;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public ResponseMessage(String id, String name, String content) {
super();
this.id = id;
this.name = name;
this.content = content;
}
}
package com.hzjt.domain;
public class Result {
private Object data;
private String msg;
private Boolean success;
public Result() {
}
public Result(Object data, String msg, Boolean success) {
this.data = data;
this.msg = msg;
this.success = success;
}
public Object getData() {
return this.data;
}
public void setData(Object data) {
this.data = data;
}
public String getMsg() {
return this.msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Boolean getSuccess() {
return this.success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
}
package com.hzjt.domain;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* �Զ�����Ӧ�ṹ
* @author cp
*/
public class ResultObj {
// ����jackson����
private static final ObjectMapper MAPPER = new ObjectMapper();
/**
* ��Ӧҵ��״̬
* 200 �ɹ�
* 201 ����
* 400 ��������
*/
private Integer status;
/**
* ��Ӧ��Ϣ
*/
private String msg;
/**
* ��Ӧ�е�����
*/
private Object data;
public static ResultObj error(Integer status, String msg, Object data) {
return new ResultObj(status, msg, data);
}
public static ResultObj ok(Object data) {
return new ResultObj(data);
}
public static ResultObj ok() {
return ok(null);
}
private ResultObj() {
}
public static ResultObj error(Integer status, String msg) {
return new ResultObj(status, msg, null);
}
private ResultObj(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
private ResultObj(Object data) {
this.status = 200;
this.msg = "OK";
this.data = data;
}
/**
* ��json�����ת��ΪSysResult����
*
* @param jsonData json����
* @param clazz SysResult�е�object����
* @return SysResult����
*/
public static ResultObj formatToPojo(String jsonData, Class<?> clazz) {
try {
if (clazz == null) {
return MAPPER.readValue(jsonData, ResultObj.class);
}
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (data.isObject()) {
obj = MAPPER.readValue(data.traverse(), clazz);
} else if (data.isTextual()) {
obj = MAPPER.readValue(data.asText(), clazz);
}
return error(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* û��object�����ת��
*
* @param json �ַ���
* @return SysResult����
*/
public static ResultObj format(String json) {
try {
return MAPPER.readValue(json, ResultObj.class);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Object�Ǽ���ת��
*
* @param jsonData json����
* @param clazz ���������
* @return SysResult����
*/
public static ResultObj formatToList(String jsonData, Class<?> clazz) {
try {
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (data.isArray() && data.size() > 0) {
obj = MAPPER.readValue(data.traverse(),
MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
}
return error(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public String toString() {
return "ResultObj{" +
"status=" + status +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
public static ObjectMapper getMAPPER() {
return MAPPER;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
\ No newline at end of file
package com.hzjt.domain;
import lombok.Data;
import java.io.Serializable;
@Data
public class Rtsprtmp implements Serializable {
private String id;
private String name;
private String rtsp_address;
private String rtmp_address;
private String http_flv_address;
}
\ No newline at end of file
This diff is collapsed.
package com.hzjt.domain;
import lombok.Data;
import java.io.Serializable;
public class SbtdspsrParam extends Sbtdspsr implements Serializable {
private String sbcsName;
private String deviceconfig;
public String getSbcsName() {
return sbcsName;
}
public void setSbcsName(String sbcsName) {
this.sbcsName = sbcsName;
}
public String getDeviceconfig() {
return deviceconfig;
}
public void setDeviceconfig(String deviceconfig) {
this.deviceconfig = deviceconfig;
}
}
\ No newline at end of file
package com.hzjt.domain;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
public class SbtdspsrParams extends Sbtdspsr {
/**
* 创建时间
*/
private Date createtime;
/**
* 推送状态(0成功1失败)
*/
private Long pushstatus;
/**
* 推送描述
*/
private String pushdesc;
/**
* 推送次数
*/
private Long pushcount;
/**
* 行政编号
*/
private String xzbh;
/**
* 备注
*/
private String remark;
/**
* 行政名称
*/
private String xztreename;
private String deviceconfig;
}
package com.hzjt.domain;
import lombok.Data;
import java.io.Serializable;
@Data
public class Sbxx implements Serializable {
private String sbbh;
private String wbbh;
private String sbmc;
private String sbmcpy;
private String sbip;
private Long sbdk;
private String sbdlzh;
private String sbdlmm;
private Long sbzl;
private String sbbbh;
private String sbxh;
private String cjbh;
private String cjmc;
private Long sbzt;
private String xhsj;
private String rjbbh;
private String khbh;
private String sbazwz;
private String jd;
private String wd;
private Long tpwzx;
private Long tpwzy;
private Long spsrtds;
private Long spsrdhmtds;
private Long spsctds;
private Long ypsrtds;
private Long ypsctds;
private Long bjsrtds;
private Long bjsctds;
private Long tmtds;
private Long mlczxy;
private Long zdscdk;
private String qybh;
private Long zdzls;
private String jlbh;
private Long jrms;
private String ms;
private String dlfwzbh;
private String qymc;
private String qydz;
private String xzbh;
private String jrfsbh;
private String jrfsmc;
private String lxr;
private String lxdh;
private String vpnwgbh;
private String cjry;
private String cjrq;
private String xgry;
private String xgrq;
private String bz;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.hzjt.domain;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
public class Serverstatreport implements Serializable {
@Id
private String serverid;
private String servername;
private String serverip;
private Integer serverport;
private String serverdesc;
private String network;
private String realip;
private Integer realport;
private Date firstreporttime;
private Date lastlogintime;
private Date lastreporttime;
private Integer timeoutsecond;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.hzjt.domain;
import lombok.Data;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;
public class Storageserver implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Integer serverid;
private String servername;
private String servergroup;
private String servertype ;
private Integer serverstatus;
private String serveurl ;
private String serveip;
private String serverport;
private String serveruser;
private String serverpassword;
private String creator;
private Date createtime;
private String remark;
public Integer getServerid() {
return serverid;
}
public void setServerid(Integer serverid) {
this.serverid = serverid;
}
public String getServername() {
return servername;
}
public void setServername(String servername) {
this.servername = servername;
}
public String getServergroup() {
return servergroup;
}
public void setServergroup(String servergroup) {
this.servergroup = servergroup;
}
public String getServertype() {
return servertype;
}
public void setServertype(String servertype) {
this.servertype = servertype;
}
public Integer getServerstatus() {
return serverstatus;
}
public void setServerstatus(Integer serverstatus) {
this.serverstatus = serverstatus;
}
public String getServeurl() {
return serveurl;
}
public void setServeurl(String serveurl) {
this.serveurl = serveurl;
}
public String getServeip() {
return serveip;
}
public void setServeip(String serveip) {
this.serveip = serveip;
}
public String getServerport() {
return serverport;
}
public void setServerport(String serverport) {
this.serverport = serverport;
}
public String getServeruser() {
return serveruser;
}
public void setServeruser(String serveruser) {
this.serveruser = serveruser;
}
public String getServerpassword() {
return serverpassword;
}
public void setServerpassword(String serverpassword) {
this.serverpassword = serverpassword;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
package com.hzjt.domain;
import java.util.concurrent.Delayed;
import java.util.concurrent.TimeUnit;
/**
* @author chenl
* @version 1.0
* @date 2020/4/9 10:00
*/
public class TraffAlarmRecordDelay implements Delayed {
/* 触发时间*/
private long time;
Traffalarmrecord traffalarmrecord;
public TraffAlarmRecordDelay(Traffalarmrecord traffalarmrecord, long time, TimeUnit unit) {
this.traffalarmrecord = traffalarmrecord;
this.time = System.currentTimeMillis() + (time > 0? unit.toMillis(time): 0);
}
@Override
public long getDelay(TimeUnit unit) {
return time - System.currentTimeMillis();
}
@Override
public int compareTo(Delayed o) {
TraffAlarmRecordDelay item = (TraffAlarmRecordDelay) o;
long diff = this.time - item.time;
if (diff <= 0) {
return -1;
}else {
return 1;
}
}
public Traffalarmrecord getTraffalarmrecord(){
return this.traffalarmrecord;
}
@Override
public String toString() {
return "TraffAlarmRecordDelay{" +
"time=" + time +
", traffalarmrecord='" + traffalarmrecord.toString() + '\'' +
'}';
}
}
\ No newline at end of file
This diff is collapsed.
package com.hzjt.domain;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class TraffalarmrecordParams extends Traffalarmrecord {
private String starttime;
private String endtime;
private String fdids;
private String channelids;
private Integer page;
private Integer rows;
}
package com.hzjt.domain;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class TraffalarmrecordResult extends Traffalarmrecord {
private String xzmc;
private String tdmc;
private String fileagent;
private String recordname;
}
This diff is collapsed.
package com.hzjt.domain;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
public class Traffdeviceconfig implements Serializable {
@Id
private String fdid;
@Id
private Short channelid;
private Short devicelocationtype;
private Short devicechecktype;
private Short stakekilometer;
private Short stakemeter;
private Short locationdirection;
private String creator;
private Date createtime;
private Date updatetime;
private String remark1;
private Integer remark2;
private String remark3;
private Integer remark4;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
This diff is collapsed.
package com.hzjt.domain;
import lombok.Data;
import javax.persistence.Id;
@Data
public class Traffuserdevice implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
private String userid;
@Id
private String fdid;
@Id
private Integer channelid;
private Integer channeletype;
private String channelname;
private String creator;
private String createtime;
private String updator;
private String updatetime;
private String remark;
}
This diff is collapsed.
package com.hzjt.domain;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@Data
public class TrffClientMessage {
private String type;
private String id;
private String video_id;
private String ts;
private String incident_type;
private List<String> img_urls;
private String video_record_url;
private Map<String, BigDecimal> obj_location;
private List<String> img_base64;
private String dept;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
package com.hzjt.domain;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@Data
public class Vertexes {
List<Map<String, BigDecimal>> vertexes;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment