新增云协议相关内容

This commit is contained in:
xy
2025-09-23 16:40:40 +08:00
parent c4db053243
commit 37ffaa3ad4
6 changed files with 201 additions and 0 deletions

View File

@@ -1,9 +1,16 @@
package com.njcn.zlevent.api;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.mq.message.AppEventMessage;
import com.njcn.mq.message.CldLogMessage;
import com.njcn.zlevent.api.fallback.EventClientFallbackFactory;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -20,4 +27,7 @@ public interface EventFeignClient {
@PostMapping("/portableData")
HttpResult<String> getPortableData(@RequestBody AppEventMessage appEventMessage);
@PostMapping("/cldEventData")
HttpResult<String> getCldEventData(@RequestBody CldLogMessage cldLogMessage);
}

View File

@@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.mq.message.AppEventMessage;
import com.njcn.mq.message.CldLogMessage;
import com.njcn.zlevent.api.EventFeignClient;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
@@ -37,6 +38,12 @@ public class EventClientFallbackFactory implements FallbackFactory<EventFeignCli
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> getCldEventData(CldLogMessage cldLogMessage) {
log.error("{}异常,降级处理,异常为:{}","云前置事件处理",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -6,6 +6,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.mq.message.AppEventMessage;
import com.njcn.mq.message.CldLogMessage;
import com.njcn.web.controller.BaseController;
import com.njcn.zlevent.service.IEventService;
import io.swagger.annotations.Api;
@@ -54,4 +55,14 @@ public class EventController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/cldEventData")
@ApiOperation("云前置事件处理")
@ApiImplicitParam(name = "cldLogMessage", value = "数据实体", required = true)
public HttpResult<String> getCldEventData(@RequestBody CldLogMessage cldLogMessage){
String methodDescribe = getMethodDescribe("getCldEventData");
eventService.getCldEventData(cldLogMessage);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -1,6 +1,7 @@
package com.njcn.zlevent.service;
import com.njcn.mq.message.AppEventMessage;
import com.njcn.mq.message.CldLogMessage;
/**
* @author xy
@@ -25,4 +26,11 @@ public interface IEventService {
*/
void getPortableData(AppEventMessage appEventMessage);
/**
* 云前置设备基础数据
* 1.装置发起数据记录开始动作,库中新增数据;
* @param cldLogMessage
*/
void getCldEventData( CldLogMessage cldLogMessage);
}

View File

@@ -17,6 +17,7 @@ import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
import com.njcn.influx.utils.InfluxDbUtils;
import com.njcn.mq.message.AppEventMessage;
import com.njcn.mq.message.CldLogMessage;
import com.njcn.redis.pojo.enums.AppRedisKey;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.stat.enums.StatResponseEnum;
@@ -258,6 +259,36 @@ public class EventServiceImpl implements IEventService {
});
}
@Override
public void getCldEventData(CldLogMessage cldLogMessage) {
CsEventPO po = new CsEventPO();
po.setStartTime(LocalDateTime.parse(cldLogMessage.getTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
po.setTag(cldLogMessage.getLog());
po.setClDid(1);
po.setLevel(3);
po.setProcess(4);
po.setCode(cldLogMessage.getCode());
//前置告警
if (Objects.equals(cldLogMessage.getLevel(),"process")) {
//这边将前置服务器id当作设备id
po.setDeviceId(cldLogMessage.getNodeId());
po.setClDid(Integer.valueOf(cldLogMessage.getProcessNo()));
po.setType(4);
}
//设备和监测点告警
else {
if (Objects.equals(cldLogMessage.getLevel(),"terminal")) {
po.setDeviceId(cldLogMessage.getBusinessId());
} else {
CsLinePO line = csLineFeignClient.getById(cldLogMessage.getBusinessId()).getData();
po.setDeviceId(line.getDeviceId());
po.setLineId(cldLogMessage.getBusinessId());
}
po.setType(3);
}
csEventService.save(po);
}
/**
* 处理电压
* @param vol