Commit 99e4a099 by 黄强

解析json 模板比你且複製,還差變量替換

parent 92620284
...@@ -49,7 +49,14 @@ public class Base64decrypt { ...@@ -49,7 +49,14 @@ public class Base64decrypt {
)); ));
List<JSONObject> objectList = mongoTemplate.find(query, JSONObject.class, entry.getKey()+yearMonth); List<JSONObject> objectList = mongoTemplate.find(query, JSONObject.class, entry.getKey()+yearMonth);
//mongdb最新数据时间 //mongdb最新数据时间
Long time = Long.valueOf(objectList.get(0).toJavaObject(Map.class).get("time").toString()); Map<String ,Object> map1 = objectList.get(0).toJavaObject(Map.class);
Set<Map.Entry<String, Object>> entries = entry.getValue().entrySet();//key 是 数据库字段,value 是iot
//处理上报的字段
Long time = Long.valueOf(map1.get("time").toString());
//当前时间 //当前时间
long millis = Calendar.getInstance().getTimeInMillis(); long millis = Calendar.getInstance().getTimeInMillis();
//如果当前时间-最新上报数据的时间<设置关机范围,那么直接给 //如果当前时间-最新上报数据的时间<设置关机范围,那么直接给
...@@ -62,11 +69,14 @@ public class Base64decrypt { ...@@ -62,11 +69,14 @@ public class Base64decrypt {
map = jsonObject.toJavaObject(Map.class); map = jsonObject.toJavaObject(Map.class);
} }
} }
for (Map.Entry<String,Object> fields : entry.getValue().entrySet()){//
boolean contains = map.containsKey(fields.getKey());
if(contains){
Object valeDb = map.get(fields.getKey());
map.remove(fields.getKey()) ;
map.put(fields.getValue().toString(),valeDb);
}
}
} }
......
...@@ -5,14 +5,20 @@ import com.jln.common.RedisUtil.RedisUtil; ...@@ -5,14 +5,20 @@ import com.jln.common.RedisUtil.RedisUtil;
import com.jln.common.annotation.IgnoreUserLoginToken; import com.jln.common.annotation.IgnoreUserLoginToken;
import com.jln.common.entity.Result; import com.jln.common.entity.Result;
import com.jln.system.web.action.mqtt.MqttStartClient; 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.ScadaBiMapper;
import com.jln.system.web.action.mqtt.mapper.ScadaTxsbMapper; 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.pojo.vo.StaticData;
import com.jln.system.web.action.mqtt.server.SendMqttServer;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map; import java.util.Map;
@RestController @RestController
...@@ -31,13 +37,16 @@ public class MqttClientController { ...@@ -31,13 +37,16 @@ public class MqttClientController {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired
private SendMqttServer sendMqttServer;
@ApiOperation(value = "mqtt连接发布订阅", notes = "mqtt连接发布订阅") @ApiOperation(value = "mqtt连接发布订阅", notes = "mqtt连接发布订阅")
@PostMapping("/start") @PostMapping(value = "/start",consumes = "multipart/*", headers = "content-type=multipart/form-data")
@IgnoreUserLoginToken @IgnoreUserLoginToken
public Result start() { public Result start(@RequestParam MultipartFile file) throws IOException {
InitHander initHander = new InitHander();
List<JsonDataDto> jsonDataDtoList = initHander.analysisJsonParm(file);
sendMqttServer.sendMqtt(jsonDataDtoList);
/* List<BldzCclmVo> xpjVos = scadaMapper.find("校平机"); /* List<BldzCclmVo> xpjVos = scadaMapper.find("校平机");
HashMap<String, String> xpjMap = new HashMap<>(); HashMap<String, String> xpjMap = new HashMap<>();
......
...@@ -4,17 +4,20 @@ import com.alibaba.fastjson.JSONArray; ...@@ -4,17 +4,20 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jln.system.web.action.mqtt.pojo.dto.JsonDataDto; 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.server.SendMqttServer;
import com.jln.system.web.action.mqtt.util.FlieUrlUtil;
import com.sun.org.apache.bcel.internal.generic.NEW; import com.sun.org.apache.bcel.internal.generic.NEW;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Component //@Component
public class InitHander implements CommandLineRunner { public class InitHander implements CommandLineRunner {
@Autowired @Autowired
...@@ -23,13 +26,14 @@ public class InitHander implements CommandLineRunner { ...@@ -23,13 +26,14 @@ public class InitHander implements CommandLineRunner {
@Override @Override
public void run(String... args){ public void run(String... args){
List<JsonDataDto> jsonDataDtoList = analysisJsonParm(); //List<JsonDataDto> jsonDataDtoList = analysisJsonParm();
sendMqttServer.sendMqtt(jsonDataDtoList); //sendMqttServer.sendMqtt(jsonDataDtoList);
} }
public List<JsonDataDto> analysisJsonParm(){ public List<JsonDataDto> analysisJsonParm(MultipartFile file) throws IOException {
String jsonStr = strJson();//模拟数据 String jsonStr = FlieUrlUtil.readJsonField(file);
//String jsonStr = strJson();//模拟数据
List<JsonDataDto> jsonDataDtoList = new ArrayList<>(); List<JsonDataDto> jsonDataDtoList = new ArrayList<>();
......
...@@ -12,7 +12,6 @@ import com.jln.system.web.action.mqtt.server.SendMqttServer; ...@@ -12,7 +12,6 @@ import com.jln.system.web.action.mqtt.server.SendMqttServer;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.*; import java.io.*;
...@@ -89,7 +88,7 @@ public class SendMqttServerImpl implements SendMqttServer { ...@@ -89,7 +88,7 @@ public class SendMqttServerImpl implements SendMqttServer {
public void sendMqtt(List<JsonDataDto> dtoList) { public void sendMqtt(List<JsonDataDto> dtoList) {
// //解析sk文件 // //解析sk文件
// String skFileValue = readSkFileToList(commonSk); // String skFileValue = readSkFileToList(commonSk);
/* MqttStartClient mq = new MqttStartClient(); MqttStartClient mq = new MqttStartClient();
String skFileValue = mq.readSkFileToList(commonSk); String skFileValue = mq.readSkFileToList(commonSk);
JSONObject jsonObject = JSONObject.parseObject(skFileValue); JSONObject jsonObject = JSONObject.parseObject(skFileValue);
Map<String, String> configParams = new HashMap<>(); Map<String, String> configParams = new HashMap<>();
...@@ -105,7 +104,7 @@ public class SendMqttServerImpl implements SendMqttServer { ...@@ -105,7 +104,7 @@ public class SendMqttServerImpl implements SendMqttServer {
String topic = "$SANY/gateway/pdev/sany/mdc/" + jsonObject.getString("accessKey") + "/data"; String topic = "$SANY/gateway/pdev/sany/mdc/" + jsonObject.getString("accessKey") + "/data";
configParams.put(MqttEnum.MQTT_TOPIC.getMqttName(), topic); configParams.put(MqttEnum.MQTT_TOPIC.getMqttName(), topic);
XBMqttDataUtil xbMqttDataUtil = new XBMqttDataUtil(configParams);*/ XBMqttDataUtil xbMqttDataUtil = new XBMqttDataUtil(configParams);
// TODO 动臂斗杆底漆喷涂机器人1 // TODO 动臂斗杆底漆喷涂机器人1
new Thread(new Runnable() { new Thread(new Runnable() {
......
package com.jln.system.web.action.mqtt.util; package com.jln.system.web.action.mqtt.util;
import com.jln.system.web.action.mqtt.MqttStartClient;
import javafx.application.Application;
import org.apache.coyote.Request;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication; import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Path;
public class FlieUrlUtil { public class FlieUrlUtil {
private static Logger logger = LoggerFactory.getLogger(FlieUrlUtil.class); private static Logger logger = LoggerFactory.getLogger(FlieUrlUtil.class);
...@@ -51,4 +43,26 @@ public class FlieUrlUtil { ...@@ -51,4 +43,26 @@ public class FlieUrlUtil {
// System.out.println(path); // System.out.println(path);
} }
public static String readJsonField(MultipartFile file) throws IOException {
long startTime=System.currentTimeMillis(); //获取开始时间
InputStream filestream = file.getInputStream();
// FileInputStream filestream=new FileInputStream(fileAllPath);
/*byte[] b = new byte[3];
filestream.read(b);
String ecode="gbk";
if (b[0] == -17 && b[1] == -69 && b[2] == -65){
ecode="utf-8";
}*/
InputStreamReader readStream=new InputStreamReader(filestream);
BufferedReader reader=new BufferedReader(readStream);
String s;
StringBuffer sbStr = new StringBuffer();
while((s=reader.readLine()) != null){
sbStr.append(s+"\n");
}
reader.close();
return sbStr.toString();
}
} }
...@@ -29,7 +29,7 @@ public class Application { ...@@ -29,7 +29,7 @@ public class Application {
SpringApplication.run(Application.class,args); SpringApplication.run(Application.class,args);
} }
@Bean /* @Bean
public FilterRegistrationBean httpServletRequestReplacedRegistration() { public FilterRegistrationBean httpServletRequestReplacedRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(); FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new HttpServletRequestReplacedFilter()); registration.setFilter(new HttpServletRequestReplacedFilter());
...@@ -39,5 +39,5 @@ public class Application { ...@@ -39,5 +39,5 @@ public class Application {
registration.setOrder(1); registration.setOrder(1);
return registration; return registration;
} }
*/
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论