提交 206e0c22 authored 作者: yangli's avatar yangli

.

上级 6641cda0
package com.priusis.client.service.core;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
......@@ -11,6 +12,7 @@ import com.priusis.client.service.*;
import com.priusis.client.service.conf.*;
import com.priusis.client.service.data.*;
import com.priusis.client.util.JsonTools;
import com.priusis.controller.RemoteControlController;
import com.priusis.monitor.mqtt.*;
import com.priusis.util.SysConfigUtil;
import io.netty.buffer.ByteBuf;
......@@ -26,6 +28,7 @@ import org.springframework.beans.factory.annotation.Value;
import oshi.hardware.NetworkIF;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.TrustManagerFactory;
import java.io.*;
......@@ -348,6 +351,10 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
}
}
@Resource
private RemoteControlController remoteControlController;
private void onRpcCommand(String message) {
JsonNode payload = fromString(message);
MqttRpcDataMessage mqttRpcDataMessage = MqttRpcDataMessage.builder().requestId(payload.get("id").asInt())
......@@ -361,9 +368,13 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
SysConfigUtil.saveProperty("control.request", "1");
return;
}
if ("remote_control_accept".equals(mqttRpcDataMessage.getMethod())) {
Long minutes = Convert.toLong(mqttRpcDataMessage.getParams());
remoteControlController.startVncServer(minutes);
}
persistentFileService.flushRpcDataToFile(mqttRpcDataMessage);
} catch (IOException e) {
} catch (Exception e) {
log.error("Failed to process rpc command persistent : {}", message);
}
}
......@@ -680,7 +691,7 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
//MqttClientSecurityConfiguration mqttClientSecurityConfiguration = new MqttClientSecurityConfiguration();
//mqttClientSecurityConfiguration.setAccessToken("D6qjl0xNnDMtgSPMczGt");
//return mqttClientSecurityConfiguration;
//return null;
return null;
}
public static void main(String[] args) throws Exception {
......
......@@ -78,7 +78,7 @@ public class RemoteControlController {
private Timer timer = new Timer();
private synchronized R<Void> startVncServer(long minutes)
public synchronized R<Void> startVncServer(long minutes)
throws IOException, ConfigParser.DuplicateSectionException, ConfigParser.NoSectionException, InterruptedException {
// 查询设备的远程ID
String remoteId = getRemoteId();
......@@ -129,11 +129,10 @@ public class RemoteControlController {
@GetMapping(value = "send_request")
public R<Void> sendRequest(@RequestParam @NotNull Long minutes)
throws IOException, ConfigParser.DuplicateSectionException, ConfigParser.NoSectionException, InterruptedException {
throws IOException {
JSONObject rsp = JSONUtil.parseObj(HttpUtil.post(gateway + sendControlReqUrl,
JSONUtil.createObj().set("minutes", minutes).set("macAddress", getMacAddress()).toString()));
if (ObjectUtil.notEqual(rsp.getInt("code"), 0)) return R.error(rsp.getStr("msg"));
startVncServer(minutes);
return R.success();
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论