Commit 0bd50c68 authored by zhuangzhuang's avatar zhuangzhuang

4.2--新增报警

parent 167c4c1b
......@@ -110,9 +110,6 @@ public class GWConfigWorker implements Callable<String>, MqttCallback {
mqttAsyncClient.subscribe(RespTopic, qos);//订阅主题
}
//获取数据
ConfigVo configVo = configService.getConfig(SN,Type);
ConfigCMD = configVo.getMessage();
//发送数据
publish(ConfigCMD,ConfigTopic);
} catch (MqttException e){
e.printStackTrace();
......@@ -176,6 +173,9 @@ public class GWConfigWorker implements Callable<String>, MqttCallback {
//解析Message消息
RespVo respVo = new Gson().fromJson(Message,RespVo.class);
if(respVo.getResponse().equals("config")){
logger.info(SN);
logger.info(Type);
logger.info(""+respVo.getStatus());
//配置回复
configService.bindiSuccess(SN,Type,respVo.getStatus());
}else{
......
......@@ -7,16 +7,20 @@ public class AddAlarmLogVo {
private Integer mode;
private String gSN;
private String gsn;
private String gType;
private String gtype;
private Long ts;
private List<AlarmData> alarm;
public static class AlarmData {
private String TDLSN;
private String tdlsn;
private String alias;
private Integer alarmno;
private String desp;
......@@ -27,19 +31,37 @@ public class AddAlarmLogVo {
public AlarmData() {
}
public AlarmData(String TDLSN, String desp, Float value, Long ts) {
this.TDLSN = TDLSN;
public AlarmData(String tdlsn, String alias, Integer alarmno, String desp, Float value, Long ts) {
this.tdlsn = tdlsn;
this.alias = alias;
this.alarmno = alarmno;
this.desp = desp;
this.value = value;
this.ts = ts;
}
public String getTDLSN() {
return TDLSN;
public String getTdlsn() {
return tdlsn;
}
public void setTdlsn(String tdlsn) {
this.tdlsn = tdlsn;
}
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias = alias;
}
public Integer getAlarmno() {
return alarmno;
}
public void setTDLSN(String TDLSN) {
this.TDLSN = TDLSN;
public void setAlarmno(Integer alarmno) {
this.alarmno = alarmno;
}
public String getDesp() {
......@@ -75,20 +97,20 @@ public class AddAlarmLogVo {
this.mode = mode;
}
public String getgSN() {
return gSN;
public String getGsn() {
return gsn;
}
public void setgSN(String gSN) {
this.gSN = gSN;
public void setGsn(String gsn) {
this.gsn = gsn;
}
public String getgType() {
return gType;
public String getGtype() {
return gtype;
}
public void setgType(String gType) {
this.gType = gType;
public void setGtype(String gtype) {
this.gtype = gtype;
}
public Long getTs() {
......
......@@ -36,7 +36,7 @@ import java.util.concurrent.TimeUnit;
public class MqttListener implements MqttCallback {
private static final int INIT_DELAY_DEFAULT = 1000; // unit:ms
private static final int SCH_PERIOD_DEFAULT = 10 * INIT_DELAY_DEFAULT; // unit:ms
private static final String CHECKIN_TOPIC = "GW/+/+/CheckIn";
private static final String CHECKIN_TOPIC = "TDL/+/+/CheckIn";
private MqttTemlateAsync mqttAsyncClient;
......@@ -187,12 +187,9 @@ public class MqttListener implements MqttCallback {
// 有设备信息
ConfigVo configVo = configService.getConfig(SN,Type);
ConfigCMDVo configCMDVo = new Gson().fromJson(configVo.getMessage(),ConfigCMDVo.class);
if(configVo.getUntie()){
//解绑状态
return 2;//解绑
}
//判断两者的devList是否一致
if (configCMDVo.getDevList().containsAll(checkInVo.getDevList())
if(StringUtils.isEmpty(configVo.getMessage())){
return 2;//解绑
} else if (configCMDVo.getDevList().containsAll(checkInVo.getDevList())
&& checkInVo.getDevList().containsAll(configCMDVo.getDevList())
&& checkInVo.getGprsPeriod().equals(configCMDVo.getGprsPeriod())
&& checkInVo.getGpsPeriod().equals(configCMDVo.getGpsPeriod())
......
......@@ -14,6 +14,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/alarmLog")
......@@ -30,14 +33,19 @@ public class AlarmLogController {
@Autowired
private GatewayService gatewayService;
//新增报警消息
@RequestMapping(value = "/addAlarmLog",method = RequestMethod.POST)
public String addAlarmLog(@RequestBody AddAlarmLogVo addAlarmLogVo){
if(StringUtils.isEmpty(addAlarmLogVo.getgSN())){
public String addAlarmLog(@RequestBody String addAlarmLog){
logger.info(addAlarmLog);
AddAlarmLogVo addAlarmLogVo = gson.fromJson(addAlarmLog,AddAlarmLogVo.class);
logger.info(System.currentTimeMillis()+"--------"+gson.toJson(addAlarmLogVo));
if(StringUtils.isEmpty(addAlarmLogVo.getGsn())){
fb.setCode(0);
fb.setMessage("网关序列号不能为空");
}
if(StringUtils.isEmpty(addAlarmLogVo.getgType())){
if(StringUtils.isEmpty(addAlarmLogVo.getGtype())){
fb.setCode(0);
fb.setMessage("网关类型不能为空");
}
......@@ -48,28 +56,40 @@ public class AlarmLogController {
if(addAlarmLogVo.getTs() == null){
fb.setCode(0);
fb.setMessage("时间不能为空");
}
}Map<Integer,String> map = new HashMap<>();
map.put(0,"正常");
map.put(1,"等于最大值");
map.put(2,"不等于最大值");
map.put(3,"过高");
map.put(4,"过低");
map.put(5,"未知");
//根据gateway的信息获取线路信息
String transportationNo = gatewayService.getTransportationNo(addAlarmLogVo.getgSN(),addAlarmLogVo.getgType());
String transportationNo = gatewayService.getTransportationNo(addAlarmLogVo.getGsn(),addAlarmLogVo.getGtype());
for(int i = 0;i<addAlarmLogVo.getAlarm().size();i++){
// String classify="";
// if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("温度")){
// classify = "1";
// } else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("湿度")){
// classify = "2";
// } else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("震动")){
// classify = "3";
// } else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("倾角")){
// classify = "4";
// }
//// else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("光爆")){
//// classify = "5";
//// }
// else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("离线")){
// classify = "6";
String classify="";
String desp = "";
if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("T")){
desp = "温度" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
classify = "1";
} else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("h")){
desp = "湿度" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
classify = "2";
} else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("a0")){
desp = "震动" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
classify = "3";
} else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("ta")){
desp = "倾角" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
classify = "4";
}
// else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("光爆")){
// desp = "温度" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
// classify = "5";
// }
// AlarmLog alarmLog = new AlarmLog(transportationNo,addAlarmLogVo.getAlarm().get(i).getTDLSN(),addAlarmLogVo.getAlarm().get(i).getDesp(),addAlarmLogVo.getAlarm().get(i).getValue(),addAlarmLogVo.getAlarm().get(i).getTs()*1000,classify);
AlarmLog alarmLog = new AlarmLog(transportationNo,addAlarmLogVo.getAlarm().get(i).getTDLSN(),"温度异常",addAlarmLogVo.getAlarm().get(i).getValue(),addAlarmLogVo.getAlarm().get(i).getTs()*1000,"1");
else if(addAlarmLogVo.getAlarm().get(i).getDesp().contains("离线")){
desp = addAlarmLogVo.getAlarm().get(i).getTdlsn()+"离线";
classify = "6";
}
AlarmLog alarmLog = new AlarmLog(transportationNo,addAlarmLogVo.getAlarm().get(i).getTdlsn().replace("TDL-","").trim(),desp,addAlarmLogVo.getAlarm().get(i).getValue(),addAlarmLogVo.getAlarm().get(i).getTs()*1000,classify);
int a = alarmLogServcie.addAlarmLog(alarmLog);
if(a == 0){
fb.setCode(0);
......
......@@ -95,7 +95,7 @@ public class EquipmentBindingController {
//开始绑定
//获取gateway下的所有tdl的编号
List<String> devList = tdlDeviceService.getByGatewaySN(bindingVo.getSN(),bindingVo.getType());
devList.add(bindingVo.getTDLSN());
devList.add("TDL-"+bindingVo.getTDLSN());
ConfigCMDVo configCMDVo = new ConfigCMDVo("config",5,15,devList,bindingVo.getMode(),System.currentTimeMillis()/1000l);
Map<Object,Object> map=new HashMap<>();
map.put("transportationNo",bindingVo.getTransportationNo());
......@@ -109,7 +109,7 @@ public class EquipmentBindingController {
map.put("resp",null);
map.put("state",1);
map.put("untie",false);
map.put("TDLSN","tdl-"+bindingVo.getTDLSN());
map.put("TDLSN","TDL-"+bindingVo.getTDLSN());
map.put("createTime",System.currentTimeMillis());
configService.addConfig(map);
Map<Object,Object> msg=new HashMap<>();
......@@ -174,14 +174,12 @@ public class EquipmentBindingController {
devList.remove(TDLSN);
configCMDVo = new ConfigCMDVo("config",config.getGpsPeriod(),config.getGprsPeriod(),devList,config.getMode(),System.currentTimeMillis()/1000l);
}else{
configCMDVo = config;
untie = true;
configCMDVo = new ConfigCMDVo();
}
Map<Object,Object> map=new HashMap<>();
map.put("gSN",resultTDLDeviceVo.getGatewaySN());
map.put("gType",resultTDLDeviceVo.getGatewayType());
map.put("message",gson.toJson(configCMDVo));
map.put("untie",untie);
map.put("TDLSN",TDLSN);
map.put("endTime",System.currentTimeMillis());
configService.updateConfig(map);
......
......@@ -339,11 +339,11 @@ public class GatewayController {
if (device.getState() == 0) {
//挂载
String sr = HttpRequester.sendPost("http://192.168.1.171:8079/witium/addMount", gson.toJson(new GatewaySNAndTypeVo(device.getSN(), device.getType())));
String sr = HttpRequester.sendPost("http://192.168.1.13:8079/witium/addMount", gson.toJson(new GatewaySNAndTypeVo(device.getSN(), device.getType())));
device.setState(1);
} else if (device.getState() == 1) {
//卸载
String sr = HttpRequester.sendPost("http://192.168.1.171:8079/witium/delMount", gson.toJson(new GatewaySNAndTypeVo(device.getSN(), device.getType())));
String sr = HttpRequester.sendPost("http://192.168.1.13:8079/witium/delMount", gson.toJson(new GatewaySNAndTypeVo(device.getSN(), device.getType())));
device.setState(0);
infoRedisService.delHashKey("DeviceConfig", device.getType() + "_" + device.getSN());
infoRedisService.delHashKey("SubTopic", device.getType() + "_" + device.getSN());
......
......@@ -46,7 +46,6 @@
#{gSN,mode=IN,jdbcType=VARCHAR},
#{gType,mode=IN,jdbcType=VARCHAR},
#{message,mode=IN,jdbcType=VARCHAR},
#{untie,mode=IN,jdbcType=INTEGER},
#{TDLSN,mode=IN,jdbcType=VARCHAR},
#{endTime,mode=IN,jdbcType=BIGINT},
#{msg,mode=OUT,jdbcType=VARCHAR}
......
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