|
@@ -0,0 +1,52 @@
|
|
|
+package com.szwl.handle.response;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.qiniu.util.Auth;
|
|
|
+import com.szwl.constant.ConfigConsts;
|
|
|
+import com.szwl.constant.OperationType;
|
|
|
+import com.szwl.model.entity.MessageLog;
|
|
|
+import com.szwl.model.entity.TEquipment;
|
|
|
+import com.szwl.model.utils.PushUtils;
|
|
|
+import com.szwl.service.TEquipmentDescService;
|
|
|
+import com.szwl.service.TEquipmentService;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+@Component
|
|
|
+public class LogMessageProcessor implements ResponseProcessor {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TEquipmentService equipmentService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void process(MessageLog messageLog) {
|
|
|
+ Integer statusCode = messageLog.getStatusCode();
|
|
|
+ if (statusCode == 200) {
|
|
|
+ Integer direction = messageLog.getDirection();
|
|
|
+ String clientId = messageLog.getClientId();
|
|
|
+ String day = messageLog.getResponseContent();
|
|
|
+
|
|
|
+ // 查询设备
|
|
|
+ LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TEquipment::getClientId, clientId);
|
|
|
+ TEquipment equipment = equipmentService.getOne(query);
|
|
|
+ if (equipment != null) {
|
|
|
+ String kind = day + "-" + clientId;
|
|
|
+ String key = "log/" + kind + ".txt";
|
|
|
+ // 生成Token
|
|
|
+ Auth auth = Auth.create(ConfigConsts.QINIU_CLOUD_ACCESS_KEY, ConfigConsts.QINIU_CLOUD_SECRET_KEY);
|
|
|
+ String upToken = auth.uploadToken(ConfigConsts.QINIU_CLOUD_BUCKET, key);
|
|
|
+ // 生成发送消息
|
|
|
+ String message = PushUtils.buildJsonLog(OperationType.LOG.getCode(), kind, upToken, key).toString();
|
|
|
+ equipmentService.sendRemoteMessage(clientId, OperationType.LOG, message, equipment.getAdminId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getSupportedOperationType() {
|
|
|
+ return OperationType.LOG.getCode();
|
|
|
+ }
|
|
|
+}
|