From b50c961c49851d140d77d549db34a9f6400dadd4 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 19 八月 2025 19:03:10 +0800
Subject: [PATCH] 跨城推广
---
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java | 274 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 183 insertions(+), 91 deletions(-)
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
index 674ea50..090bbb4 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -1,6 +1,7 @@
package com.stylefeng.guns.modular.system.util;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.modular.account.controller.AppOrderController;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -142,9 +143,26 @@
*/
public void timoutNoPayment() {
List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("state", 7)
- .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 30 MINUTE)"));
+ .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 72 HOUR)"));
for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
try {
+ Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+ Company company = companyService.selectById(driver.getCompanyId());
+ UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
+ if(null == orderPrivateCar.getIsCreated()){
+ //先调中台创建订单
+ CreateOrderRequest createOrderRequest = new CreateOrderRequest();
+ createOrderRequest.setTreatShopId(driver.getEmpId().toString());
+ createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
+ createOrderRequest.setCharge(new BigDecimal(orderPrivateCar.getOrderMoney()));
+ createOrderRequest.setOrderNo("PR" + orderPrivateCar.getId());
+ createOrderRequest.setOrderId(orderPrivateCar.getTravelId());
+ createOrderRequest.setCustomerId(userInfo.getOnconUUID());
+ OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest);
+ orderPrivateCar.setIsCreated(1);
+ orderPrivateCar.setTravelId(orderInfo.getOrderId());
+ orderPrivateCarService.updateById(orderPrivateCar);
+ }
//使用备付金进行支付订单
TradePayOffData tradePayOffData = new TradePayOffData();
tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId());
@@ -154,31 +172,40 @@
String retCode = payInfo.getRetCode();
if (!"000000".equals(retCode)) {
log.error("备付金支付失败:{}", payInfo.getRetMsg());
- continue;
+ return;
}
PayInfoData data = payInfo.getData();
String status = data.getStatus();
if ("3".equals(status)) {
log.error("备付金支付失败:{}", payInfo.getRetMsg());
- continue;
+ return;
}
- //查询三方订单状态
- Driver driver1 = driverService.selectById(orderPrivateCar.getDriverId());
- Company company = companyService.selectById(driver1.getCompanyId());
- UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar.getUserId());
- GetTravelItineraryListRequest request = new GetTravelItineraryListRequest();
- request.setCustomerId(userInfo1.getOnconUUID());
- request.setOrderNo("PR" + orderPrivateCar.getId());
- request.setDriverId(driver1.getEmpId().toString());
- ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request);
- Integer status1 = travelItineraryList.getList().get(0).getStatus();
- if(9 != status1){
+ if("0".equals(status)){
+ //查询支付信息
+ GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
+ getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId());
+ GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
+ status = getPaymentInfo.getStatus();
+ }
+ PayInfoData payInfoData = payInfo.getData();
+ PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0);
+ if(!"0".equals(status)){
+ //支付成功,通知三方
+ PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest();
+ paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId());
+ paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos()));
+ paymentOrderRequest.setOrderId(orderPrivateCar.getTravelId());
+ paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney()));
+ paymentOrderRequest.setPayTime(data.getPayTime());
+ paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId());
+ OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest);
+
//中台修改订单状态
ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
request1.setOrderId(orderPrivateCar.getTravelId());
request1.setStatus(9);
if (null != orderPrivateCar.getDriverId()) {
- request1.setDriverId(driver1.getEmpId().toString());
+ request1.setDriverId(driver.getEmpId().toString());
request1.setSupplierShopId(company.getEnterCode());
}
if (2 == orderPrivateCar.getPromotion()) {
@@ -186,38 +213,57 @@
request1.setPromoterId(driver2.getEmpId().toString());
}
OrderUtil.modifyTravelItinerary(request1);
+
+ String payId = payInfo.getData().getPayId();
+ //copy原始订单后生成追缴单
+ OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar();
+ BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1);
+ orderPrivateCar1.setId(null);
+ orderPrivateCar1.setRecoveryOrder(1);
+ orderPrivateCar1.setIsGenerateRecoveryOrder(0);
+ orderPrivateCar1.setOldOrderId(orderPrivateCar.getId());
+
+ //修改原始订单为支付状态
+ orderPrivateCar.setState(9);
+ orderPrivateCar.setPayType(5);
+ orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney());
+ orderPrivateCarService.updateById(orderPrivateCar);
+ //保存追缴单
+ orderPrivateCarService.insert(orderPrivateCar1);
+ //添加三方支付记录
+ try {
+ paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+
+ Driver driver1 = driverService.selectById(orderPrivateCar1.getDriverId());
+ UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar1.getUserId());
+ Company company1 = companyService.selectById(driver1.getCompanyId());
+ //调三方订单中心创建行程单
+ CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
+ request.setOrderNo("PR" + orderPrivateCar1.getId());
+ request.setCustomerId(userInfo1.getOnconUUID());
+ request.setDriverId(driver1.getEmpId().toString());
+ request.setSupplierShopId(company1.getEnterCode());
+ request.setServiceType(2);
+ String travelItinerary = OrderUtil.createTravelItinerary(request);
+ orderPrivateCar1.setTravelId(travelItinerary);
+ orderPrivateCar1.setIsCreated(0);
+ orderPrivateCarService.updateById(orderPrivateCar1);
+ //修改订单状态为待支付
+ ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest();
+ modifyTravelItineraryRequest.setOrderId(orderPrivateCar1.getTravelId());
+ modifyTravelItineraryRequest.setStatus(orderPrivateCar1.getState());
+ modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString());
+ modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode());
+ if (2 == orderPrivateCar1.getPromotion()) {
+ Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId());
+ modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString());
+ }
+ OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest);
}
-
- String payId = payInfo.getData().getPayId();
- //copy原始订单后生成追缴单
- OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar();
- BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1);
- orderPrivateCar1.setId(null);
- orderPrivateCar1.setRecoveryOrder(1);
-
- //修改原始订单为支付状态
- orderPrivateCar.setState(8);
- orderPrivateCar.setPayType(5);
- orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney());
- orderPrivateCarService.updateById(orderPrivateCar);
- //添加三方支付记录
- paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2);
-
-
- Driver driver = driverService.selectById(orderPrivateCar1.getDriverId());
- UserInfo userInfo = userInfoService.selectById(orderPrivateCar1.getUserId());
- //调用三方创建订单
- CreateOrderRequest createOrderRequest = new CreateOrderRequest();
- createOrderRequest.setTreatShopId(driver.getEmpId().toString());
- createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}");
- createOrderRequest.setCharge(new BigDecimal(orderPrivateCar1.getOrderMoney()));
- createOrderRequest.setOrderNo("PR" + orderPrivateCar1.getId());
- createOrderRequest.setCustomerId(userInfo.getOnconUUID());
- OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest);
- orderPrivateCar1.setTravelId(orderInfo.getOrderId());
- orderPrivateCar1.setIsCreated(1);
- //保存追缴单
- orderPrivateCarService.insert(orderPrivateCar1);
} catch (Exception e) {
e.printStackTrace();
}
@@ -228,6 +274,23 @@
.eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 24 HOUR)"));
for (OrderTaxi orderTaxi : orderTaxis) {
try {
+ Driver driver = driverService.selectById(orderTaxi.getDriverId());
+ Company company = companyService.selectById(driver.getCompanyId());
+ UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
+ if(null == orderTaxi.getIsCreated()){
+ //先调中台创建订单
+ CreateOrderRequest createOrderRequest = new CreateOrderRequest();
+ createOrderRequest.setTreatShopId(driver.getEmpId().toString());
+ createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderTaxi.getPromotion() == 2 ? 1 : 0) + "\"}");
+ createOrderRequest.setCharge(new BigDecimal(orderTaxi.getOrderMoney()));
+ createOrderRequest.setOrderNo("TA" + orderTaxi.getId());
+ createOrderRequest.setOrderId(orderTaxi.getTravelId());
+ createOrderRequest.setCustomerId(userInfo.getOnconUUID());
+ OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest);
+ orderTaxi.setIsCreated(1);
+ orderTaxi.setTravelId(orderInfo.getOrderId());
+ orderTaxiService.updateById(orderTaxi);
+ }
//使用备付金进行支付订单
TradePayOffData tradePayOffData = new TradePayOffData();
tradePayOffData.setPartnerPayId(orderTaxi.getTravelId());
@@ -237,31 +300,40 @@
String retCode = payInfo.getRetCode();
if (!"000000".equals(retCode)) {
log.error("备付金支付失败:{}", payInfo.getRetMsg());
- continue;
+ return;
}
PayInfoData data = payInfo.getData();
String status = data.getStatus();
if ("3".equals(status)) {
log.error("备付金支付失败:{}", payInfo.getRetMsg());
- continue;
+ return;
}
- //查询三方订单状态
- Driver driver1 = driverService.selectById(orderTaxi.getDriverId());
- Company company = companyService.selectById(driver1.getCompanyId());
- UserInfo userInfo1 = userInfoService.selectById(orderTaxi.getUserId());
- GetTravelItineraryListRequest request = new GetTravelItineraryListRequest();
- request.setCustomerId(userInfo1.getOnconUUID());
- request.setOrderNo("TA" + orderTaxi.getId());
- request.setDriverId(driver1.getEmpId().toString());
- ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request);
- Integer status1 = travelItineraryList.getList().get(0).getStatus();
- if(8 != status1){
+ if("0".equals(status)){
+ //查询支付信息
+ GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
+ getPaymentInfoDataRequest.setPartnerPayId(orderTaxi.getTravelId());
+ GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
+ status = getPaymentInfo.getStatus();
+ }
+ PayInfoData payInfoData = payInfo.getData();
+ PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0);
+ if(!"0".equals(status)){
+ //支付成功,通知三方
+ PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest();
+ paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId());
+ paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos()));
+ paymentOrderRequest.setOrderId(orderTaxi.getTravelId());
+ paymentOrderRequest.setCharge(BigDecimal.valueOf(orderTaxi.getOrderMoney()));
+ paymentOrderRequest.setPayTime(data.getPayTime());
+ paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId());
+ OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest);
+
//中台修改订单状态
ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
request1.setOrderId(orderTaxi.getTravelId());
- request1.setStatus(8);
+ request1.setStatus(9);
if (null != orderTaxi.getDriverId()) {
- request1.setDriverId(driver1.getEmpId().toString());
+ request1.setDriverId(driver.getEmpId().toString());
request1.setSupplierShopId(company.getEnterCode());
}
if (2 == orderTaxi.getPromotion()) {
@@ -269,37 +341,57 @@
request1.setPromoterId(driver2.getEmpId().toString());
}
OrderUtil.modifyTravelItinerary(request1);
+
+ String payId = payInfo.getData().getPayId();
+ //copy原始订单后生成追缴单
+ OrderTaxi orderTaxi1 = new OrderTaxi();
+ BeanUtils.copyProperties(orderTaxi, orderTaxi1);
+ orderTaxi1.setId(null);
+ orderTaxi1.setRecoveryOrder(1);
+ orderTaxi1.setIsGenerateRecoveryOrder(0);
+ orderTaxi1.setOldOrderId(orderTaxi.getId());
+
+ //修改原始订单为支付状态
+ orderTaxi.setState(9);
+ orderTaxi.setPayType(5);
+ orderTaxi.setPayMoney(orderTaxi.getOrderMoney());
+ orderTaxiService.updateById(orderTaxi);
+ //保存追缴单
+ orderTaxiService.insert(orderTaxi1);
+ //添加三方支付记录
+ try {
+ paymentRecordService.saveData(1, orderTaxi.getUserId(), 1, orderTaxi.getId(), 2, 3, orderTaxi.getOrderMoney(), payId, 2);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+
+ Driver driver1 = driverService.selectById(orderTaxi1.getDriverId());
+ UserInfo userInfo1 = userInfoService.selectById(orderTaxi1.getUserId());
+ Company company1 = companyService.selectById(driver1.getCompanyId());
+ //调三方订单中心创建行程单
+ CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
+ request.setOrderNo("TA" + orderTaxi1.getId());
+ request.setCustomerId(userInfo1.getOnconUUID());
+ request.setDriverId(driver1.getEmpId().toString());
+ request.setSupplierShopId(company1.getEnterCode());
+ request.setServiceType(1);
+ String travelItinerary = OrderUtil.createTravelItinerary(request);
+ orderTaxi1.setTravelId(travelItinerary);
+ orderTaxi1.setIsCreated(0);
+ orderTaxiService.updateById(orderTaxi1);
+ //修改订单状态为待支付
+ ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest();
+ modifyTravelItineraryRequest.setOrderId(orderTaxi1.getTravelId());
+ modifyTravelItineraryRequest.setStatus(orderTaxi1.getState());
+ modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString());
+ modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode());
+ if (2 == orderTaxi1.getPromotion()) {
+ Driver driver2 = driverService.selectById(orderTaxi1.getPromotionDriverId());
+ modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString());
+ }
+ OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest);
}
-
- String payId = payInfo.getData().getPayId();
- //copy原始订单后生成追缴单
- OrderTaxi orderTaxi1 = new OrderTaxi();
- BeanUtils.copyProperties(orderTaxi, orderTaxi1);
- orderTaxi1.setId(null);
- orderTaxi1.setRecoveryOrder(1);
-
- //修改原始订单为支付状态
- orderTaxi.setState(8);
- orderTaxi.setPayType(5);
- orderTaxi.setPayMoney(orderTaxi.getOrderMoney());
- orderTaxiService.updateById(orderTaxi);
- //添加三方支付记录
- paymentRecordService.saveData(1, orderTaxi.getUserId(), 1, orderTaxi.getId(), 2, 3, orderTaxi.getOrderMoney(), payId, 2);
-
- Driver driver = driverService.selectById(orderTaxi1.getDriverId());
- UserInfo userInfo = userInfoService.selectById(orderTaxi1.getUserId());
- //调用三方创建订单
- CreateOrderRequest createOrderRequest = new CreateOrderRequest();
- createOrderRequest.setTreatShopId(driver.getEmpId().toString());
- createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}");
- createOrderRequest.setCharge(new BigDecimal(orderTaxi1.getOrderMoney()));
- createOrderRequest.setOrderNo("TA" + orderTaxi1.getId());
- createOrderRequest.setCustomerId(userInfo.getOnconUUID());
- OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest);
- orderTaxi1.setTravelId(orderInfo.getOrderId());
- orderTaxi1.setIsCreated(1);
- //保存追缴单
- orderTaxiService.insert(orderTaxi1);
} catch (Exception e) {
e.printStackTrace();
}
--
Gitblit v1.7.1