| | |
| | | import cn.exrick.xboot.your.service.IAlarmService; |
| | | import cn.exrick.xboot.your.service.ICarService; |
| | | import cn.exrick.xboot.your.service.IEventLogService; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | |
| | | import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | |
| | | @Component |
| | |
| | | // 设置回调函数 |
| | | client.setCallback(new MqttCallback() { |
| | | public void connectionLost(Throwable cause) { |
| | | System.out.println("connectionLost"); |
| | | //System.out.println("connectionLost"); |
| | | String topicInfo = haiKangPost.getTopicInfo(); |
| | | System.out.println("重连-订阅信息:"+topicInfo); |
| | | //System.out.println("重连-订阅信息:"+topicInfo); |
| | | JSONObject jsonObject = JSONUtil.parseObj(topicInfo); |
| | | if(jsonObject.get("data")!=null){ |
| | | String data = jsonObject.get("data").toString(); |
| | |
| | | } |
| | | |
| | | public void deliveryComplete(IMqttDeliveryToken token) { |
| | | System.out.println("deliveryComplete---------"+ token.isComplete()); |
| | | //System.out.println("deliveryComplete---------"+ token.isComplete()); |
| | | } |
| | | |
| | | |
| | |
| | | JSONObject jsonObject1 = JSONUtil.parseObj(s1); |
| | | String data = jsonObject1.get("data").toString(); |
| | | JSONObject jsonObject2 = JSONUtil.parseObj(data); |
| | | System.out.println(jsonObject2.get("alarmId"));//报警id |
| | | System.out.println(jsonObject2.get("vehicleIndexCode"));//车辆code |
| | | System.out.println(jsonObject2.get("eventType"));//报警类型 |
| | | //未系安全带:132376 |
| | | //抽烟:132375 |
| | | //接打电话:132374 |
| | | //疲劳驾驶:132371 |
| | | String eventType = jsonObject2.get("eventType").toString(); |
| | | String vehicleIndexCode = jsonObject2.get("vehicleIndexCode").toString(); |
| | | String alarmId = jsonObject2.get("alarmId").toString(); |
| | | String alarmTime = jsonObject2.get("alarmTime").toString(); |
| | | |
| | | QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); |
| | | wrapper.eq("code",vehicleIndexCode); |
| | | Car car = iCarService.getOne(wrapper); |
| | | if(car==null){ |
| | | return; |
| | | } |
| | | |
| | | Alarm alarm = new Alarm(); |
| | | if(eventType.equals("132371")){ |
| | |
| | | alarm.setType(4); |
| | | alarm.setValue("抽烟"); |
| | | }else if(eventType.equals("132405")){ |
| | | alarm.setType(6); |
| | | alarm.setType(7); |
| | | alarm.setValue("超速"); |
| | | }else{ |
| | | return; |
| | | } |
| | | |
| | | QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); |
| | | wrapper.eq("code",vehicleIndexCode); |
| | | Car car = iCarService.getOne(wrapper); |
| | | if(car==null){ |
| | | Date date1 = new Date(); |
| | | long time = date1.getTime()-2*60*1000; |
| | | Date date = new Date(time); |
| | | String format1 = DateUtil.format(date,"yyyy-MM-dd HH:mm:ss"); |
| | | String format2 = DateUtil.format(date1,"yyyy-MM-dd HH:mm:ss"); |
| | | QueryWrapper<Alarm> awrapper = new QueryWrapper<>(); |
| | | awrapper.between("create_time",format1,format2); |
| | | awrapper.eq("car_no",car.getCarNo()); |
| | | awrapper.eq("type",alarm.getType()); |
| | | List<Alarm> list = iAlarmService.list(awrapper); |
| | | if(list.size()>0){ |
| | | return; |
| | | } |
| | | |