提交 9ec007c0 authored 作者: wangqiang's avatar wangqiang

问题修改

上级 d31675c6
......@@ -4,11 +4,12 @@ import com.priusis.client.data.kv.KvEntry;
import com.priusis.client.extensions.ExtensionUpdate;
import com.priusis.client.extensions.http.conf.HttpConfiguration;
import com.priusis.client.service.MqttDeliveryFuture;
import com.priusis.client.service.MqttRpcDataMessage;
import com.priusis.client.service.conf.PcExtensionConfiguration;
import com.priusis.client.service.core.MqttService;
import com.priusis.client.service.data.DeviceData;
import com.priusis.client.service.data.RpcCommandResponse;
import com.priusis.client.util.ConfigurationTools;
import com.priusis.client.service.MqttRpcDataMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
......@@ -87,6 +88,16 @@ public class DefaultHttpService extends ExtensionUpdate implements HttpService {
return mqttService.flushRpcDataToFile(mqttRpcDataMessage);
}
@Override
public void processRpcRes(String token, MqttRpcDataMessage mqttRpcDataMessage) throws Exception {
RpcCommandResponse rpcCommandResponse = new RpcCommandResponse();
rpcCommandResponse.setRequestId(mqttRpcDataMessage.getRequestId());
rpcCommandResponse.setBizRequestId(mqttRpcDataMessage.getBizRequestId());
rpcCommandResponse.setMethod(mqttRpcDataMessage.getMethod());
rpcCommandResponse.setData(mqttRpcDataMessage.getParams());
mqttService.onDeviceRpcResponse(rpcCommandResponse);
}
@Override
public MqttRpcDataMessage readFromFile(String method) throws IOException {
return mqttService.readFromFile(method);
......
......@@ -3,8 +3,8 @@ package com.priusis.client.extensions.http;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.priusis.client.extensions.http.conf.HttpRequestProcessingError;
import com.priusis.client.service.TenantManagerService;
import com.priusis.client.service.MqttRpcDataMessage;
import com.priusis.client.service.TenantManagerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
......@@ -14,8 +14,6 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import static com.priusis.client.util.JsonTools.fromString;
@RestController
@Slf4j
public class HttpController {
......@@ -53,6 +51,16 @@ public class HttpController {
}
}
@RequestMapping(value = "/rpc_res/{token}", method = RequestMethod.POST)
public void handleRpcResDataRequest(@PathVariable String token, @RequestBody String body) {
MqttRpcDataMessage mqttRpcDataMessage = JSONUtil.toBean(body, MqttRpcDataMessage.class);
try {
service.processRpcRes(token, mqttRpcDataMessage);
} catch (Exception e) {
log.error("Failed to process rpc res persistent : {}", body);
}
}
@ExceptionHandler(Exception.class)
public void handlePriusisiotException(Exception exception, HttpServletResponse response) {
log.debug("Processing exception {}", exception.getMessage(), exception);
......
......@@ -14,5 +14,7 @@ public interface HttpService extends ExtensionService {
File flushRpcDataToFile(MqttRpcDataMessage mqttRpcDataMessage) throws IOException;
void processRpcRes(String token, MqttRpcDataMessage mqttRpcDataMessage) throws Exception;
MqttRpcDataMessage readFromFile(String method) throws IOException;
}
......@@ -72,6 +72,11 @@ public abstract class DefaultTenantManagerService implements TenantManagerServic
httpService.processEventRequest(token, body);
}
@Override
public void processRpcRes(String token, MqttRpcDataMessage mqttRpcDataMessage) throws Exception {
httpService.processRpcRes(token, mqttRpcDataMessage);
}
@Override
public File flushRpcDataToFile(MqttRpcDataMessage mqttRpcDataMessage) throws IOException {
return httpService.flushRpcDataToFile(mqttRpcDataMessage);
......
......@@ -12,6 +12,8 @@ public interface TenantManagerService {
void processEventRequest(String token, String body) throws Exception;
void processRpcRes(String token, MqttRpcDataMessage mqttRpcDataMessage) throws Exception;
File flushRpcDataToFile(MqttRpcDataMessage mqttRpcDataMessage) throws IOException;
MqttRpcDataMessage readFromFile(String method) throws IOException;
......
......@@ -9,7 +9,9 @@ import lombok.Data;
public class RpcCommandResponse {
private int requestId;
private String bizRequestId;
private String deviceName;
private String method;
private String data;
}
apq:
iot-gateway: 192.168.124.19:7002
webrtc_path: https://ceshi.priusis.com:8443
client:
productId: 210
tenantId: 156
......
......@@ -16,6 +16,7 @@ public class MqttRpcDataMessage implements Serializable {
private static final long serialVersionUID = -3133461476074777891L;
private int requestId;
private String bizRequestId;
private String method;
private Long sendTime;
private String params;
......
......@@ -44,33 +44,48 @@ public class DeviceChangeCallbackImpl implements IDeviceChangeCallback {
if (changeDataSplits.length >= 5) {
String classData = changeDataSplits[4];
String changeDataDesc = changeDataSplits[0];
boolean needPush = true;
String deviceClass = classData.split("=")[1].toUpperCase();
if (StrUtil.equalsIgnoreCase("class=Keyboard", classData)) {
changeDataDesc = "键盘";
} else if (StrUtil.equalsIgnoreCase("class=Mouse", classData)) {
changeDataDesc = "鼠标";
} else if (StrUtil.equalsIgnoreCase("class=DiskDrive", classData)) {
changeDataDesc = "USB";
} else if (StrUtil.equalsIgnoreCase("class=Bluetooth", classData)) {
changeDataDesc = "无线蓝牙";
} else if (StrUtil.equalsIgnoreCase("class=CDROM", classData)) {
changeDataDesc = "光驱";
deviceClass = "CD_DRIVE";
} else if (StrUtil.equalsIgnoreCase("class=Ports", classData)) {
changeDataDesc = "串口";
deviceClass = "SERIAL_PORT";
} else if (StrUtil.equalsIgnoreCase("class=USB", classData)) {
changeDataDesc = "U盘/移动硬盘";
deviceClass = "USB_DRIVE";
List<String> addUSBs = USBCheck.getAddUSB();
if (null != addUSBs) {
for (String addUSB : addUSBs) {
antivirusDoService.doAntivirus(addUSB + ":");
}
}
} else {
needPush = false;
}
String changeContent = String.format("%s%s", changeType == 1 ? "插入" : "拔出", changeDataDesc);
mapRequest.put("deviceClass", classData.split("=")[1]);
mapRequest.put("deviceClass", deviceClass);
mapRequest.put("changeContent", changeContent);
mapRequest.put("changeRemark", changeData);
log.info("存在硬件接口扫描告警,上报告警事件!changeContent: {}, changeRemark: {}", changeContent, changeData);
Map eventMapRequest = new HashMap();
eventMapRequest.put("requestId", 4);
eventMapRequest.put("methodName", "control_dev_warning");
eventMapRequest.put("params", mapRequest);
Map map = restTemplate.postForObject("http://localhost:8765/uplink_event/oc-client", eventMapRequest, Map.class);
log.info("存在硬件接口扫描告警,上报告警事件: mapData:{}, ret:{}", mapRequest, map);
if (needPush) {
Map eventMapRequest = new HashMap();
eventMapRequest.put("requestId", 4);
eventMapRequest.put("methodName", "control_dev_warning");
eventMapRequest.put("params", mapRequest);
Map map = restTemplate.postForObject("http://localhost:8765/uplink_event/oc-client", eventMapRequest, Map.class);
log.info("存在硬件接口扫描告警,上报告警事件: mapData:{}, ret:{}", mapRequest, map);
}
}
}
}
......@@ -5,7 +5,7 @@
#define MyAppVersion "V1.3.36"
#define MyAppPublisher "阿普奇"
#define MyAppURL "https://www.apq.com/"
#define MyAppDirName "apq-client"
#define MyAppDirName "apq-client"
#define MyAppEnName "apq-client"
#define MyAppExeName "apq-client.exe"
; apq-iot-client
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论