mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-17 13:49:55 +08:00
修改代码
This commit is contained in:
@@ -16,6 +16,8 @@ import com.jsowell.pile.domain.OrderBasicInfo;
|
|||||||
import com.jsowell.pile.service.PileBasicInfoService;
|
import com.jsowell.pile.service.PileBasicInfoService;
|
||||||
import com.jsowell.pile.service.OrderBasicInfoService;
|
import com.jsowell.pile.service.OrderBasicInfoService;
|
||||||
import com.jsowell.thirdparty.common.CommonService;
|
import com.jsowell.thirdparty.common.CommonService;
|
||||||
|
import com.jsowell.thirdparty.common.NotificationDTO;
|
||||||
|
import com.jsowell.thirdparty.common.NotificationService;
|
||||||
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;
|
||||||
@@ -297,13 +299,20 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 异步推送第三方平台实时数据
|
// 异步推送第三方平台实时数据
|
||||||
// pushToThirdPartyPlatforms(pileSn, connectorCode, connectorStatus, realTimeMonitorData, transactionCode);
|
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
try {
|
try {
|
||||||
commonService.pushRealTimeInfo(pileSn, connectorCode, connectorStatus, realTimeMonitorData, transactionCode);
|
commonService.pushRealTimeInfo(pileSn, connectorCode, connectorStatus, realTimeMonitorData, transactionCode);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("统一推送第三方平台实时数据 error, ", e);
|
log.error("统一推送第三方平台实时数据 error, ", e);
|
||||||
e.printStackTrace();
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 异步推送第三方平台实时数据V2
|
||||||
|
CompletableFuture.runAsync(() -> {
|
||||||
|
try {
|
||||||
|
commonService.pushRealTimeInfoV2(pileSn, connectorCode, connectorStatus, realTimeMonitorData, transactionCode);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("统一推送第三方平台实时数据V2 error, ", e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -66,5 +66,10 @@ public interface ThirdpartySecretInfoMapper {
|
|||||||
|
|
||||||
ThirdPartySecretInfoVO queryByThirdPlatformType(String thirdPlatformType);
|
ThirdPartySecretInfoVO queryByThirdPlatformType(String thirdPlatformType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据站点id查询对接的第三方平台列表
|
||||||
|
* @param stationId 站点id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
List<ThirdPartySecretInfoVO> queryStationToPlatformList(String stationId);
|
List<ThirdPartySecretInfoVO> queryStationToPlatformList(String stationId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import com.jsowell.pile.dto.ThirdPartyCommonStopChargeDTO;
|
|||||||
import com.jsowell.pile.dto.lutongyunting.BindCouponDTO;
|
import com.jsowell.pile.dto.lutongyunting.BindCouponDTO;
|
||||||
import com.jsowell.pile.dto.ruanjie.UseCouponDTO;
|
import com.jsowell.pile.dto.ruanjie.UseCouponDTO;
|
||||||
import com.jsowell.pile.service.*;
|
import com.jsowell.pile.service.*;
|
||||||
|
import com.jsowell.pile.vo.ThirdPartySecretInfoVO;
|
||||||
import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
|
import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
|
||||||
import com.jsowell.pile.vo.huawei.QueryStartChargeVO;
|
import com.jsowell.pile.vo.huawei.QueryStartChargeVO;
|
||||||
import com.jsowell.pile.vo.web.PileStationVO;
|
import com.jsowell.pile.vo.web.PileStationVO;
|
||||||
@@ -39,11 +40,13 @@ import com.jsowell.thirdparty.platform.util.HttpRequestUtil;
|
|||||||
import com.jsowell.thirdparty.lutongyunting.service.LTYTService;
|
import com.jsowell.thirdparty.lutongyunting.service.LTYTService;
|
||||||
import com.jsowell.thirdparty.nanrui.service.NRService;
|
import com.jsowell.thirdparty.nanrui.service.NRService;
|
||||||
import com.jsowell.thirdparty.ruanjie.service.RJService;
|
import com.jsowell.thirdparty.ruanjie.service.RJService;
|
||||||
|
import com.jsowell.thirdparty.service.ThirdpartySecretInfoService;
|
||||||
import com.jsowell.thirdparty.xindiantu.service.XDTService;
|
import com.jsowell.thirdparty.xindiantu.service.XDTService;
|
||||||
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
|
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
|
||||||
import com.jsowell.thirdparty.yongchengboche.service.YCBCService;
|
import com.jsowell.thirdparty.yongchengboche.service.YCBCService;
|
||||||
import com.jsowell.thirdparty.zhongdianlian.service.ZDLService;
|
import com.jsowell.thirdparty.zhongdianlian.service.ZDLService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import lombok.val;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -52,6 +55,7 @@ import java.io.UnsupportedEncodingException;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -115,6 +119,12 @@ public class CommonService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedisCache redisCache;
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ThirdpartySecretInfoService thirdpartySecretInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private NotificationService notificationService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将站点--第三方平台类型对应关系存入关系表
|
* 将站点--第三方平台类型对应关系存入关系表
|
||||||
* @param dto
|
* @param dto
|
||||||
@@ -355,6 +365,49 @@ public class CommonService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送实时数据到第三方平台
|
||||||
|
* @param pileSn
|
||||||
|
* @param connectorCode
|
||||||
|
* @param connectorStatus
|
||||||
|
* @param realTimeMonitorData
|
||||||
|
* @param transactionCode
|
||||||
|
* @throws UnsupportedEncodingException
|
||||||
|
*/
|
||||||
|
public void pushRealTimeInfoV2(String pileSn, String connectorCode, String connectorStatus,
|
||||||
|
RealTimeMonitorData realTimeMonitorData, String transactionCode) throws UnsupportedEncodingException {
|
||||||
|
// 推送第三方平台,先通过桩编号查出站点信息 pushToThirdPartyPlatforms
|
||||||
|
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn);
|
||||||
|
|
||||||
|
String pileConnectorCode = pileSn + connectorCode;
|
||||||
|
// 将枪口状态转换成对接平台的状态
|
||||||
|
String changedStatus = changeConnectorStatus(connectorStatus, realTimeMonitorData.getPutGunType());
|
||||||
|
|
||||||
|
String stationId = String.valueOf(pileBasicInfo.getStationId());
|
||||||
|
// 查询该站点是否推送第三方平台
|
||||||
|
List<ThirdPartySecretInfoVO> thirdPartySecretInfoVOS = thirdpartySecretInfoService.queryStationToPlatformList(stationId);
|
||||||
|
if (CollectionUtils.isEmpty(thirdPartySecretInfoVOS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询订单信息
|
||||||
|
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode);
|
||||||
|
|
||||||
|
// 推送
|
||||||
|
for (ThirdPartySecretInfoVO thirdPartySecretInfoVO : thirdPartySecretInfoVOS) {
|
||||||
|
NotificationDTO dto = new NotificationDTO();
|
||||||
|
dto.setStationId(stationId);
|
||||||
|
dto.setPileConnectorCode(pileConnectorCode);
|
||||||
|
dto.setStatus(changedStatus);
|
||||||
|
dto.setPlatformType(thirdPartySecretInfoVO.getPlatformType());
|
||||||
|
if (Objects.nonNull(orderInfo)) {
|
||||||
|
dto.setOrderCode(orderInfo.getOrderCode());
|
||||||
|
}
|
||||||
|
notificationService.notificationConnectorChargeStatus(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统一方法推送订单信息
|
* 统一方法推送订单信息
|
||||||
|
|||||||
Reference in New Issue
Block a user