临时接口, 关闭未支付订单

This commit is contained in:
Guoqs
2024-12-31 09:47:45 +08:00
parent a9cea45710
commit ba6a82fd2a
4 changed files with 63 additions and 18 deletions

View File

@@ -637,4 +637,21 @@ public class TempController extends BaseController {
} }
return response; return response;
} }
/**
* 临时接口, 关闭未支付订单
* https://localhost:8080/temp/closeUnpaidOrder
*/
@PostMapping("/closeUnpaidOrder")
public RestApiResponse<?> closeUnpaidOrder(@RequestBody QueryOrderDTO dto) {
RestApiResponse<?> response;
try {
tempService.closeUnpaidOrder(dto);
response = new RestApiResponse<>();
} catch (Exception e) {
logger.error("临时接口, 关闭未支付订单error", e);
response = new RestApiResponse<>();
}
return response;
}
} }

View File

@@ -713,5 +713,16 @@ public class TempService {
return orderCodeList; return orderCodeList;
} }
/**
* 关闭未支付订单
*/
public void closeUnpaidOrder(QueryOrderDTO dto) {
// 查询未支付订单
List<OrderBasicInfo> unpaidOrderList = orderBasicInfoService.getUnpaidOrderList(dto.getStartTime(), dto.getEndTime());
logger.info("closeUnpaidOrders, startTime:{}, endTime:{}, 未支付订单:{}", dto.getStartTime(), dto.getEndTime(), JSON.toJSONString(unpaidOrderList));
// 关闭未支付订单
orderBasicInfoService.closeUnpaidOrders(unpaidOrderList);
}
} }

View File

@@ -1,6 +1,5 @@
package com.jsowell.pile.service; package com.jsowell.pile.service;
import com.alipay.api.domain.ChargeOrderInfo;
import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.jsowell.adapay.response.PaymentReverseResponse; import com.jsowell.adapay.response.PaymentReverseResponse;
import com.jsowell.adapay.vo.OrderSplitResult; import com.jsowell.adapay.vo.OrderSplitResult;
@@ -13,14 +12,14 @@ import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.*; import com.jsowell.pile.dto.*;
import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO; import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO; import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderBillingInfoVO;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
import com.jsowell.pile.vo.SupStationStatsVO; import com.jsowell.pile.vo.SupStationStatsVO;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO; import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO; import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
import com.jsowell.pile.vo.nanrui.JiangSuOrderInfoVO; import com.jsowell.pile.vo.nanrui.JiangSuOrderInfoVO;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderBillingInfoVO;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
import com.jsowell.pile.vo.uniapp.customer.OrderVO; import com.jsowell.pile.vo.uniapp.customer.OrderVO;
import com.jsowell.pile.vo.uniapp.customer.PersonPileConnectorSumInfoVO; import com.jsowell.pile.vo.uniapp.customer.PersonPileConnectorSumInfoVO;
import com.jsowell.pile.vo.uniapp.customer.SendMessageVO; import com.jsowell.pile.vo.uniapp.customer.SendMessageVO;
@@ -160,6 +159,8 @@ public interface OrderBasicInfoService{
*/ */
int close15MinutesOfUnpaidOrders(); int close15MinutesOfUnpaidOrders();
int closeUnpaidOrders(List<OrderBasicInfo> orderList);
WechatPayRefundResponse refundOrderWithWechatPay(ApplyRefundDTO dto); WechatPayRefundResponse refundOrderWithWechatPay(ApplyRefundDTO dto);
WechatPayRefundResponse refundBalanceWithWechatPay(ApplyRefundDTO dto); WechatPayRefundResponse refundBalanceWithWechatPay(ApplyRefundDTO dto);

View File

@@ -2149,22 +2149,38 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
@Override @Override
public int close15MinutesOfUnpaidOrders() { public int close15MinutesOfUnpaidOrders() {
List<OrderBasicInfo> orderList = getUnpaidOrderListOver15Min(); // 查询超过十五分钟未支付的订单
if (CollectionUtils.isNotEmpty(orderList)) { String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -30));
for (OrderBasicInfo orderBasicInfo : orderList) { String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -15));
this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode()); List<OrderBasicInfo> orderList = getUnpaidOrderList(startTime, endTime);
int i = closeUnpaidOrders(orderList);
return i;
}
// 通过订单号查询汇付有没有支付单 /**
checkUnpaidOrder(orderBasicInfo); * 关闭未支付的订单
} * @param orderList
* @return
// 订单id集合 */
List<String> orderIdList = orderList.stream() @Override
.map(x -> String.valueOf(x.getId())) public int closeUnpaidOrders(List<OrderBasicInfo> orderList) {
.collect(Collectors.toList()); if (CollectionUtils.isEmpty(orderList)) {
// 根据orderIdList修改订单状态 return 0;
updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue());
} }
for (OrderBasicInfo orderBasicInfo : orderList) {
this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode());
// 通过订单号查询汇付有没有支付单
checkUnpaidOrder(orderBasicInfo);
}
// 订单id集合
List<String> orderIdList = orderList.stream()
.map(x -> String.valueOf(x.getId()))
.collect(Collectors.toList());
// 根据orderIdList修改订单状态
updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue());
logger.info("closeUnpaidOrders, orderIdList:{}", orderIdList);
return orderList.size(); return orderList.size();
} }
@@ -2202,7 +2218,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
} catch (BaseAdaPayException e) { } catch (BaseAdaPayException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
logger.info("根据订单号:{}, 查询到支付信息:{}, ", orderCode, JSON.toJSONString(paymentInfoSet)); logger.info("checkUnpaidOrder根据订单号:{}, 查询到支付信息:{}, ", orderCode, JSON.toJSONString(paymentInfoSet));
if (CollectionUtils.isNotEmpty(paymentInfoSet)) { if (CollectionUtils.isNotEmpty(paymentInfoSet)) {
for (PaymentInfo paymentInfo : paymentInfoSet) { for (PaymentInfo paymentInfo : paymentInfoSet) {
String paymentId = paymentInfo.getPaymentId(); String paymentId = paymentInfo.getPaymentId();