Merge branch 'dev-new' into dev-new-rabbitmq

This commit is contained in:
Guoqs
2024-12-31 11:39:26 +08:00
6 changed files with 84 additions and 24 deletions

View File

@@ -649,4 +649,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

@@ -95,7 +95,7 @@ public class PileRemoteController extends BaseController {
if (StringUtils.isBlank(dto.getPileSn()) || StringUtils.isBlank(dto.getConnectorCode())) { if (StringUtils.isBlank(dto.getPileSn()) || StringUtils.isBlank(dto.getConnectorCode())) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
} }
pileRemoteService.remoteStopCharging(dto.getPileSn(), dto.getConnectorCode(), null); pileRemoteService.remoteStopCharging(dto.getPileSn(), dto.getConnectorCode(), dto.getTransactionCode());
ajaxResult = AjaxResult.success(); ajaxResult = AjaxResult.success();
} catch (BusinessException e) { } catch (BusinessException e) {
ajaxResult = AjaxResult.error(e.getCode(), e.getMessage()); ajaxResult = AjaxResult.error(e.getCode(), e.getMessage());

View File

@@ -25,6 +25,8 @@ public class QueryPileDTO extends BasicPileDTO{
*/ */
private String orderCode; private String orderCode;
private String transactionCode;
/** /**
* 桩编码+枪口号 * 桩编码+枪口号
*/ */

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.common.DivMember; import com.jsowell.adapay.common.DivMember;
import com.jsowell.adapay.response.PaymentReverseResponse; import com.jsowell.adapay.response.PaymentReverseResponse;
@@ -12,14 +11,14 @@ import com.jsowell.pile.domain.*;
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;
@@ -159,6 +158,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);
@@ -244,6 +245,8 @@ public interface OrderBasicInfoService{
*/ */
List<IndexOrderInfoVO> getIndexOrderInfo(IndexQueryDTO dto); List<IndexOrderInfoVO> getIndexOrderInfo(IndexQueryDTO dto);
List<OrderBasicInfo> getUnpaidOrderList(String startTime, String endTime);
/** /**
* 获取超过15分钟的待支付状态订单 * 获取超过15分钟的待支付状态订单
* @return * @return

View File

@@ -2425,6 +2425,18 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
return resultList; return resultList;
} }
/**
* 根据时间范围查询 未支付订单
* @param startTime
* @param endTime
* @return
*/
@Override
public List<OrderBasicInfo> getUnpaidOrderList(String startTime, String endTime) {
List<OrderBasicInfo> list = orderBasicInfoMapper.getUnpaidOrderList(startTime, endTime);
return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList();
}
/** /**
* 获取超过15分钟的待支付状态订单 * 获取超过15分钟的待支付状态订单
* *
@@ -2432,10 +2444,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
*/ */
@Override @Override
public List<OrderBasicInfo> getUnpaidOrderListOver15Min() { public List<OrderBasicInfo> getUnpaidOrderListOver15Min() {
String startString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date()); String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -30));
String endString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -15)); String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -15));
List<OrderBasicInfo> list = orderBasicInfoMapper.getUnpaidOrderList(startString, endString); return getUnpaidOrderList(startTime, endTime);
return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList();
} }
/** /**
@@ -2451,8 +2462,24 @@ 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));
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;
}
/**
* 关闭未支付的订单
* @param orderList
* @return
*/
@Override
public int closeUnpaidOrders(List<OrderBasicInfo> orderList) {
if (CollectionUtils.isEmpty(orderList)) {
return 0;
}
for (OrderBasicInfo orderBasicInfo : orderList) { for (OrderBasicInfo orderBasicInfo : orderList) {
this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode()); this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode());
@@ -2466,7 +2493,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.collect(Collectors.toList()); .collect(Collectors.toList());
// 根据orderIdList修改订单状态 // 根据orderIdList修改订单状态
updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue()); updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue());
} logger.info("closeUnpaidOrders, orderIdList:{}", orderIdList);
return orderList.size(); return orderList.size();
} }
@@ -2504,7 +2531,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();
@@ -3486,7 +3513,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
@Override @Override
public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) {
OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode()); OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode());
logger.info("订单:{}支付成功支付回调, OrderBasicInfo:{}", dto.getOrderCode(), JSON.toJSONString(orderInfo)); logger.info("订单:{}支付成功支付回调, param:{}, OrderBasicInfo:{}", dto.getOrderCode(), JSON.toJSONString(dto), JSON.toJSONString(orderInfo));
BigDecimal payAmount = dto.getPayAmount(); BigDecimal payAmount = dto.getPayAmount();
// 是否发送启动指令 // 是否发送启动指令