From 0e38ea9e1304e1d320498447d964ca6d7958d0c5 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 30 Aug 2024 17:23:04 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=94=B5=E5=8D=95=E8=BD=A6=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsowell/service/PileService.java | 27 ++++++++++++++----- .../yunkuaichong/AbstractYkcHandler.java | 2 +- .../impl/PileConnectorInfoServiceImpl.java | 15 +++++++++-- .../jsowell/pile/vo/base/ConnectorInfoVO.java | 5 ++++ .../com/jsowell/pile/vo/base/PileInfoVO.java | 5 ++++ .../customer/PileConnectorDetailVO.java | 5 +++- .../com/jsowell/pile/vo/web/PileDetailVO.java | 5 ++++ .../jsowell/pile/vo/web/PileModelInfoVO.java | 2 +- .../mapper/pile/PileBasicInfoMapper.xml | 4 ++- 9 files changed, 58 insertions(+), 12 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java index ae1601239..62200a433 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java @@ -164,11 +164,23 @@ public class PileService { throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); } String pileSn; - if (param.length() == 16) { - pileSn = StringUtils.substring(param, 0, param.length() - 2); + // param长度大于10是汽车桩, 否则是电单车桩 + if (param.length() > 10) { + // 汽车桩, 桩编号14位, 枪口号2位 + if (param.length() == 16) { + pileSn = StringUtils.substring(param, 0, param.length() - 2); + } else { + pileSn = param; + } } else { - pileSn = param; + // 电单车桩, 桩编号8位, 枪口号2位 + if (param.length() == 10) { + pileSn = StringUtils.substring(param, 0, param.length() - 2); + } else { + pileSn = param; + } } + // 查询充电桩信息 PileInfoVO pileInfoVO = pileBasicInfoService.selectPileInfoBySn(pileSn); if (pileInfoVO == null) { @@ -230,9 +242,12 @@ public class PileService { if (pileConnectorDetailVO == null) { return null; } - // 枪口状态不为2:占用(未充电) - if (!StringUtils.equals(PileConnectorDataBaseStatusEnum.OCCUPIED_NOT_CHARGED.getValue(), pileConnectorDetailVO.getConnectorStatus())) { - throw new BusinessException(ReturnCodeEnum.CODE_PILE_CONNECTOR_STATUS_ERROR); + // 不是电单车的桩, 需要判断插枪状态 + if (!StringUtils.equals(Constants.THREE, pileConnectorDetailVO.getChargePortType())) { + // 枪口状态不为2:占用(未充电) + if (!StringUtils.equals(PileConnectorDataBaseStatusEnum.OCCUPIED_NOT_CHARGED.getValue(), pileConnectorDetailVO.getConnectorStatus())) { + throw new BusinessException(ReturnCodeEnum.CODE_PILE_CONNECTOR_STATUS_ERROR); + } } String pileSn = pileConnectorDetailVO.getPileSn(); AppletPileDetailVO resultVO = getPileDetailByPileSn(pileSn); diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/AbstractYkcHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/AbstractYkcHandler.java index 0e09df344..ff2ce1d79 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/AbstractYkcHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/AbstractYkcHandler.java @@ -78,7 +78,7 @@ public abstract class AbstractYkcHandler implements InitializingBean { */ protected void saveLastTimeAndCheckChannel(String pileSn, ChannelHandlerContext ctx) { String redisKey = CacheConstants.PILE_LAST_CONNECTION + pileSn; - redisCache.setCacheObject(redisKey, DateUtils.getDateTime(), CacheConstants.cache_expire_time_1d); + redisCache.setCacheObject(redisKey, DateUtils.getDateTime(), CacheConstants.cache_expire_time_30d); // 保存桩号和channel的关系 PileChannelEntity.checkChannel(pileSn, ctx); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index 998cc70de..fd738df29 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -455,6 +455,17 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService { infoVO.setRatedPower(pileModelInfoVO.getRatedPower()); infoVO.setRatedCurrent(pileModelInfoVO.getRatedCurrent()); infoVO.setRatedVoltage(pileModelInfoVO.getRatedVoltage()); + String chargePortType; + if (StringUtils.equals(Constants.TWO, pileModelInfoVO.getChargerPileType())) { + chargePortType = Constants.THREE; + } else { + if (StringUtils.equals(Constants.ONE, pileModelInfoVO.getSpeedType())) { + chargePortType = Constants.ONE; + } else { + chargePortType = Constants.TWO; + } + } + infoVO.setChargePortType(chargePortType); } connectorInfoList.add(infoVO); } @@ -682,14 +693,14 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService { * @return true离线 */ public boolean checkPileOffLine(String pileSn) { - // 获取桩最后连接时间,最后连接到平台的时间在1分钟之前,判定为离线 + // 获取桩最后连接时间,最后连接到平台的时间在3分钟之前,判定为离线 String lastConnectionTime = redisCache.getCacheObject(CacheConstants.PILE_LAST_CONNECTION + pileSn); if (StringUtils.isBlank(lastConnectionTime)) { // 没有最后连接时间,返回离线 return true; } long l = DateUtils.intervalTime(lastConnectionTime, DateUtils.getDateTime()); - return l >= 1L; + return l > 3L; } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/ConnectorInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/ConnectorInfoVO.java index f381425d9..5e4fa27ef 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/ConnectorInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/ConnectorInfoVO.java @@ -46,6 +46,11 @@ public class ConnectorInfoVO { */ private String chargingType; + /** + * 充电接口类型 1-快充,2-慢充,3-电单车 + */ + private String chargePortType; + /** * 额定功率 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java index 39432b58e..0402a818a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java @@ -60,6 +60,11 @@ public class PileInfoVO { */ private String speedType; + /** + * 充电接口类型 1-快充,2-慢充,3-电单车 + */ + private String chargePortType; + /** * 枪口编号 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/PileConnectorDetailVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/PileConnectorDetailVO.java index 1948e31f5..074a1bc2e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/PileConnectorDetailVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/PileConnectorDetailVO.java @@ -55,5 +55,8 @@ public class PileConnectorDetailVO { */ private String softwareProtocol; - + /** + * 充电接口类型 1-快充,2-慢充,3-电单车 + */ + private String chargePortType; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileDetailVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileDetailVO.java index 02eed999f..274b2348e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileDetailVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileDetailVO.java @@ -132,4 +132,9 @@ public class PileDetailVO { * 型号名称 */ private String modelName; + + /** + * 充电接口类型 1-快充,2-慢充,3-电单车 + */ + private String chargePortType; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileModelInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileModelInfoVO.java index d2664d4ef..b80463e58 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileModelInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileModelInfoVO.java @@ -47,7 +47,7 @@ public class PileModelInfoVO { private String ratedVoltage; /** - * 充电类型 + * 充电类型 (1-快充;2-慢充) */ private String speedType; diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml index 92598ee24..6c5e24dba 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml @@ -308,10 +308,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" t2.pile_connector_code AS pileConnectorCode, t2.status AS connectorStatus, t1.business_type AS businessType, - t1.software_protocol AS softwareProtocol + t1.software_protocol AS softwareProtocol, + IF(t3.charger_pile_type = '2','3',(IF(t3.speed_type = '1','1','2'))) AS chargePortType FROM pile_basic_info t1 JOIN pile_connector_info t2 ON t1.sn = t2.pile_sn + join pile_model_info t3 on t3.id = t1.model_id WHERE t2.pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR}