|
|
@@ -214,6 +214,7 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
String startChargeSeq = getTextValue(jsonNode, "StartChargeSeq");
|
|
|
String stopReason = getTextValue(jsonNode, "StopReason");
|
|
|
String endTime = getTextValue(jsonNode, "EndTime");
|
|
|
+ String startTime = getTextValue(jsonNode, "StartTime");
|
|
|
String totalPower = getTextValue(jsonNode, "TotalPower");
|
|
|
String totalElecMoney = getTextValue(jsonNode, "TotalElecMoney");
|
|
|
String totalMoney = getTextValue(jsonNode, "TotalMoney");
|
|
|
@@ -224,6 +225,7 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
.eq(ChargeOrderInfo::getStartChargeSeq, startChargeSeq).last("LIMIT 1"));
|
|
|
|
|
|
chargeOrderInfo.setStopReason(stopReason);
|
|
|
+ chargeOrderInfo.setStartTime(startTime);
|
|
|
chargeOrderInfo.setEndTime(endTime);
|
|
|
chargeOrderInfo.setTotalCharge(new BigDecimal(totalPower));
|
|
|
|
|
|
@@ -233,22 +235,34 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
|
|
|
ThirdPartyConnectorInfo thirdPartyConnectorInfo = connectorInfoMapper.selectOne(Wrappers.<ThirdPartyConnectorInfo>lambdaQuery()
|
|
|
.eq(ThirdPartyConnectorInfo::getConnectorId, connectorID).last("LIMIT 1"));
|
|
|
+ String stationId = thirdPartyConnectorInfo.getStationId();
|
|
|
+ ThirdPartyStationInfo thirdPartyStationInfo = thirdPartyStationInfoMapper.selectOne(Wrappers.<ThirdPartyStationInfo>lambdaQuery()
|
|
|
+ .eq(ThirdPartyStationInfo::getStationId, stationId).last("LIMIT 1"));
|
|
|
+ if (ObjectUtil.isEmpty(thirdPartyConnectorInfo)) {
|
|
|
+ log.error("thirdPartyConnectorInfo" +"为空===============================================");
|
|
|
+ }
|
|
|
|
|
|
//平台服务费
|
|
|
BigDecimal serviceFee = BigDecimal.ZERO;
|
|
|
JsonNode chargeDetails = jsonNode.get("ChargeDetails");
|
|
|
- for (JsonNode node : chargeDetails) {
|
|
|
- //提取字段值
|
|
|
- String itemFlag = node.get("ItemFlag").asText();
|
|
|
- double detailPower = node.get("DetailPower").asDouble();
|
|
|
- PolicyFee policyFee = policyFeeMapper.selectOne(Wrappers.<PolicyFee>lambdaQuery()
|
|
|
- .eq(PolicyFee::getStationInfoId, thirdPartyConnectorInfo.getId())
|
|
|
- .eq(PolicyFee::getPeriodFlag, Integer.parseInt(itemFlag))
|
|
|
- .last("LIMIT 1"));
|
|
|
- BigDecimal opFee = policyFee.getOpFee();
|
|
|
- serviceFee = serviceFee.add(opFee.multiply(new BigDecimal(detailPower))).setScale(2, RoundingMode.DOWN);
|
|
|
+ if (ObjectUtil.isNotEmpty(chargeDetails)) {
|
|
|
+ for (JsonNode node : chargeDetails) {
|
|
|
+ //提取字段值
|
|
|
+ String itemFlag = node.get("ItemFlag").asText();
|
|
|
+ double detailPower = node.get("DetailPower").asDouble();
|
|
|
+ PolicyFee policyFee = policyFeeMapper.selectOne(Wrappers.<PolicyFee>lambdaQuery()
|
|
|
+ .eq(PolicyFee::getStationInfoId, thirdPartyStationInfo.getId())
|
|
|
+ .eq(PolicyFee::getPeriodFlag, Integer.parseInt(itemFlag))
|
|
|
+ .last("LIMIT 1"));
|
|
|
+ if (ObjectUtil.isNotEmpty(policyFee)) {
|
|
|
+ BigDecimal opFee = policyFee.getOpFee();
|
|
|
+ log.info("策略费用:{}",opFee);
|
|
|
+ serviceFee = serviceFee.add(opFee.multiply(new BigDecimal(detailPower))).setScale(2, RoundingMode.DOWN);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ log.info("计算后的平台服务费:{}", serviceFee);
|
|
|
chargeOrderInfo.setRealServiceCost(serviceFee);
|
|
|
//订单结算:平台实际收取金额 = 互联互通金额 + 中数电动金额(平台总服务费)
|
|
|
chargeOrderInfo.setRealCost(chargeOrderInfo.getRealServiceCost().add(chargeOrderInfo.getThirdPartyTotalCost()));
|
|
|
@@ -263,6 +277,7 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
chargeOrderInfoService.updateById(chargeOrderInfo);
|
|
|
|
|
|
//账户余额扣减(积分增加)
|
|
|
+ log.info("执行账户余额扣减(积分增加)");
|
|
|
chargeOrderInfoService.orderSettlement(chargeOrderInfo.getId());
|
|
|
|
|
|
// 执行业务处理
|