mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-13 22:40:16 +08:00
新增 桩实时数据 故障原因字段
This commit is contained in:
@@ -143,6 +143,11 @@ public class CacheConstants {
|
||||
*/
|
||||
public static final String AUTHORIZER_REFRESH_TOKEN = "authorizer_refresh_token:";
|
||||
|
||||
/**
|
||||
* 桩硬件故障
|
||||
*/
|
||||
public static final String PILE_HARDWARE_FAULT = "pile_hardware_fault:";
|
||||
|
||||
/**
|
||||
* 充电桩sn生成 key
|
||||
*/
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.jsowell.netty.handler;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.YKCPileFaultReasonEnum;
|
||||
import com.jsowell.common.util.BytesUtil;
|
||||
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Component;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 获取桩上传的实时监测数据
|
||||
@@ -59,6 +62,9 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
|
||||
@Autowired
|
||||
private IThirdPartyStationRelationService thirdPartyStationRelationService;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
@Override
|
||||
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, Channel channel) {
|
||||
log.info("[===获取桩上传的实时监测数据===] param:{}, channel:{}", JSONObject.toJSONString(ykcDataProtocol), channel.toString());
|
||||
@@ -248,6 +254,13 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
|
||||
// 公共方法修改状态
|
||||
pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, connectorCode, connectorStatus, putGunType);
|
||||
|
||||
// 01表示故障
|
||||
if (StringUtils.equals(connectorStatus, "01")) {
|
||||
// 故障原因存入缓存
|
||||
String redisKey = CacheConstants.PILE_HARDWARE_FAULT + pileSn + connectorCode;
|
||||
redisCache.setCacheObject(redisKey, faultReason, 5, TimeUnit.MINUTES);
|
||||
}
|
||||
|
||||
// 03表示充电中
|
||||
if (StringUtils.equals(connectorStatus, "03")) {
|
||||
// 充电时保存实时数据到redis
|
||||
|
||||
@@ -474,12 +474,16 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService {
|
||||
BigDecimal instantPowerTemp = outputVoltage.multiply(outputCurrent);
|
||||
BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP);
|
||||
pileConnectorInfoVO.setInstantPower(instantPower);
|
||||
// 如果故障,添加故障原因
|
||||
if (!StringUtils.equals("无", realTimeMonitorData.getHardwareFault())) {
|
||||
pileConnectorInfoVO.setFaultReason(realTimeMonitorData.getHardwareFault());
|
||||
}
|
||||
|
||||
log.info("枪口实时数据:{}", JSONObject.toJSONString(pileConnectorInfoVO));
|
||||
}
|
||||
// 查缓存是否故障
|
||||
String redisKey = CacheConstants.PILE_HARDWARE_FAULT + pileConnectorInfoVO.getPileConnectorCode();
|
||||
String faultReason = redisCache.getCacheObject(redisKey);
|
||||
// 如果不为空,set 数据
|
||||
if (StringUtils.isNotBlank(faultReason)) {
|
||||
pileConnectorInfoVO.setFaultReason(faultReason);
|
||||
}
|
||||
|
||||
if (checkPileOffLine(pileConnectorInfoVO.getPileSn())) {
|
||||
// 最后收到消息的时间在1分钟前,则返回给前端枪口离线
|
||||
|
||||
Reference in New Issue
Block a user