Commit e9cbe472 by dxh

[null-null]:空字符串不上报iot

parent 51c36799
package com.jln.system.web.action.mqtt;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.google.gson.JsonObject;
import com.jln.common.utils.EmptyUtil;
import com.jln.system.web.action.mqtt.pojo.dto.JsonDataDto;
import lombok.extern.slf4j.Slf4j;
......@@ -15,7 +12,6 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
......@@ -65,58 +61,6 @@ public class Base64decrypt {
return map;
}
/* private Map findMongo1(String deviceId,int start,int end) {
int i = (int)Math.ceil((double) start/50);
int j =(int) Math.ceil((double) end/50);
System.out.println();
String tableName = "";
Map map = null;
DateTimeFormatter fmDate = DateTimeFormatter.ofPattern("yyyyMM");
String yearMonth = LocalDate.now().format(fmDate);
for(int x = i; x<=j; x++){
try {
if(x<10){
tableName = deviceId + "0" +x + yearMonth;
}else{
tableName = deviceId + x + yearMonth;
}
//从mongodb查询
Query query = new Query();
query.limit(1);
query.with(Sort.by(
Sort.Order.desc("time")
));
if(x==j){
for (int a=start;a<=end;a++){
query.fields().include("d"+a);
}
}else{
for (int a=start;a<=x*50;a++){
query.fields().include("d"+a);
}
}
query.fields().include("time");
List<JSONObject> objectList = mongoTemplate.find(query, JSONObject.class, tableName);
//mongdb最新数据时间
Long time = Long.valueOf(objectList.get(0).toJavaObject(Map.class).get("time").toString());
//当前时间
long millis = Calendar.getInstance().getTimeInMillis();
//如果当前时间-最新上报数据的时间<设置关机范围,那么直接给
if ((millis - time) < jugeTime && !ObjectUtils.isEmpty(objectList)) {
JSONObject jsonObject = objectList.get(0);
if(!EmptyUtil.isEmpty(map)){
map.putAll(jsonObject.toJavaObject(Map.class));
}else{
map = jsonObject.toJavaObject(Map.class);
}
}
} catch (Exception e) {
return map;
}
}
return map;
}*/
/**
* 机器人测试
......@@ -149,6 +93,9 @@ public class Base64decrypt {
Map<String,Object> sites = new HashMap<>();
for (Map.Entry<String, Object> stringObjectEntry : objectMap.entrySet()) {
Map<String,Object> properites = new HashMap<>();
if(EmptyUtil.isEmpty(stringObjectEntry.getValue())){
continue;
}
properites.put(stringObjectEntry.getKey(),stringObjectEntry.getValue());
properites.put("ts",millis);
allDto.add(properites);
......@@ -164,12 +111,20 @@ public class Base64decrypt {
JSONObject jsonObject = JSONObject.parseObject(value);
Map<String,Object> keyValue = new HashMap<>();
for (Map.Entry<String, Object> objectEntry : jsonObject.entrySet()) {
keyValue.put(String.valueOf(objectEntry.getValue()),mongoMap.get(objectEntry.getValue())==null?"":mongoMap.get(objectEntry.getValue()));
Object zhi = mongoMap.get(objectEntry.getValue());
if(zhi==null || zhi.equals("")){
continue;
}
keyValue.put(String.valueOf(objectEntry.getValue()),zhi);
}
treeMap.put(stringObjectEntry.getKey(),keyValue==null?"":keyValue);
treeMap.put(stringObjectEntry.getKey(),keyValue);
}catch (Exception e){
Map<String,Object> keyValue = new HashMap<>();
keyValue.put(String.valueOf(stringObjectEntry.getValue()),mongoMap.get(stringObjectEntry.getValue())==null?"":mongoMap.get(stringObjectEntry.getValue()));
Object zhi = mongoMap.get(stringObjectEntry.getValue());
if(zhi==null || zhi.equals("")){
continue;
}
keyValue.put(String.valueOf(stringObjectEntry.getValue()),zhi);
keyValue.put("ts",millis);
allDto.add(keyValue);
}
......@@ -188,11 +143,6 @@ public class Base64decrypt {
}
reportDto.put("reported", allDto);
JSONObject jsonObj=new JSONObject(reportDto);
String s =jsonObj.toString();
String str = JSONObject.toJSONString(jsonObj, SerializerFeature.WriteMapNullValue);
System.out.println("輸出Json:"+str);
return reportDto;
}
......
package com.jln.system.web.action.mqtt;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.jln.common.utils.EmptyUtil;
import com.jln.system.web.action.mqtt.pojo.dto.*;
import com.jln.system.web.action.mqtt.pojo.vo.StaticData;
import com.jln.system.web.action.mqtt.server.EoStatisticsService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -38,9 +35,6 @@ public class MqttStartClient {
@Autowired
private Base64decrypt base64decrypt;
@Autowired
private EoStatisticsService eoStatisticsService;
private static Logger logger = LoggerFactory.getLogger(MqttStartClient.class);
......@@ -51,15 +45,8 @@ public class MqttStartClient {
* @return
*/
public Integer resolveSk(String skFileUrl) {
// Map<String, Object> skReportDto = new HashMap<>();
String skFileValue = readSkFileToList(skFileUrl);
/* if (skFileValue.isEmpty()) {
return skReportDto;
}*/
JSONObject jsonObject = JSONObject.parseObject(skFileValue);
//skReportDto.put("cmdId", "10");
//skReportDto.put("version", jsonObject.getInteger("version"));
//skReportDto.put("sequenceId", 1);
return jsonObject.getInteger("version");
}
......
package com.jln.system.web.action.mqtt.controller;
import com.jln.common.RedisUtil.RedisUtil;
import com.jln.common.annotation.IgnoreUserLoginToken;
import com.jln.common.entity.Result;
import com.jln.system.web.action.mqtt.MqttStartClient;
import com.jln.system.web.action.mqtt.init.InitHander;
import com.jln.system.web.action.mqtt.mapper.ScadaBiMapper;
import com.jln.system.web.action.mqtt.mapper.ScadaTxsbMapper;
import com.jln.system.web.action.mqtt.pojo.dto.JsonDataDto;
import com.jln.system.web.action.mqtt.pojo.vo.StaticData;
import com.jln.system.web.action.mqtt.server.SendMqttServer;
......@@ -16,7 +12,6 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;
......@@ -26,17 +21,6 @@ import java.util.Map;
@Api(tags = "mqtt连接")
public class MqttClientController {
@Autowired
private MqttStartClient mqttStartClient;
@Autowired
private ScadaBiMapper scadaMapper;
@Autowired
private ScadaTxsbMapper scadaTxsbMapper;
@Autowired
private RedisUtil redisUtil;
@Autowired
private SendMqttServer sendMqttServer;
......@@ -51,385 +35,6 @@ public class MqttClientController {
return new Result().toFailure("标准格式:"+initJson);
}
sendMqttServer.sendMqtt(jsonDataDtoList);
/* List<BldzCclmVo> xpjVos = scadaMapper.find("校平机");
HashMap<String, String> xpjMap = new HashMap<>();
for (BldzCclmVo xpjVo : xpjVos) {
if (xpjVo != null) {
if ("设备状态".equals(xpjVo.getBLmc())) {
xpjMap.put("Status", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if ("报警".equals(xpjVo.getBLmc())) {
xpjMap.put("Alarm", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if ("最大板厚".equals(xpjVo.getBLmc())) {
xpjMap.put("MaxThickness", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if ("最大板宽".equals(xpjVo.getBLmc())) {
xpjMap.put("MaxWidth", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if ("校平速度".equals(xpjVo.getBLmc())) {
xpjMap.put("MaxSpeed", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if ("上辊行程".equals(xpjVo.getBLmc())) {
xpjMap.put("RealLength", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if ("上辊角度".equals(xpjVo.getBLmc())) {
xpjMap.put("RealAngle", xpjVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
//xpjMap.put(xpjVo.getBldz(), xpjVo.getCClm().toLowerCase(Locale.ROOT));
}
}
mqttStartClient.xpjStartLj(xpjTxt, xpjTjSk, "xpj", xpjMap, "xpj");*/
/* List<BldzCclmVo> btVos = scadaMapper.find("奔腾切割机");
HashMap<String, String> btMap = new HashMap<>();
for (BldzCclmVo btVo : btVos) {
if (btVo != null) {
btMap.put(btVo.getBldz(), btVo.getCClm().toLowerCase(Locale.ROOT));
}
}
mqttStartClient.jgStartLj(btqgjTxt, btqgjSk, "jgqgj", btMap, "jgqgj");*/
/*List<BldzCclmVo> msr52Vos = scadaMapper.find("梅塞尔52");
HashMap<String, List<String>> msr52Map = new HashMap<>();
for (BldzCclmVo msr52Vo : msr52Vos) {
if (msr52Vo != null) {
if ("报警1".equals(msr52Vo.getBLmc()) || "报警2".equals(msr52Vo.getBLmc())
|| "报警3".equals(msr52Vo.getBLmc()) || "报警4".equals(msr52Vo.getBLmc())
|| "报警5".equals(msr52Vo.getBLmc()) || "报警6".equals(msr52Vo.getBLmc())
|| "报警7".equals(msr52Vo.getBLmc()) || "报警8".equals(msr52Vo.getBLmc())
|| "报警9".equals(msr52Vo.getBLmc()) || "报警10".equals(msr52Vo.getBLmc())) {
List<String> list = msr52Map.computeIfAbsent("Alarm", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("工作模式".equals(msr52Vo.getBLmc())) {
List<String> list = msr52Map.computeIfAbsent("Mode", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("绝对坐标X".equals(msr52Vo.getBLmc()) || "绝对坐标Y".equals(msr52Vo.getBLmc())) {
List<String> list = msr52Map.computeIfAbsent("AbsPos", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("NC程序启动".equals(msr52Vo.getBLmc()) || "NC程序停止".equals(msr52Vo.getBLmc())) {
List<String> list = msr52Map.computeIfAbsent("NcStatus", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("当前程序号".equals(msr52Vo.getBLmc())) {
List<String> list = msr52Map.computeIfAbsent("CurPgm", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("加工时间".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("CycSec", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("程序行号".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("PartCnt", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("产量".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("CurSeq", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("当前程序块".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("CurNcBlk", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("切割速度".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("CutSpeed", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("板材规格".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("PlateType", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("切割气体流量".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("CutGasFlow", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("保护气体流量".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("ProGasFlow", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("切割状态开启".equals(msr52Vo.getBLmc()) || "切割状态关闭".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("ProGasFlow", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("切割厚度".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("CutThick", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("引弧时间".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("ArcStrikeTime", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("弧压".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("ArcVoltage", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("隔缝补偿".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("GapOffset", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
if ("工作电流".equals(msr52Vo.getBLmc())) {
//转化为秒
List<String> list = msr52Map.computeIfAbsent("Current", k -> new ArrayList<String>());
list.add(msr52Vo.getCClm());
continue;
}
}
}
mqttStartClient.msrStartLj(mse52Txt, mse52Sk, "mse52", msr52Map, "mse52");*/
// mqttStartClient.msr52StartLj(msrqgjTxt, msrqgjSk, "mse53", msr52Map, "mse53");
/* List<BldzCclmVo> blxVos = scadaMapper.find("板链线");
HashMap<String, String> blxMap = new HashMap<>();
for (BldzCclmVo blxVo : blxVos) {
if (blxVo!=null) {
if("设备状态".equals(blxVo.getBLmc())){
blxMap.put("Status", blxVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if("是否报警".equals(blxVo.getBLmc())){
blxMap.put("Alarm", blxVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
//blxMap.put(blxVo.getBldz(), blxVo.getCClm().toLowerCase(Locale.ROOT));
}
}
mqttStartClient.qtxlStartLj(blxTxt, blxjSk, "blx", blxMap, "blx");*/
/*List<BldzCclmVo> xgjxcVos = scadaMapper.find("小港机行车");
HashMap<String, String> xgjxcMap = new HashMap<>();
for (BldzCclmVo xgjxcVo : xgjxcVos) {
if (xgjxcVo!=null) {
if("行车运行状态".equals(xgjxcVo.getBLmc())){
xgjxcMap.put("Status", xgjxcVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if("设备故障".equals(xgjxcVo.getBLmc())){
xgjxcMap.put("Alarm", xgjxcVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if("钢板重量".equals(xgjxcVo.getBLmc())){
xgjxcMap.put("LiftWeight", xgjxcVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if("行车z轴当前位置".equals(xgjxcVo.getBLmc())){
xgjxcMap.put("LiftHeight", xgjxcVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
if("勾吊速度".equals(xgjxcVo.getBLmc())){
xgjxcMap.put("LiftSpeed", xgjxcVo.getCClm().toLowerCase(Locale.ROOT));
continue;
}
// xgjxcMap.put(xgjxcVo.getBldz(), xgjxcVo.getCClm().toLowerCase(Locale.ROOT));
}
}
mqttStartClient.zlhcStartLj(xgjxcTxt, xgjxcSk, "xgjxc", xgjxcMap, "xgjxc");*/
/* List<BldzCclmVo> blxVos = scadaMapper.find("数控龙门铣");
HashMap<String, List<String>> lmxMap = new HashMap<>();*/
/* for (BldzCclmVo blxVo : blxVos) {
if (blxVo != null) {
if ("序列号".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("SerNum", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("软件版本".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("nckVer", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("伺服轴数".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("Axes", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("主轴数".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("SpinNum", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("主轴最高转速".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("MaxSpeed", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("工作状态".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("Status", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("急停".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("CncEmg", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("工作模式".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("Model", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("轴名称1".equals(blxVo.getBLmc()) || "轴名称2".equals(blxVo.getBLmc()) || "轴名称3".equals(blxVo.getBLmc()) || "轴名称4".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("AxisName", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("机械坐标X".equals(blxVo.getBLmc()) || "机械坐标Y".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("MachPos", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("绝对坐标X".equals(blxVo.getBLmc()) || "绝对坐标Y".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("ABSPos", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("相对坐标X".equals(blxVo.getBLmc()) || "相对坐标Y".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("RelPos", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("剩余距离".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("RemPos", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("程序运行状态".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("NcStatus", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("主程序号".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("MainPgm", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("当前程序号".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("CurPgm", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("切削时间".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("CycTime", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("加工时间".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("operatingTime", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("程序行号".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("CurSec", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("产量".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("Quantity", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("当前程序块".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("CurNcBlk", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("刀具号".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("TCode", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("切削倍率".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("OvFeed", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("主轴倍率".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("OvSpin", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("切削速度".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("actFeedRate", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("报警数量".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("alarmNums", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("报警类型".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("AlarmType", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
if ("报警号".equals(blxVo.getBLmc())) {
List<String> list = lmxMap.computeIfAbsent("AlarmNo", k -> new ArrayList<String>());
list.add(blxVo.getCClm());
continue;
}
}
}
mqttStartClient.lmxStartLj( lmxBjxx,"sklmx", lmxMap, "sklmx");*/
return new Result().toSuccess();
}
......
......@@ -4,28 +4,17 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jln.common.utils.EmptyUtil;
import com.jln.system.web.action.mqtt.pojo.dto.JsonDataDto;
import com.jln.system.web.action.mqtt.server.SendMqttServer;
import com.jln.system.web.action.mqtt.util.FlieUrlUtil;
import com.sun.org.apache.bcel.internal.generic.NEW;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.*;
//@Component
public class InitHander implements CommandLineRunner {
@Autowired
private SendMqttServer sendMqttServer;
@Override
public void run(String... args){
//List<JsonDataDto> jsonDataDtoList = analysisJsonParm();
//sendMqttServer.sendMqtt(jsonDataDtoList);
}
public List<JsonDataDto> analysisJsonParm(MultipartFile file) throws IOException {
......@@ -33,10 +22,11 @@ public class InitHander implements CommandLineRunner {
String jsonStr = FlieUrlUtil.readJsonField(file);
//String jsonStr = strJson();//模拟数据
List<JsonDataDto> jsonDataDtoList = new ArrayList<>();
List<Map<String,Object>> tree = new ArrayList<>();
List<JSONObject> list = JSONObject.parseObject(JSONArray.parseArray(jsonStr).toString(), List.class);
list.forEach(j->{
JsonDataDto jsonDataDto = new JsonDataDto();
List<Map<String,Object>> tree = new ArrayList<>();
List<JSONObject> mongdbTableList= JSONObject.parseObject(j.getJSONObject("reported").getJSONArray("singleField").toString(), List.class);
jsonDataDto.setCmdId(Integer.parseInt(j.get("cmdId").toString()));
jsonDataDto.setMongdbTableb(j.get("mongdbTableb").toString());
......
......@@ -5,7 +5,6 @@ import com.jln.common.enums.MqttEnum;
import com.jln.system.web.action.mqtt.MqttStartClient;
import com.jln.system.web.action.mqtt.XBMqttDataUtil;
import com.jln.system.web.action.mqtt.mapper.ScadaBiMapper;
import com.jln.system.web.action.mqtt.pojo.dto.JsonDataDto;
import com.jln.system.web.action.mqtt.pojo.vo.BldzCclmVo;
import com.jln.system.web.action.mqtt.server.SendMqttServer;
......@@ -13,7 +12,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.*;
import java.util.*;
......@@ -113,12 +111,11 @@ public class SendMqttServerImpl implements SendMqttServer {
while (true) {
try {
dtoList.forEach(t->{
//Map<String, String> dongtaishuju = jgqgj("正常数据设备");
//if (dongtaishuju != null && dongtaishuju.size() > 0) {
mqttStartClient.jqr(t, xbMqttDataUtil);
//}
Long start = System.currentTimeMillis();
mqttStartClient.jqr(t, xbMqttDataUtil);
Long end = System.currentTimeMillis();
System.out.println("-----------耗时:------------"+(end-start)/1000);
});
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
continue;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论