From d4af121ee040126bb5b01624f4475208b1a4a55a Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 30 Dec 2024 16:48:21 +0800 Subject: [PATCH 1/6] =?UTF-8?q?update=20=E6=89=93=E5=8D=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2ea8c434e..9a2b6b808 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 @@ -3173,7 +3173,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { @Override public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { 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(); // 是否发送启动指令 From 8e58808c6861f6cd548872b910551d3624df259e Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 30 Dec 2024 17:00:59 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B9=E6=B3=95=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20=E6=9C=AA=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/service/OrderBasicInfoService.java | 2 ++ .../impl/OrderBasicInfoServiceImpl.java | 21 +++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java index 1f1a4b859..0aefbb3bd 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java @@ -239,6 +239,8 @@ public interface OrderBasicInfoService{ */ List getIndexOrderInfo(IndexQueryDTO dto); + List getUnpaidOrderList(String startTime, String endTime); + /** * 获取超过15分钟的待支付状态订单 * @return 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 9a2b6b808..dc02ad8b1 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 @@ -2112,6 +2112,18 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { return resultList; } + /** + * 根据时间范围查询 未支付订单 + * @param startTime + * @param endTime + * @return + */ + @Override + public List getUnpaidOrderList(String startTime, String endTime) { + List list = orderBasicInfoMapper.getUnpaidOrderList(startTime, endTime); + return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList(); + } + /** * 获取超过15分钟的待支付状态订单 * @@ -2119,10 +2131,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { */ @Override public List getUnpaidOrderListOver15Min() { - String startString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date()); - String endString = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinute(new Date(), -15)); - List list = orderBasicInfoMapper.getUnpaidOrderList(startString, endString); - return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList(); + String startTime = 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, new Date()); + // List list = orderBasicInfoMapper.getUnpaidOrderList(startString, endString); + // return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList(); + return getUnpaidOrderList(startTime, endTime); } /** From ee62fe754ebba80b1af455369f9de9698983ef08 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 30 Dec 2024 17:03:03 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B9=E6=B3=95=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20=E6=9C=AA=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 2 -- 1 file changed, 2 deletions(-) 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 dc02ad8b1..a90b21a0c 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 @@ -2133,8 +2133,6 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { public List getUnpaidOrderListOver15Min() { String startTime = 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, new Date()); - // List list = orderBasicInfoMapper.getUnpaidOrderList(startString, endString); - // return CollectionUtils.isNotEmpty(list) ? list : Lists.newArrayList(); return getUnpaidOrderList(startTime, endTime); } From a9cea45710e5e9ae917fdea381c446a135898aed Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 31 Dec 2024 08:59:34 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B9=E6=B3=95=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20=E6=9C=AA=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 a90b21a0c..5ea908b41 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 @@ -2131,8 +2131,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { */ @Override public List getUnpaidOrderListOver15Min() { - String startTime = 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, new Date()); + 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)); return getUnpaidOrderList(startTime, endTime); } From ba6a82fd2a8d7053d9c1cf00a9db6c922f63de25 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 31 Dec 2024 09:47:45 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8E=A5=E5=8F=A3,=20?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=9C=AA=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/uniapp/customer/TempController.java | 17 +++++++ .../java/com/jsowell/service/TempService.java | 11 +++++ .../pile/service/OrderBasicInfoService.java | 7 +-- .../impl/OrderBasicInfoServiceImpl.java | 46 +++++++++++++------ 4 files changed, 63 insertions(+), 18 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java index 741b4201c..0ed5d0540 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java @@ -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; + } } diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 9a1b4099a..459ce9651 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -713,5 +713,16 @@ public class TempService { return orderCodeList; } + + /** + * 关闭未支付订单 + */ + public void closeUnpaidOrder(QueryOrderDTO dto) { + // 查询未支付订单 + List unpaidOrderList = orderBasicInfoService.getUnpaidOrderList(dto.getStartTime(), dto.getEndTime()); + logger.info("closeUnpaidOrders, startTime:{}, endTime:{}, 未支付订单:{}", dto.getStartTime(), dto.getEndTime(), JSON.toJSONString(unpaidOrderList)); + // 关闭未支付订单 + orderBasicInfoService.closeUnpaidOrders(unpaidOrderList); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java index 0aefbb3bd..fbeebef9c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java @@ -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 orderList); + WechatPayRefundResponse refundOrderWithWechatPay(ApplyRefundDTO dto); WechatPayRefundResponse refundBalanceWithWechatPay(ApplyRefundDTO dto); 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 5ea908b41..73b0b21c4 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 @@ -2149,22 +2149,38 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { @Override public int close15MinutesOfUnpaidOrders() { - List 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 orderList = getUnpaidOrderList(startTime, endTime); + int i = closeUnpaidOrders(orderList); + return i; + } - // 通过订单号查询汇付有没有支付单 - checkUnpaidOrder(orderBasicInfo); - } - - // 订单id集合 - List 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 orderList) { + if (CollectionUtils.isEmpty(orderList)) { + return 0; } + for (OrderBasicInfo orderBasicInfo : orderList) { + this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode()); + + // 通过订单号查询汇付有没有支付单 + checkUnpaidOrder(orderBasicInfo); + } + + // 订单id集合 + List 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(); From a5a14c9e993238023d9a90c638347ff1f5bd5a21 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 31 Dec 2024 10:30:07 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E5=81=9C=E6=AD=A2?= =?UTF-8?q?=E5=85=85=E7=94=B5=20=E6=A0=A1=E9=AA=8C=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E6=B5=81=E6=B0=B4=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/web/controller/pile/PileRemoteController.java | 2 +- .../src/main/java/com/jsowell/pile/dto/QueryPileDTO.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileRemoteController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileRemoteController.java index ce69017b0..675badd59 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileRemoteController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileRemoteController.java @@ -95,7 +95,7 @@ public class PileRemoteController extends BaseController { if (StringUtils.isBlank(dto.getPileSn()) || StringUtils.isBlank(dto.getConnectorCode())) { 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(); } catch (BusinessException e) { ajaxResult = AjaxResult.error(e.getCode(), e.getMessage()); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryPileDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryPileDTO.java index 14e3b9fb7..4555228fe 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryPileDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryPileDTO.java @@ -25,6 +25,8 @@ public class QueryPileDTO extends BasicPileDTO{ */ private String orderCode; + private String transactionCode; + /** * 桩编码+枪口号 */