mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-11 10:49:52 +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 AUTHORIZER_REFRESH_TOKEN = "authorizer_refresh_token:";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 桩硬件故障
|
||||||
|
*/
|
||||||
|
public static final String PILE_HARDWARE_FAULT = "pile_hardware_fault:";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充电桩sn生成 key
|
* 充电桩sn生成 key
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ package com.jsowell.netty.handler;
|
|||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.google.common.collect.Lists;
|
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.RealTimeMonitorData;
|
||||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
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.OrderStatusEnum;
|
||||||
import com.jsowell.common.enums.ykc.YKCPileFaultReasonEnum;
|
import com.jsowell.common.enums.ykc.YKCPileFaultReasonEnum;
|
||||||
import com.jsowell.common.util.BytesUtil;
|
import com.jsowell.common.util.BytesUtil;
|
||||||
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取桩上传的实时监测数据
|
* 获取桩上传的实时监测数据
|
||||||
@@ -59,6 +62,9 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IThirdPartyStationRelationService thirdPartyStationRelationService;
|
private IThirdPartyStationRelationService thirdPartyStationRelationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, Channel channel) {
|
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, Channel channel) {
|
||||||
log.info("[===获取桩上传的实时监测数据===] param:{}, channel:{}", JSONObject.toJSONString(ykcDataProtocol), channel.toString());
|
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);
|
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表示充电中
|
// 03表示充电中
|
||||||
if (StringUtils.equals(connectorStatus, "03")) {
|
if (StringUtils.equals(connectorStatus, "03")) {
|
||||||
// 充电时保存实时数据到redis
|
// 充电时保存实时数据到redis
|
||||||
|
|||||||
@@ -474,12 +474,16 @@ public class PileConnectorInfoServiceImpl implements IPileConnectorInfoService {
|
|||||||
BigDecimal instantPowerTemp = outputVoltage.multiply(outputCurrent);
|
BigDecimal instantPowerTemp = outputVoltage.multiply(outputCurrent);
|
||||||
BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP);
|
BigDecimal instantPower = instantPowerTemp.divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP);
|
||||||
pileConnectorInfoVO.setInstantPower(instantPower);
|
pileConnectorInfoVO.setInstantPower(instantPower);
|
||||||
// 如果故障,添加故障原因
|
|
||||||
if (!StringUtils.equals("无", realTimeMonitorData.getHardwareFault())) {
|
|
||||||
pileConnectorInfoVO.setFaultReason(realTimeMonitorData.getHardwareFault());
|
|
||||||
}
|
|
||||||
log.info("枪口实时数据:{}", JSONObject.toJSONString(pileConnectorInfoVO));
|
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())) {
|
if (checkPileOffLine(pileConnectorInfoVO.getPileSn())) {
|
||||||
// 最后收到消息的时间在1分钟前,则返回给前端枪口离线
|
// 最后收到消息的时间在1分钟前,则返回给前端枪口离线
|
||||||
|
|||||||
Reference in New Issue
Block a user