优化结算订单逻辑

This commit is contained in:
Guoqs
2025-03-26 13:49:31 +08:00
parent 8c8cb42ba8
commit 06cac74a18
3 changed files with 48 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ import com.jsowell.adapay.service.AdapayService;
import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.core.domain.AjaxResult;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.response.RestApiResponse;
@@ -745,6 +746,34 @@ public class TempController extends BaseController {
return response;
}
/**
* 调试结算订单逻辑
*/
@PostMapping("/testSettleOrderLogic")
public RestApiResponse<?> testSettleOrderLogic(@RequestBody ApplyRefundDTO dto) {
RestApiResponse<?> response;
try {
TransactionRecordsData data = TransactionRecordsData.builder()
.transactionCode(dto.getTransactionCode())
.pileSn(dto.getPileSn())
.connectorCode(dto.getConnectorCode())
.startTime(dto.getStartTime())
.endTime(dto.getEndTime())
.sharpPrice(dto.getSharpPrice())
.sharpUsedElectricity(dto.getSharpUsedElectricity())
.sharpPlanLossElectricity()
.build();
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
// 调试结算订单逻辑
tempService.testSettleOrderLogic(data, orderBasicInfo);
response = new RestApiResponse<>();
} catch (Exception e) {
logger.error("调试结算订单逻辑error,", e);
response = new RestApiResponse<>();
}
return response;
}
/**
* 重试订单退款接口/重试退款按钮 (批量)

View File

@@ -16,6 +16,7 @@ import com.jsowell.adapay.service.AdapayService;
import com.jsowell.adapay.vo.OrderSplitResult;
import com.jsowell.adapay.vo.PaymentInfo;
import com.jsowell.common.annotation.CostTime;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.enums.ykc.*;
@@ -29,6 +30,8 @@ import com.jsowell.pile.dto.SettleOrderReportDTO;
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
import com.jsowell.pile.mapper.PileMsgRecordMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.DelayMerchantProgramLogic;
import com.jsowell.pile.vo.web.*;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
@@ -877,5 +880,18 @@ public class TempService {
logger.info("计算订单折扣, orderCode:{}, memberId:{}, 订单折扣金额:{}, 电费折扣金额:{}, 服务费折扣金额:{}, 优惠后总消费金额:{}",
orderCode, memberId, discountAmount, electricityAmountDiscount, serviceAmountDiscount, totalConsumeAmount);
}
public void testSettleOrderLogic(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
AbstractProgramLogic programLogic = new DelayMerchantProgramLogic();
// 获取更新数据后的orderBasicInfo对象
programLogic.returnUpdateOrderBasicInfo(orderBasicInfo, data);
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
OrderDetail orderDetail = programLogic.returnUpdateOrderDetail(orderBasicInfo, data);
// 计算订单折扣
programLogic.calculateOrderDiscountsV2(orderBasicInfo, orderDetail);
}
}