mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-14 06:50:09 +08:00
Merge branch 'dev' of http://192.168.2.2:8099/jsowell/jsowell-charger-web into dev
This commit is contained in:
@@ -21,6 +21,11 @@
|
|||||||
<artifactId>jsowell-pile</artifactId>
|
<artifactId>jsowell-pile</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>1.0.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.jsowell</groupId>
|
||||||
|
<artifactId>jsowell-thirdparty</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -9,7 +9,10 @@ import com.jsowell.common.util.StringUtils;
|
|||||||
import com.jsowell.common.util.YKCUtils;
|
import com.jsowell.common.util.YKCUtils;
|
||||||
import com.jsowell.netty.factory.YKCOperateFactory;
|
import com.jsowell.netty.factory.YKCOperateFactory;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
|
import com.jsowell.pile.domain.ThirdPartySettingInfo;
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||||
|
import com.jsowell.pile.service.IThirdPartySettingInfoService;
|
||||||
|
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -33,6 +36,12 @@ public class ChargeEndHandler extends AbstractHandler{
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IOrderBasicInfoService orderBasicInfoService;
|
private IOrderBasicInfoService orderBasicInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IThirdPartySettingInfoService thirdPartySettingInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LianLianService lianLianService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
YKCOperateFactory.register(type, this);
|
YKCOperateFactory.register(type, this);
|
||||||
@@ -115,6 +124,18 @@ public class ChargeEndHandler extends AbstractHandler{
|
|||||||
orderInfo.setChargeEndTime(new Date()); // 结束充电时间
|
orderInfo.setChargeEndTime(new Date()); // 结束充电时间
|
||||||
}
|
}
|
||||||
orderBasicInfoService.updateOrderBasicInfo(orderInfo);
|
orderBasicInfoService.updateOrderBasicInfo(orderInfo);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 查询该站点是否已对接互联互通平台,如果对接则发送充电结束
|
||||||
|
ThirdPartySettingInfo info = thirdPartySettingInfoService.getInfoByStationId(Long.parseLong(orderInfo.getStationId()));
|
||||||
|
if (Objects.nonNull(info)) {
|
||||||
|
// 推送停止充电结果
|
||||||
|
lianLianService.pushStopChargeResult(orderInfo.getOrderCode());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("联联平台推送停止充电结果异常", e);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.jsowell.pile.service.IOrderBasicInfoService;
|
|||||||
import com.jsowell.pile.service.IPileAuthCardService;
|
import com.jsowell.pile.service.IPileAuthCardService;
|
||||||
import com.jsowell.pile.service.IPileMsgRecordService;
|
import com.jsowell.pile.service.IPileMsgRecordService;
|
||||||
import com.jsowell.pile.service.IThirdPartySettingInfoService;
|
import com.jsowell.pile.service.IThirdPartySettingInfoService;
|
||||||
|
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -68,6 +69,9 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IThirdPartySettingInfoService thirdPartySettingInfoService;
|
private IThirdPartySettingInfoService thirdPartySettingInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LianLianService lianLianService;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
// 获取消息体
|
// 获取消息体
|
||||||
String msg = "000000000000000000000000000000008823000000030601a08c2e0d0404170000380d0404170000000000000000000000000000000000000000000000000000000000000000400d0300ee250000ee250000c84b000000000000000000000000000000000000e0bb040000cee1040000ee250000ee250000c84b00000000000000000000000000000000000000010000380d04041745a511101970000000";
|
String msg = "000000000000000000000000000000008823000000030601a08c2e0d0404170000380d0404170000000000000000000000000000000000000000000000000000000000000000400d0300ee250000ee250000c84b000000000000000000000000000000000000e0bb040000cee1040000ee250000ee250000c84b00000000000000000000000000000000000000010000380d04041745a511101970000000";
|
||||||
@@ -609,18 +613,24 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
|
|||||||
// 结算订单操作
|
// 结算订单操作
|
||||||
try {
|
try {
|
||||||
orderBasicInfoService.settleOrder(data, orderBasicInfo);
|
orderBasicInfoService.settleOrder(data, orderBasicInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("结算订单发生异常", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 联联平台 推送订单信息 notification_orderInfo
|
||||||
// 查询该站点是否推送联联平台
|
// 查询该站点是否推送联联平台
|
||||||
String stationId = orderBasicInfo.getStationId();
|
String stationId = orderBasicInfo.getStationId();
|
||||||
ThirdPartySettingInfo infoByStationId = thirdPartySettingInfoService.getInfoByStationId(Long.parseLong(stationId));
|
ThirdPartySettingInfo infoByStationId = thirdPartySettingInfoService.getInfoByStationId(Long.parseLong(stationId));
|
||||||
if (Objects.nonNull(infoByStationId)) {
|
if (Objects.nonNull(infoByStationId)) {
|
||||||
// TODO 推送联联平台 订单信息推送接口
|
// 推送订单信息
|
||||||
|
lianLianService.pushOrderInfo(orderBasicInfo.getOrderCode());
|
||||||
|
// 推送充电订单信息
|
||||||
|
lianLianService.pushChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||||
}
|
}
|
||||||
// 调用相关接口
|
// 调用相关接口
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("结算订单发生异常", e);
|
log.error("联联平台 推送订单信息发生异常", e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 平台没有查到订单
|
// 平台没有查到订单
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.jsowell.netty.handler;
|
package com.jsowell.netty.handler;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
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;
|
||||||
@@ -11,14 +12,20 @@ import com.jsowell.common.util.StringUtils;
|
|||||||
import com.jsowell.common.util.YKCUtils;
|
import com.jsowell.common.util.YKCUtils;
|
||||||
import com.jsowell.netty.factory.YKCOperateFactory;
|
import com.jsowell.netty.factory.YKCOperateFactory;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
|
import com.jsowell.pile.domain.PileBasicInfo;
|
||||||
|
import com.jsowell.pile.domain.ThirdPartySettingInfo;
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||||
import com.jsowell.pile.service.IPileBasicInfoService;
|
import com.jsowell.pile.service.IPileBasicInfoService;
|
||||||
|
import com.jsowell.pile.service.IPileConnectorInfoService;
|
||||||
|
import com.jsowell.pile.service.IThirdPartySettingInfoService;
|
||||||
|
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,6 +52,15 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IOrderBasicInfoService orderBasicInfoService;
|
private IOrderBasicInfoService orderBasicInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPileConnectorInfoService pileConnectorInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IThirdPartySettingInfoService thirdPartySettingInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LianLianService lianLianService;
|
||||||
|
|
||||||
@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());
|
||||||
@@ -262,6 +278,33 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 推送联联平台
|
||||||
|
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode);
|
||||||
|
Map<String, String> pileStatusMap = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileSn));
|
||||||
|
String pileStatus = pileStatusMap.get(pileSn);
|
||||||
|
if (StringUtils.equals(connectorStatus, pileStatus)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// 状态不一样,传给联联
|
||||||
|
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn);
|
||||||
|
ThirdPartySettingInfo thirdPartySettingInfo = thirdPartySettingInfoService.getInfoByStationId(pileBasicInfo.getStationId());
|
||||||
|
if (Objects.nonNull(thirdPartySettingInfo)) {
|
||||||
|
String pileConnectorCode = pileSn + connectorCode;
|
||||||
|
// 设备状态变化推送 notification_stationStatus
|
||||||
|
lianLianService.pushConnectorStatus(pileConnectorCode, connectorStatus);
|
||||||
|
if (StringUtils.equals(connectorStatus, "03")) {
|
||||||
|
// 充电中
|
||||||
|
lianLianService.pushPileChargeStatusChange(orderInfo.getOrderCode());
|
||||||
|
}
|
||||||
|
// 推送充电状态
|
||||||
|
lianLianService.pushChargeStatus(orderInfo.getOrderCode());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("推送联联平台 实时数据 异常", e);
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -776,7 +776,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
logger.error("redis中取出实时记录保存到表 发生异常", e);
|
logger.error("redis中取出实时记录保存到表 发生异常", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 推送停止充电结果 notification_stop_charge_result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ public interface LianLianService {
|
|||||||
String pushChargeStatus(String orderCode) throws UnsupportedEncodingException;
|
String pushChargeStatus(String orderCode) throws UnsupportedEncodingException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推送停止充电结果(仅在 交易记录的帧类型中调用)
|
* 推送停止充电结果(仅在 0x19的帧类型中调用)
|
||||||
* @param orderCode
|
* @param orderCode
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user