From 0c0a751f2e1abac46b506697096cc3b2a5b54510 Mon Sep 17 00:00:00 2001 From: wang-hao-jie <1550036656@qq.com> Date: 星期二, 14 十二月 2021 15:28:02 +0800 Subject: [PATCH] 违章记录 --- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java | 23 +++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaMapper.java | 9 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java | 19 +- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/MQTT.java | 137 ++++++++++++++++++++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AreaSection.java | 2 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaSectionMapper.java | 3 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaSectionServiceImpl.java | 5 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Area.java | 8 + /dev/null | 30 ----- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java | 2 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java | 42 ++++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaServiceImpl.java | 5 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaSectionService.java | 2 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaService.java | 2 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ApplicationRunnerImpl.java | 32 +++++ 15 files changed, 270 insertions(+), 51 deletions(-) diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java index 56ecf50..ef56f37 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java @@ -5,10 +5,7 @@ import cn.exrick.xboot.core.common.utils.ResultUtil; import cn.exrick.xboot.core.common.vo.PageVo; import cn.exrick.xboot.core.common.vo.Result; -import cn.exrick.xboot.your.entity.Area; -import cn.exrick.xboot.your.entity.Car; -import cn.exrick.xboot.your.entity.EventLog; -import cn.exrick.xboot.your.entity.OrderTask; +import cn.exrick.xboot.your.entity.*; import cn.exrick.xboot.your.service.*; import cn.exrick.xboot.your.util.HaiKangPost; import cn.hutool.core.date.DateUtil; @@ -106,7 +103,23 @@ @RequestMapping(value = "/getAnalysis", method = RequestMethod.GET) @ApiOperation(value = "鑾峰彇閰嶉�佸垎鏋�") public Result<Object> getAnalysis() { - List<Area> list = iAreaService.list(); + List<Area> list = iAreaService.list2(); + for(Area area:list){ + double sum = 0; + int flag = 0; + for(AreaSection areaSection: area.getChildren()){ + sum+=areaSection.getStability(); + flag++; + } + if(flag>0){ + double v = sum / flag; + area.setVariance(trans2(v)); + } + } return new ResultUtil<Object>().setData(list); } + + public double trans2(double v2){ + return (double) Math.round(v2 * 100) / 100; + } } diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java index c6c7f32..e344a0e 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java @@ -51,4 +51,6 @@ @ApiModelProperty(value = "鏄惁琚皟鐢� 0锛氬惁 1锛氭槸") private int flag; + @ApiModelProperty(value = "杞︽満鎶ヨid") + private String alarmId; } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Area.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Area.java index 70c04ea..9f4c0ac 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Area.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Area.java @@ -15,6 +15,7 @@ import javax.persistence.Table; import javax.persistence.Transient; import java.util.Date; +import java.util.List; /** * @author Exrick @@ -50,7 +51,12 @@ @Transient @TableField(exist = false) @ApiModelProperty(value = "鎬讳綋鏂瑰樊") - private int variance; + private double variance; + + @Transient + @TableField(exist = false) + @ApiModelProperty(value = "鍒嗘瀵硅薄") + private List<AreaSection> children; @Transient @TableField(exist = false) diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AreaSection.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AreaSection.java index 2dd46c0..96520b7 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AreaSection.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AreaSection.java @@ -50,6 +50,6 @@ private double maxTime; @ApiModelProperty(value = "绋冲畾鎬у垎鏋�") - private int stability; + private double stability; } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaMapper.java index d641dd8..de3c04a 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaMapper.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaMapper.java @@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Result; -import org.apache.ibatis.annotations.Results; -import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.*; import org.apache.ibatis.type.JdbcType; import java.util.List; @@ -24,4 +21,8 @@ @Select("SELECT a.*,b.nickname as temp FROM t_area a LEFT JOIN t_user b ON a.user_id=b.id ${ew.customSqlSegment} ") @Results({@Result(column="temp", property="nickName", jdbcType = JdbcType.VARCHAR)}) IPage<Area> page2(Page initMpPage, @Param(Constants.WRAPPER) QueryWrapper<Area> wrapper); + + @Select("SELECT * FROM t_area") + @Results({@Result(column="id", property="children", many = @Many(select = "cn.exrick.xboot.your.mapper.AreaSectionMapper.getListByParentId"))}) + List<Area> list2(); } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaSectionMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaSectionMapper.java index e1098cc..a9a8347 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaSectionMapper.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AreaSectionMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import cn.exrick.xboot.your.entity.AreaSection; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -11,4 +12,6 @@ */ public interface AreaSectionMapper extends BaseMapper<AreaSection> { + @Select("select * from t_area_ection where area_id=#{id}") + List<AreaSection> getListByParentId(String id); } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java index 48f6124..ffe5cb1 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java @@ -14,6 +14,8 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.List; //澶у睆閰嶉�佸垎鏋� @@ -32,7 +34,7 @@ @Autowired private IOrderTaskService iOrderTaskService; - @Scheduled(cron="0 0 * * * ?")//姣忓皬鏃舵墽琛屼竴娆� + @Scheduled(cron="0 * * * * ?")//姣忓皬鏃舵墽琛屼竴娆� public void execute(){ List<Area> list = iAreaService.list(); for(Area area:list){ @@ -59,12 +61,50 @@ listTime.add(orderTask.getTime()); } + Collections.sort(listTime); + double v = (sum * 1.0) / (1000 * 60 * 60) / listTime.size(); + areaSection.setAvgTime((double) Math.round(v * 10) / 10); + if(listTime.size()>0){ + double v1 = (listTime.get(0) * 1.0) / (1000 * 60 * 60); + areaSection.setMinTime((double) Math.round(v1 * 10) / 10); + double v2 = (listTime.get(listTime.size()-1) * 1.0) / (1000 * 60 * 60); + areaSection.setMaxTime((double) Math.round(v2 * 10) / 10); + } + double variance = Variance(listTime); + areaSection.setStability(variance); + iAreaSectionService.saveOrUpdate(areaSection); } + } + public double Variance(List<Integer> x) { + List<Double> y = new ArrayList<>(); + for(Integer s:x){ + y.add(trans((s*1.0)/(3600*1000))); + } + int m = x.size(); + double sum = 0; + for (int i = 0; i < m; i++) { + sum += y.get(i); + } + double dAve = sum / m; + double dVar = 0; + for (int i = 0; i < m; i++) { + dVar += (y.get(i) - dAve) * (y.get(i) - dAve); + } + double v = dVar / m; + return trans2(v); + } + + public double trans(double v2){ + return (double) Math.round(v2 * 10) / 10; + } + + public double trans2(double v2){ + return (double) Math.round(v2 * 100) / 100; } } diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaSectionService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaSectionService.java index d6f8ee5..e5a8af7 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaSectionService.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaSectionService.java @@ -11,4 +11,6 @@ */ public interface IAreaSectionService extends IService<AreaSection> { + List<AreaSection> getListByParentId(String id); + } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaService.java index 7c5853d..b2b72a7 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaService.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAreaService.java @@ -14,4 +14,6 @@ */ public interface IAreaService extends IService<Area> { IPage<Area> page2(Page initMpPage, QueryWrapper<Area> wrapper); + + List<Area> list2(); } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaSectionServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaSectionServiceImpl.java index d277f79..b922820 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaSectionServiceImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaSectionServiceImpl.java @@ -23,4 +23,9 @@ @Autowired private AreaSectionMapper areaSectionMapper; + + @Override + public List<AreaSection> getListByParentId(String areaId) { + return areaSectionMapper.getListByParentId(areaId); + } } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaServiceImpl.java index 9dce0cf..13e72ed 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaServiceImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAreaServiceImpl.java @@ -31,4 +31,9 @@ public IPage<Area> page2(Page initMpPage, QueryWrapper<Area> wrapper) { return areaMapper.page2(initMpPage,wrapper); } + + @Override + public List<Area> list2() { + return areaMapper.list2(); + } } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ApplicationRunnerImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ApplicationRunnerImpl.java new file mode 100644 index 0000000..16887ff --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ApplicationRunnerImpl.java @@ -0,0 +1,32 @@ +package cn.exrick.xboot.your.util; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +@Component +public class ApplicationRunnerImpl implements ApplicationRunner { + + @Autowired + private HaiKangPost haiKangPost; + @Autowired + private MQTT mqtt; + + @Override + public void run(ApplicationArguments args) throws Exception { + String topicInfo = haiKangPost.getTopicInfo(); + JSONObject jsonObject = JSONUtil.parseObj(topicInfo); + if(jsonObject.get("data")!=null){ + String data = jsonObject.get("data").toString(); + JSONObject jsonObject2 = JSONUtil.parseObj(data); + String clientId = jsonObject2.get("clientId").toString(); + String userName = jsonObject2.get("userName").toString(); + String password = jsonObject2.get("password").toString(); + mqtt.event(clientId,userName,password); + } + + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ClientMQTT.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ClientMQTT.java deleted file mode 100644 index eb6f911..0000000 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/ClientMQTT.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.exrick.xboot.your.util; - -import java.util.concurrent.ScheduledExecutorService; -import org.eclipse.paho.client.mqttv3.MqttClient; -import org.eclipse.paho.client.mqttv3.MqttConnectOptions; -import org.eclipse.paho.client.mqttv3.MqttException; -import org.eclipse.paho.client.mqttv3.MqttTopic; -import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; - -public class ClientMQTT { - - public static final String HOST = "tcp://10.10.101.1:1883"; - //public static final String TOPIC = "\"5201154049\": \"artemis/event_msa_alarm/5201154049/admin\""; - public static final String TOPIC = "5201154049"; - private static final String clientid = "28156526"; - private MqttClient client; - private MqttConnectOptions options; - private String userName = "artemis_28156526_8SS2BGXE"; - private String passWord = "1GVZ2F7C"; - - private ScheduledExecutorService scheduler; - - private void start() { - try { - // host涓轰富鏈哄悕锛宑lientid鍗宠繛鎺QTT鐨勫鎴风ID锛屼竴鑸互鍞竴鏍囪瘑绗﹁〃绀猴紝MemoryPersistence璁剧疆clientid鐨勪繚瀛樺舰寮忥紝榛樿涓轰互鍐呭瓨淇濆瓨 - client = new MqttClient(HOST, clientid, new MemoryPersistence()); - // MQTT鐨勮繛鎺ヨ缃� - options = new MqttConnectOptions(); - // 璁剧疆鏄惁娓呯┖session,杩欓噷濡傛灉璁剧疆涓篺alse琛ㄧず鏈嶅姟鍣ㄤ細淇濈暀瀹㈡埛绔殑杩炴帴璁板綍锛岃繖閲岃缃负true琛ㄧず姣忔杩炴帴鍒版湇鍔″櫒閮戒互鏂扮殑韬唤杩炴帴 - options.setCleanSession(true); - // 璁剧疆杩炴帴鐨勭敤鎴峰悕 - options.setUserName(userName); - // 璁剧疆杩炴帴鐨勫瘑鐮� - options.setPassword(passWord.toCharArray()); - // 璁剧疆瓒呮椂鏃堕棿 鍗曚綅涓虹 - options.setConnectionTimeout(30); - // 璁剧疆浼氳瘽蹇冭烦鏃堕棿 鍗曚綅涓虹 鏈嶅姟鍣ㄤ細姣忛殧1.5*20绉掔殑鏃堕棿鍚戝鎴风鍙戦�佷釜娑堟伅鍒ゆ柇瀹㈡埛绔槸鍚﹀湪绾匡紝浣嗚繖涓柟娉曞苟娌℃湁閲嶈繛鐨勬満鍒� - options.setKeepAliveInterval(20); - // 璁剧疆鍥炶皟 - client.setCallback(new PushCallback()); - MqttTopic topic = client.getTopic(TOPIC); - //setWill鏂规硶锛屽鏋滈」鐩腑闇�瑕佺煡閬撳鎴风鏄惁鎺夌嚎鍙互璋冪敤璇ユ柟娉曘�傝缃渶缁堢鍙g殑閫氱煡娑堟伅 - options.setWill(topic, "close".getBytes(), 2, true); - - client.connect(options); - //璁㈤槄娑堟伅 - int[] Qos = {1}; - String[] topic1 = {TOPIC}; - client.subscribe(topic1, Qos); - - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void main(String[] args) throws MqttException { - ClientMQTT client = new ClientMQTT(); - client.start(); - } -} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java index e315f23..2c9e0f1 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HaiKangPost.java @@ -164,16 +164,17 @@ public static void main(String[] args) { - //getTopicInfo(); - - FindHistoryGpsRequest findHistoryGpsRequest = new FindHistoryGpsRequest(); - findHistoryGpsRequest.setVehicleIndexCode("b279d865eabe497db465eb2f4d2cc87d"); - findHistoryGpsRequest.setPageNo(1); - findHistoryGpsRequest.setPageSize(20); - findHistoryGpsRequest.setBeginTime("2021-11-25T03:10:01.000+08:00"); - findHistoryGpsRequest.setEndTime("2021-11-25T12:10:01.000+08:00"); HaiKangPost haiKangPost = new HaiKangPost(); - System.out.println(haiKangPost.findHistoryGps(findHistoryGpsRequest)); + haiKangPost.getTopicInfo(); + +// FindHistoryGpsRequest findHistoryGpsRequest = new FindHistoryGpsRequest(); +// findHistoryGpsRequest.setVehicleIndexCode("b279d865eabe497db465eb2f4d2cc87d"); +// findHistoryGpsRequest.setPageNo(1); +// findHistoryGpsRequest.setPageSize(20); +// findHistoryGpsRequest.setBeginTime("2021-11-25T03:10:01.000+08:00"); +// findHistoryGpsRequest.setEndTime("2021-11-25T12:10:01.000+08:00"); +// HaiKangPost haiKangPost = new HaiKangPost(); +// System.out.println(haiKangPost.findHistoryGps(findHistoryGpsRequest)); // String code[] = {"b279d865eabe497db465eb2f4d2cc87d"}; // System.out.println(findLatestGps(code)); diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/MQTT.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/MQTT.java new file mode 100644 index 0000000..390c107 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/MQTT.java @@ -0,0 +1,137 @@ +package cn.exrick.xboot.your.util; + +import cn.exrick.xboot.your.entity.Alarm; +import cn.exrick.xboot.your.entity.Car; +import cn.exrick.xboot.your.service.IAlarmService; +import cn.exrick.xboot.your.service.ICarService; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.eclipse.paho.client.mqttv3.*; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class MQTT { + @Autowired + private IAlarmService iAlarmService; + @Autowired + private ICarService iCarService; + + public static void main(String[] args) { + MQTT mqtt = new MQTT(); + mqtt.event("28156526","artemis_28156526_AQ4ZLCRT","X34YB59A"); + } + + public void event(String clientid,String userName,String passWord){ + String HOST = "tcp://111.63.178.115:1883"; + String TOPIC = "artemis/event_msa_alarm/5201154049/admin"; + int qos = 1; +// String clientid = "28156526"; +// String userName = "artemis_28156526_PSDARORD"; +// String passWord = "T48B7XI6"; + try { + // host涓轰富鏈哄悕锛宼est涓篶lientid鍗宠繛鎺QTT鐨勫鎴风ID锛屼竴鑸互瀹㈡埛绔敮涓�鏍囪瘑绗﹁〃绀猴紝MemoryPersistence璁剧疆clientid鐨勪繚瀛樺舰寮忥紝榛樿涓轰互鍐呭瓨淇濆瓨 + MqttClient client = new MqttClient(HOST, clientid, new MemoryPersistence()); + // MQTT鐨勮繛鎺ヨ缃� + MqttConnectOptions options = new MqttConnectOptions(); + // 璁剧疆鏄惁娓呯┖session,杩欓噷濡傛灉璁剧疆涓篺alse琛ㄧず鏈嶅姟鍣ㄤ細淇濈暀瀹㈡埛绔殑杩炴帴璁板綍锛岃繖閲岃缃负true琛ㄧず姣忔杩炴帴鍒版湇鍔″櫒閮戒互鏂扮殑韬唤杩炴帴 + options.setCleanSession(true); + // 璁剧疆杩炴帴鐨勭敤鎴峰悕 + options.setUserName(userName); + // 璁剧疆杩炴帴鐨勫瘑鐮� + options.setPassword(passWord.toCharArray()); + // 璁剧疆瓒呮椂鏃堕棿 鍗曚綅涓虹 + options.setConnectionTimeout(10); + // 璁剧疆浼氳瘽蹇冭烦鏃堕棿 鍗曚綅涓虹 鏈嶅姟鍣ㄤ細姣忛殧1.5*20绉掔殑鏃堕棿鍚戝鎴风鍙戦�佷釜娑堟伅鍒ゆ柇瀹㈡埛绔槸鍚﹀湪绾匡紝浣嗚繖涓柟娉曞苟娌℃湁閲嶈繛鐨勬満鍒� + options.setKeepAliveInterval(20); + // 璁剧疆鍥炶皟鍑芥暟 + client.setCallback(new MqttCallback() { + public void connectionLost(Throwable cause) { + System.out.println("connectionLost"); + } + + public void deliveryComplete(IMqttDeliveryToken token) { + System.out.println("deliveryComplete---------"+ token.isComplete()); + } + + + public void messageArrived(String topic, MqttMessage message) throws Exception { +// System.out.println("topic:"+topic); +// System.out.println("Qos:"+message.getQos()); +// System.out.println("message content:"+new String(message.getPayload())); + + String s = new String(message.getPayload()); + + if(!s.equals("close")){ + JSONObject jsonObject = JSONUtil.parseObj(s); + if(jsonObject.get("params")!=null){ + String params = jsonObject.get("params").toString(); + if(JSONUtil.parseObj(params)!=null){ + String events = JSONUtil.parseObj(params).get("events").toString(); + JSONArray objects = JSONUtil.parseArray(events); + for(int i=0;i<objects.size();i++){ + String s1 = objects.get(i).toString(); + 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(); + + Alarm alarm = new Alarm(); + if(eventType.equals("132371")){ + alarm.setType(1); + alarm.setValue("鐤插姵椹鹃┒"); + }else if(eventType.equals("132374")){ + alarm.setType(2); + alarm.setValue("鎺ユ墦鐢佃瘽"); + }else if(eventType.equals("132376")){ + alarm.setType(3); + alarm.setValue("鏈郴瀹夊叏甯�"); + }else if(eventType.equals("132375")){ + alarm.setType(4); + alarm.setValue("鎶界儫"); + }else{ + return; + } + + QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); + wrapper.eq("code",vehicleIndexCode); + Car car = iCarService.getOne(wrapper); + if(car==null){ + return; + } + + alarm.setAlarmId(alarmId); + alarm.setCarId(car.getId()); + alarm.setCarNo(car.getCarNo()); + alarm.setCarUserId(car.getUserId()); + alarm.setFollowUserId(car.getFollowUserId()); + + iAlarmService.saveOrUpdate(alarm); + } + } + } + } + + } + + }); + client.connect(options); + //璁㈤槄娑堟伅 + client.subscribe(TOPIC, qos); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/PushCallback.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/PushCallback.java deleted file mode 100644 index 2ab560f..0000000 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/PushCallback.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.exrick.xboot.your.util; - -import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; -import org.eclipse.paho.client.mqttv3.MqttCallback; -import org.eclipse.paho.client.mqttv3.MqttMessage; - -/** - * 鍙戝竷娑堟伅鐨勫洖璋冪被 - * - * 蹇呴』瀹炵幇MqttCallback鐨勬帴鍙e苟瀹炵幇瀵瑰簲鐨勭浉鍏虫帴鍙f柟娉旵allBack 绫诲皢瀹炵幇 MqttCallBack銆� - * 姣忎釜瀹㈡埛鏈烘爣璇嗛兘闇�瑕佷竴涓洖璋冨疄渚嬨�傚湪姝ょず渚嬩腑锛屾瀯閫犲嚱鏁颁紶閫掑鎴锋満鏍囪瘑浠ュ彟瀛樹负瀹炰緥鏁版嵁銆� - * 鍦ㄥ洖璋冧腑锛屽皢瀹冪敤鏉ユ爣璇嗗凡缁忓惎鍔ㄤ簡璇ュ洖璋冪殑鍝釜瀹炰緥銆� - * 蹇呴』鍦ㄥ洖璋冪被涓疄鐜颁笁涓柟娉曪細 - * - * public void messageArrived(MqttTopic topic, MqttMessage message)鎺ユ敹宸茬粡棰勮鐨勫彂甯冦�� - * - * public void connectionLost(Throwable cause)鍦ㄦ柇寮�杩炴帴鏃惰皟鐢ㄣ�� - * - * public void deliveryComplete(MqttDeliveryToken token)) - * 鎺ユ敹鍒板凡缁忓彂甯冪殑 QoS 1 鎴� QoS 2 娑堟伅鐨勪紶閫掍护鐗屾椂璋冪敤銆� - * 鐢� MqttClient.connect 婵�娲绘鍥炶皟銆� - * - */ -public class PushCallback implements MqttCallback { - - public void connectionLost(Throwable cause) { - // 杩炴帴涓㈠け鍚庯紝涓�鑸湪杩欓噷闈㈣繘琛岄噸杩� - System.out.println("杩炴帴鏂紑锛屽彲浠ュ仛閲嶈繛"); - } - - public void deliveryComplete(IMqttDeliveryToken token) { - System.out.println("deliveryComplete---------" + token.isComplete()); - } - - public void messageArrived(String topic, MqttMessage message) throws Exception { - // subscribe鍚庡緱鍒扮殑娑堟伅浼氭墽琛屽埌杩欓噷闈� - System.out.println("鎺ユ敹娑堟伅涓婚 : " + topic); - System.out.println("鎺ユ敹娑堟伅Qos : " + message.getQos()); - System.out.println("鎺ユ敹娑堟伅鍐呭 : " + new String(message.getPayload())); - } -} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/Recv.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/Recv.java deleted file mode 100644 index 47ea2db..0000000 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/Recv.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.exrick.xboot.your.util; - -import com.rabbitmq.client.Channel; -import com.rabbitmq.client.Connection; -import com.rabbitmq.client.ConnectionFactory; -import com.rabbitmq.client.DeliverCallback; - -public class Recv { - private final static String QUEUE_NAME = "5201154049"; - - public static void main(String[] argv) throws Exception { - ConnectionFactory factory = new ConnectionFactory(); - factory.setHost("111.63.178.115"); - factory.setPort(1883); - factory.setUsername("artemis_28156526_8SS2BGXE"); - factory.setPassword("1GVZ2F7C"); - Connection connection = factory.newConnection(); - Channel channel = connection.createChannel(); -//璇锋敞鎰忥紝鎴戜滑涔熷湪杩欓噷澹版槑浜嗛槦鍒椼�傚洜涓烘垜浠彲鑳藉湪鍙戝竷鑰呬箣鍓嶅惎鍔ㄦ秷璐硅�咃紝鎵�浠ユ垜浠笇鏈涘湪灏濊瘯浣跨敤娑堟伅涔嬪墠纭繚闃熷垪瀛樺湪銆� - channel.queueDeclare(QUEUE_NAME, false, false, false, null); - System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); -//鎴戜滑鍗冲皢鍛婅瘔鏈嶅姟鍣ㄤ粠闃熷垪涓紶閫掓秷鎭�傚洜涓哄畠浼氬紓姝ュ湴鍚戞垜浠彂閫佹秷鎭紝 -// 鎵�浠ユ垜浠互瀵硅薄鐨勫舰寮忔彁渚涗竴涓洖璋冿紝瀹冨皢缂撳啿娑堟伅锛岀洿鍒版垜浠噯澶囧ソ浣跨敤瀹冧滑銆傝繖灏辨槸DeliverCallback瀛愮被鐨勪綔鐢ㄣ�� - DeliverCallback deliverCallback = (consumerTag, delivery) -> { - String message = new String(delivery.getBody(), "UTF-8"); - System.out.println(" [x] Received '" + message + "'"); - }; - channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> { }); - } -} -- Gitblit v1.9.1