mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
update
This commit is contained in:
@@ -128,12 +128,10 @@ public interface OrderBasicInfoService{
|
||||
|
||||
/**
|
||||
* 根据交易记录结算订单
|
||||
* @param data 交易记录数据
|
||||
* @param orderBasicInfo
|
||||
* @deprecated 该方法废弃 {@link AbstractProgramLogic#settleOrder(TransactionRecordsData, OrderBasicInfo)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo);
|
||||
// void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo);
|
||||
|
||||
/**
|
||||
* 关闭15分钟未支付订单
|
||||
|
||||
@@ -729,61 +729,6 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
return queryChargingByPileSnAndConnectorCode(pileSn, connectorCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 结算订单逻辑/订单结算逻辑
|
||||
*
|
||||
* @param data 交易记录数据
|
||||
* @param orderBasicInfo 订单主表信息,由调用方传过来
|
||||
*/
|
||||
@Override
|
||||
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
|
||||
logger.info("结算订单start data:{}, orderBasicInfo:{}", data.toString(), orderBasicInfo.toString());
|
||||
// 判断订单状态
|
||||
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
|
||||
logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode());
|
||||
return;
|
||||
}
|
||||
// 获取更新数据后的orderBasicInfo对象
|
||||
returnUpdateOrderBasicInfo(orderBasicInfo, data);
|
||||
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
|
||||
OrderDetail orderDetail = returnUpdateOrderDetail(orderBasicInfo, data);
|
||||
// 更新数据库
|
||||
OrderTransactionDTO dto = new OrderTransactionDTO();
|
||||
dto.setOrderBasicInfo(orderBasicInfo);
|
||||
dto.setOrderDetail(orderDetail);
|
||||
transactionService.doUpdateOrder(dto);
|
||||
|
||||
// 订单支付结算and退款, delay商户部分解冻并退款, 非delay商户全部解冻并退款
|
||||
orderPaymentSettlementAndRefund(orderBasicInfo);
|
||||
|
||||
// 将卡/vin状态解锁
|
||||
if (!StringUtils.equals("0000000000000000", data.getLogicCard())) {
|
||||
cardStatusUnlocked(orderBasicInfo.getLogicCard());
|
||||
}
|
||||
|
||||
// 如果是vin启动,将启动锁定状态改为正常
|
||||
if (StringUtils.equals(data.getTransactionIdentifier(), "05")) {
|
||||
vinStatusUnlocked(data.getVinCode());
|
||||
}
|
||||
|
||||
// 发送停止充电订阅消息
|
||||
sendMsg(orderBasicInfo);
|
||||
|
||||
// 从redis中取出实时记录保存到表中
|
||||
realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode(), orderBasicInfo.getOrderCode());
|
||||
|
||||
// TODO 如果该站点的停车场优惠券信息配置不为空,则需绑定一张优惠券
|
||||
|
||||
logger.info("结算订单end:{} OrderTransactionDTO:{}", orderBasicInfo.getOrderCode(), JSONObject.toJSONString(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 记账
|
||||
*/
|
||||
// private void doUpdateClearingBill(OrderSettleResult orderSettleResult) {
|
||||
// logger.info("orderSettleResult:{}", JSON.toJSONString(orderSettleResult));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 订单分账逻辑
|
||||
* 订单结算完成,就执行清分and退款
|
||||
@@ -3085,6 +3030,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
|
||||
/**
|
||||
* 计算启动金额
|
||||
* 2024年1月9日10点24分 下发金额不变,由结算时计算优惠金额
|
||||
*/
|
||||
private BigDecimal computeChargeAmount(String merchantId, String stationId, String memberId, BigDecimal payAmount) {
|
||||
// 默认折扣100%
|
||||
|
||||
@@ -438,7 +438,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单结算
|
||||
* 订单结算/结算订单逻辑/订单结算逻辑
|
||||
*/
|
||||
@Override
|
||||
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
|
||||
@@ -452,6 +452,8 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
returnUpdateOrderBasicInfo(orderBasicInfo, data);
|
||||
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
|
||||
OrderDetail orderDetail = returnUpdateOrderDetail(orderBasicInfo, data);
|
||||
// 计算订单折扣 calculateOrderDiscounts
|
||||
calculateOrderDiscounts(orderBasicInfo, orderDetail);
|
||||
// 更新数据库
|
||||
OrderTransactionDTO dto = new OrderTransactionDTO();
|
||||
dto.setOrderBasicInfo(orderBasicInfo);
|
||||
@@ -480,6 +482,15 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
logger.info("结算订单end:{} OrderTransactionDTO:{}", orderBasicInfo.getOrderCode(), JSONObject.toJSONString(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算订单折扣
|
||||
* @param orderBasicInfo 订单主表
|
||||
* @param orderDetail 订单详情
|
||||
*/
|
||||
private void calculateOrderDiscounts(OrderBasicInfo orderBasicInfo, OrderDetail orderDetail) {
|
||||
|
||||
}
|
||||
|
||||
// uniApp 发送停止充电订阅消息
|
||||
private void sendMsg(OrderBasicInfo orderBasicInfo) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user