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

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;
}
/**
* 临时接口, 关闭未支付订单
* 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;
}
/**
* 关闭未支付订单
*/
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;
import com.alipay.api.domain.ChargeOrderInfo;
import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.jsowell.adapay.response.PaymentReverseResponse;
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.nanrui.NRQueryOrderDTO;
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.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
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.PersonPileConnectorSumInfoVO;
import com.jsowell.pile.vo.uniapp.customer.SendMessageVO;
@@ -160,6 +159,8 @@ public interface OrderBasicInfoService{
*/
int close15MinutesOfUnpaidOrders();
int closeUnpaidOrders(List<OrderBasicInfo> orderList);
WechatPayRefundResponse refundOrderWithWechatPay(ApplyRefundDTO dto);
WechatPayRefundResponse refundBalanceWithWechatPay(ApplyRefundDTO dto);

View File

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