|
|
@@ -28,93 +28,111 @@ public class InstructionIssuanceServerImpl implements InstructionIssuanceServer
|
|
|
|
|
|
@Override
|
|
|
public String instructionIssuance(ReportEnvironmentalDataDto dto) {
|
|
|
- MqttQoS qos = MqttQoS.AT_MOST_ONCE;;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- jsonObject.put("light_nums",dto.getLightNums());
|
|
|
- jsonObject.put("brightness",dto.getBrightness());
|
|
|
- jsonObject.put("package_id","1050");
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("brightness",dto.getBrightness());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String equipmentStatus(EquipmentStatusDto dto) {
|
|
|
- MqttQoS qos = MqttQoS.AT_MOST_ONCE;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- jsonObject.put("package_id","1050");
|
|
|
- jsonObject.put("light_nums",dto.getLightNums());
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
+ public String equipmentStatus(BaseDto dto) {
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String scenarioStrategy(ScenarioStrategyDto dto) {
|
|
|
- MqttQoS qos = MqttQoS.AT_MOST_ONCE;;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- jsonObject.put("package_id","1050");
|
|
|
- jsonObject.put("light_nums",dto.getLightNums());
|
|
|
- jsonObject.put("id",15);
|
|
|
- jsonObject.put("type",dto.getType());
|
|
|
- jsonObject.put("status",dto.getStatus());
|
|
|
- jsonObject.put("start_time",dto.getStart_time());
|
|
|
- jsonObject.put("end_time",dto.getEnd_time());
|
|
|
- jsonObject.put("params",dto.getParams());
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("id",dto.getId());
|
|
|
+ fields.put("type",dto.getType());
|
|
|
+ fields.put("status",dto.getStatus());
|
|
|
+ fields.put("start_time",dto.getStart_time());
|
|
|
+ fields.put("end_time",dto.getEnd_time());
|
|
|
+ fields.put("params",dto.getParams());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String delScenarioStrategy(DelScenarioStrategyDto dto) {
|
|
|
- MqttQoS qos = MqttQoS.AT_MOST_ONCE;;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- jsonObject.put("package_id","1050");
|
|
|
- jsonObject.put("light_nums",dto.getLightNums());
|
|
|
- jsonObject.put("id",15);
|
|
|
- jsonObject.put("tag",dto.getTag());
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("id",dto.getId());
|
|
|
+ fields.put("tag",dto.getTag());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String setGatewayTime(SetGatewayTimeDto dto) {
|
|
|
- MqttQoS qos = MqttQoS.AT_MOST_ONCE;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- jsonObject.put("package_id","1050");
|
|
|
- jsonObject.put("timestamp",dto.getTimestamp());
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("timestamp",dto.getTimestamp());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String reRegistered(EquipmentStatusDto dto) {
|
|
|
- MqttQoS qos = MqttQoS.AT_MOST_ONCE;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
+ public String reRegistered(BaseDto dto) {
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("package_id",null);
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String relayControl(RelayControlDto dto) {
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("params",dto.getParams());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String relayTiming(RelayTimingDto dto) {
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("index",dto.getIndex());
|
|
|
+ fields.put("id",dto.getId());
|
|
|
+ fields.put("type",dto.getType());
|
|
|
+ fields.put("status",dto.getStatus());
|
|
|
+ fields.put("start_time",dto.getStatus());
|
|
|
+ fields.put("end_time",dto.getStartTime());
|
|
|
+ fields.put("params",dto.getEndTime());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String delRelayTiming(DelRelayTimingDto dto) {
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("index",dto.getIndex());
|
|
|
+ fields.put("id",dto.getId());
|
|
|
+ fields.put("tag",dto.getTag());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String queryRelayTiming(QueryRelayTimingDto dto) {
|
|
|
+ Map<String, Object> fields = new HashMap<>();
|
|
|
+ fields.put("index",dto.getIndex());
|
|
|
+ sendMqttMessage(dto,fields);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendMqttMessage(BaseDto dto,Map<String, Object> additionalFields) {
|
|
|
MqttQoS qos = MqttQoS.AT_MOST_ONCE;
|
|
|
- String topic = "down/light/"+dto.getLightNums();
|
|
|
+ String topic = "down/light/" + dto.getLightNums();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("cmd",dto.getCmd());
|
|
|
- jsonObject.put("package_id",dto.getPackageId());
|
|
|
- jsonObject.put("params",dto.getParams());
|
|
|
- writeAndFlush(qos,topic,jsonObject);
|
|
|
- return "ok";
|
|
|
+ jsonObject.put("cmd", dto.getCmd());
|
|
|
+
|
|
|
+ if (dto.getPackageId() != null && !dto.getPackageId().isEmpty()) {
|
|
|
+ jsonObject.put("package_id", dto.getPackageId());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (additionalFields != null && !additionalFields.isEmpty()) {
|
|
|
+ additionalFields.forEach((key, value) -> jsonObject.put(key, value));
|
|
|
+ }
|
|
|
+ writeAndFlush(qos, topic, jsonObject);
|
|
|
}
|
|
|
|
|
|
public void writeAndFlush(MqttQoS qos,String topic,JSONObject jsonObject){
|