|
@@ -418,15 +418,18 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
if (DateUtil.minutesBetween(payingOrder.getCreateTime(), date) < 10) {
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
- updateOrderStatus(date, payingOrder,true);
|
|
|
+ try {
|
|
|
+ updateOrderStatus(date, payingOrder);
|
|
|
+ }catch (Exception e) {
|
|
|
+ logger.error("执行[订单状态查询]任务失败", e);
|
|
|
+ }
|
|
|
}
|
|
|
closeOrders(orderNoList);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public OrderCancelModel updateOrderStatus(Date date, StudentPaymentOrder payingOrder, Boolean checkTime) throws Exception {
|
|
|
+ public OrderCancelModel updateOrderStatus(Date date, StudentPaymentOrder payingOrder) throws Exception {
|
|
|
|
|
|
HfMerchantConfig hfMerchantConfig = hfMerchantConfigService.queryByTenantId(payingOrder.getTenantId(), payingOrder.getPaymentChannel());
|
|
|
if(hfMerchantConfig == null){
|
|
@@ -450,6 +453,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
payment.put("status", "succeeded");
|
|
|
}else if(StringUtils.equals("FAIL", respStatus) || StringUtils.equals("TIME_OUT", respStatus) || StringUtils.equals("CLOSE", respStatus)) {
|
|
|
payment.put("status", "failed");
|
|
|
+ }else {
|
|
|
+ payment.put("status", "pending");
|
|
|
}
|
|
|
payment.put("error_msg", orderInfo.get("failReason"));
|
|
|
}else {
|
|
@@ -470,14 +475,14 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
if (status.equals("succeeded")) {
|
|
|
rpMap.put("tradeState", "1");
|
|
|
model.setStatus(true);
|
|
|
- } else if (status.equals("failed") || !checkTime
|
|
|
+ } else if (status.equals("failed")
|
|
|
|| (DateUtil.minutesBetween(DateUtil.addHours(payingOrder.getUpdateTime(), 2),date) > 0)) {
|
|
|
rpMap.put("tradeState", "0");
|
|
|
model.setStatus(false);
|
|
|
}
|
|
|
|
|
|
if (status.equals("succeeded") ||
|
|
|
- (status.equals("failed") || !checkTime || payingOrder.getCreateTime().before(DateUtil.addMinutes(new Date(), -35)))) {
|
|
|
+ (status.equals("failed") || payingOrder.getCreateTime().before(DateUtil.addMinutes(new Date(), -35)))) {
|
|
|
try {
|
|
|
updateOrder(rpMap); //更新订单
|
|
|
model.setSuccess(true);
|
|
@@ -504,7 +509,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void updateOrder(Map<String, String> rpMap) throws Exception {
|
|
|
- DealStatusEnum status = rpMap.get("tradeState").equals("1") ? DealStatusEnum.SUCCESS : DealStatusEnum.FAILED;
|
|
|
+ DealStatusEnum status = "1".equals(rpMap.get("tradeState")) ? DealStatusEnum.SUCCESS : DealStatusEnum.FAILED;
|
|
|
StudentPaymentOrder order = findOrderByOrderNo(rpMap.get("merOrderNo"));
|
|
|
//关闭或失败的订单查询订单成功,订单改成成功,钱退到余额
|
|
|
if (order != null && (order.getStatus().equals(DealStatusEnum.CLOSE) || order.getStatus().equals(DealStatusEnum.FAILED)) && status.equals(DealStatusEnum.SUCCESS)) {
|
|
@@ -524,7 +529,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
PlatformCashAccountDetailTypeEnum.REFUNDS, order.getMemo() + ",订单号:" + order.getOrderNo());
|
|
|
|
|
|
if (StringUtils.isNotBlank(order.getPaymentChannel())
|
|
|
- && order.getPaymentChannel().equals("ADAPAY")
|
|
|
+ && (order.getPaymentChannel().equals(PaymentChannelEnum.ADAPAY.getCode()) || order.getPaymentChannel().equals(PaymentChannelEnum.YEEPAY.getCode()))
|
|
|
&& !rpMap.containsKey("simulation")) {
|
|
|
confirmOrder(order);
|
|
|
}
|
|
@@ -562,7 +567,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
TenantContextHolder.clearTenantId();
|
|
|
}
|
|
|
|
|
|
- private Boolean confirmOrder(StudentPaymentOrder order) {
|
|
|
+ public Boolean confirmOrder(StudentPaymentOrder order) {
|
|
|
// 只有大雅延迟分账,其他实时分账
|
|
|
if (order.getTenantId() != 1) {
|
|
|
return true;
|