交易结算,ordercode相关修改

This commit is contained in:
2023-03-13 16:20:06 +08:00
parent 6f74b99fb3
commit 65841dc476
4 changed files with 21 additions and 19 deletions

View File

@@ -606,7 +606,7 @@ public class SpringBootTestController {
orderInfo.setReason("充电异常中止,急停开入");
TransactionRecordsData data = TransactionRecordsData.builder()
.orderCode("88000000000001012212171045412218")
.transactionCode("88000000000001012212171045412218")
.consumptionAmount(String.valueOf(0.00))
.stopReasonMsg(orderInfo.getReason())
.totalElectricity("0")

View File

@@ -45,7 +45,7 @@ public class RemoteStartChargingRequestHandler extends AbstractHandler{
// 交易流水号
byte[] orderCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String orderCode = BytesUtil.bcd2Str(orderCodeByteArr);
String transactionCode = BytesUtil.bcd2Str(orderCodeByteArr);
// 桩编码
startIndex += length;
@@ -86,13 +86,13 @@ public class RemoteStartChargingRequestHandler extends AbstractHandler{
if (StringUtils.equals(startResult, Constants.DOUBLE_ZERO)) {
// 启动失败
orderBasicInfoService.chargingPileFailedToStart(orderCode, failedReasonMsg);
orderBasicInfoService.chargingPileFailedToStart(transactionCode, failedReasonMsg);
} else {
// 启动成功
orderBasicInfoService.chargingPileStartedSuccessfully(orderCode);
orderBasicInfoService.chargingPileStartedSuccessfully(transactionCode);
}
// orderBasicInfoService.updateOrderBasicInfo(orderInfo);
log.info("交易流水号:{}, 桩编码:{}, 枪号:{}, 启动结果:{}, 失败原因:{}", orderCode, pileSn, connectorCode, startResult, failedReasonMsg);
log.info("交易流水号:{}, 桩编码:{}, 枪号:{}, 启动结果:{}, 失败原因:{}", transactionCode, pileSn, connectorCode, startResult, failedReasonMsg);
return null;
}
}

View File

@@ -551,7 +551,7 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
} else {
// 平台没有查到订单
orderBasicInfoService.saveAbnormalOrder(data);
log.warn("充电桩传来的交易记录,根据订单号:{}查询不到订单,判定为非法账单", orderCode);
log.warn("充电桩传来的交易记录,根据交易流水号:{}查询不到订单,判定为可疑账单", transactionCode);
}
}
}

View File

@@ -239,12 +239,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/**
* 充电桩启动失败
*
* @param orderCode
* @param failedReasonMsg
* @param transactionCode 交易流水号
* @param failedReasonMsg 失败原因
*/
@Override
public void chargingPileFailedToStart(String orderCode, String failedReasonMsg) {
OrderBasicInfo orderInfo = getOrderInfoByOrderCode(orderCode);
public void chargingPileFailedToStart(String transactionCode, String failedReasonMsg) {
// OrderBasicInfo orderInfo = getOrderInfoByOrderCode(orderCode);
OrderBasicInfo orderInfo = getOrderInfoByTransactionCode(transactionCode);
if (orderInfo == null) {
return;
}
@@ -252,7 +253,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
orderInfo.setReason(failedReasonMsg);
// 订单退款(结算订单)
TransactionRecordsData data = TransactionRecordsData.builder()
.orderCode(orderInfo.getOrderCode())
.transactionCode(orderInfo.getTransactionCode())
.consumptionAmount(String.valueOf(orderInfo.getOrderAmount()))
.stopReasonMsg(failedReasonMsg)
.totalElectricity(Constants.ZERO)
@@ -267,11 +268,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/**
* 充电桩启动成功
*
* @param orderCode
* @param transactionCode
*/
@Override
public void chargingPileStartedSuccessfully(String orderCode) {
OrderBasicInfo orderInfo = getOrderInfoByOrderCode(orderCode);
public void chargingPileStartedSuccessfully(String transactionCode) {
// OrderBasicInfo orderInfo = getOrderInfoByOrderCode(orderCode);
OrderBasicInfo orderInfo = getOrderInfoByTransactionCode(transactionCode);
if (orderInfo == null) {
return;
}
@@ -445,7 +447,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Override
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
logger.info("结算订单start data:{}, orderBasicInfo:{}", data.toString(), orderBasicInfo.toString());
String orderCode = data.getOrderCode();
String orderCode = orderBasicInfo.getOrderCode();
// 判断订单状态
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
@@ -510,13 +512,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
.subType(MemberWalletEnum.SUBTYPE_ORDER_SETTLEMENT_REFUND.getValue()) // 订单结算退款
.updatePrincipalBalance(returnPrincipal)
.updateGiftBalance(returnGift)
.relatedOrderCode(orderCode)
.relatedOrderCode(orderBasicInfo.getOrderCode())
.build();
memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO);
} else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { // 微信支付
// 微信退款逻辑
WeChatRefundDTO weChatRefundDTO = new WeChatRefundDTO();
weChatRefundDTO.setOrderCode(orderCode);
weChatRefundDTO.setOrderCode(orderBasicInfo.getOrderCode());
weChatRefundDTO.setRefundType("1");
weChatRefundDTO.setRefundAmount(residue);
this.weChatRefund(weChatRefundDTO);
@@ -541,7 +543,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 修改订单数据
// 查询订单详情
OrderDetail orderDetail = getOrderDetailByOrderCode(orderCode);
OrderDetail orderDetail = getOrderDetailByOrderCode(orderBasicInfo.getOrderCode());
// 把交易记录中的用电量,金额等信息 更新到orderBasicInfo和orderDetail
orderBasicInfo.setOrderAmount(orderAmount); // 订单总金额
@@ -595,7 +597,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
try {
// uniApp 发送停止充电订阅消息
WechatSendMsgDTO wechatSendMsgDTO = new WechatSendMsgDTO();
wechatSendMsgDTO.setOrderCode(orderCode);
wechatSendMsgDTO.setOrderCode(orderBasicInfo.getOrderCode());
Map<String, String> resultMap = wxAppletRemoteService.stopChargingSendMsg(wechatSendMsgDTO);
logger.info("小程序发送充电停止推送消息 result:{}", JSON.toJSONString(resultMap));
} catch (Exception e) {