diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java index b3c31c8e4..4cd8b2b15 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java @@ -1,16 +1,18 @@ package com.jsowell.api.uniapp; import com.alibaba.fastjson2.JSONObject; -import com.google.common.collect.Lists; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.DateUtils; +import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.MemberPlateNumberRelation; +import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.dto.CarVinDTO; import com.jsowell.pile.dto.QueryOrderDTO; +import com.jsowell.pile.service.IAdapayMemberAccountService; import com.jsowell.pile.service.IMemberPlateNumberRelationService; import com.jsowell.pile.service.IOrderBasicInfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +35,9 @@ public class TempController extends BaseController { @Autowired private IMemberPlateNumberRelationService memberPlateNumberRelationService; + @Autowired + private IAdapayMemberAccountService adapayMemberAccountService; + /** * 临时刷数据接口 * http://localhost:8080/temp/tempUpdateVirtualAmount @@ -153,4 +158,26 @@ public class TempController extends BaseController { logger.info("临时接口测试vin查询方法 result:{}", response); return response; } + + /** + * 交易确认接口 + * http://localhost:8080/temp/tempPaymentConfirm + */ + @PostMapping("/tempPaymentConfirm") + public RestApiResponse tempPaymentConfirm(@RequestBody QueryOrderDTO dto) { + RestApiResponse response = null; + try { + OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId("1"); + if (orderBasicInfo == null || adapayMemberAccount == null) { + throw new BusinessException("", "查询信息为空"); + } + orderBasicInfoService.doPaymentConfirm(orderBasicInfo, adapayMemberAccount); + } catch (Exception e) { + logger.error("临时接口交易确认接口 error,", e); + response = new RestApiResponse<>(ReturnCodeEnum.CODE_WEIXIN_REFUND_ERROR); + } + logger.info("临时接口交易确认接口 result:{}", response); + return response; + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 68b0e5b03..c8b8e0a0e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -1,7 +1,9 @@ package com.jsowell.pile.service; +import com.huifu.adapay.core.exception.BaseAdaPayException; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; +import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; import com.jsowell.pile.dto.*; @@ -134,6 +136,8 @@ public interface IOrderBasicInfoService { List getListByMemberIdAndOrderStatus(String memberId, List orderStatusList, LocalDateTime dateTime, String stationId); + void doPaymentConfirm(OrderBasicInfo orderBasicInfo, AdapayMemberAccount adapayMemberAccount) throws BaseAdaPayException; + void tempOrderRefund(); void realTimeMonitorDataRedis2DB(String transactionCode, String orderCode); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 13af914e6..d3aefbbfe 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -893,13 +893,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { * @param adapayMemberAccount 结算账户 * @throws BaseAdaPayException */ - private void doPaymentConfirm(OrderBasicInfo orderBasicInfo, AdapayMemberAccount adapayMemberAccount) throws BaseAdaPayException { + @Override + public void doPaymentConfirm(OrderBasicInfo orderBasicInfo, AdapayMemberAccount adapayMemberAccount) throws BaseAdaPayException { // 查询订单的交易id AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderBasicInfo.getOrderCode()); if (adapayCallbackRecord == null) { throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CALLBACK_IS_NULL_ERROR); } - String paymentId = adapayCallbackRecord.getPaymentId(); // 金额 String settleAmount = AdapayUtil.formatAmount(orderBasicInfo.getSettleAmount()); @@ -908,7 +908,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { Map confirmParams = Maps.newHashMap(); // Adapay生成的支付对象id - confirmParams.put("payment_id", paymentId); + confirmParams.put("payment_id", adapayCallbackRecord.getPaymentId()); // 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一 confirmParams.put("order_no", "java_sdk_paymemt_confirm_" + System.currentTimeMillis());