From a0a814be1a2cff11a4eea699930b7df4b56ccacb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 01 八月 2025 17:53:18 +0800 Subject: [PATCH] 推广活动 --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java | 201 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 170 insertions(+), 31 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 c04c6f3..b255273 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 @@ -7,21 +7,23 @@ import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; +import com.stylefeng.guns.modular.system.model.Company; +import com.stylefeng.guns.modular.system.model.Driver; import com.stylefeng.guns.modular.system.model.UserInfo; -import com.stylefeng.guns.modular.system.service.IUserCouponRecordService; -import com.stylefeng.guns.modular.system.service.IUserInfoService; -import com.stylefeng.guns.modular.system.service.IUserMerchantCouponService; +import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; +import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -46,6 +48,8 @@ @Autowired private IOrderPrivateCarService orderPrivateCarService; + @Autowired + private IPaymentRecordService paymentRecordService; @Autowired @@ -63,6 +67,11 @@ @Autowired private IUserInfoService userInfoService; + @Autowired + private IDriverService driverService; + @Autowired + private ICompanyService companyService; + /** * 每隔一分钟去处理的定时任务 @@ -75,7 +84,7 @@ //修改过期的商家优惠券 userMerchantCouponService.updateExpired(); //处理超时未支付的订单 - + timoutNoPayment(); } catch (Exception e) { e.printStackTrace(); } @@ -135,35 +144,165 @@ List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("state", 7) .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 24 HOUR)")); for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { - //使用备付金进行支付订单 - TradePayOffData tradePayOffData = new TradePayOffData(); - tradePayOffData.setPartnerPayId("PR" + orderPrivateCar.getId()); - tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); - tradePayOffData.setOrderDesc("完成订单"); - PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); - String retCode = payInfo.getRetCode(); - if(!"000000".equals(retCode)){ - log.error("备付金支付失败:{}", payInfo.getRetMsg()); - continue; + try { + //使用备付金进行支付订单 + TradePayOffData tradePayOffData = new TradePayOffData(); + tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId()); + tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); + tradePayOffData.setOrderDesc("完成订单"); + PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); + String retCode = payInfo.getRetCode(); + if (!"000000".equals(retCode)) { + log.error("备付金支付失败:{}", payInfo.getRetMsg()); + continue; + } + PayInfoData data = payInfo.getData(); + String status = data.getStatus(); + if ("3".equals(status)) { + log.error("备付金支付失败:{}", payInfo.getRetMsg()); + continue; + } + //查询三方订单状态 + 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(8 != status1){ + //中台修改订单状态 + ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); + request1.setOrderId(orderPrivateCar.getTravelId()); + request1.setStatus(8); + if (null != orderPrivateCar.getDriverId()) { + request1.setDriverId(driver1.getEmpId().toString()); + request1.setSupplierShopId(company.getEnterCode()); + } + if (2 == orderPrivateCar.getPromotion()) { + Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); + 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); + + //修改原始订单为支付状态 + 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(); } - PayInfoData data = payInfo.getData(); - String status = data.getStatus(); - if("3".equals(status)){ - log.error("备付金支付失败:{}", payInfo.getRetMsg()); - continue; + } + + //出租车 + List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("state", 7) + .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 24 HOUR)")); + for (OrderTaxi orderTaxi : orderTaxis) { + try { + //使用备付金进行支付订单 + TradePayOffData tradePayOffData = new TradePayOffData(); + tradePayOffData.setPartnerPayId(orderTaxi.getTravelId()); + tradePayOffData.setTotalFee(Double.valueOf(orderTaxi.getOrderMoney() * 100).intValue() + ""); + tradePayOffData.setOrderDesc("完成订单"); + PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); + String retCode = payInfo.getRetCode(); + if (!"000000".equals(retCode)) { + log.error("备付金支付失败:{}", payInfo.getRetMsg()); + continue; + } + PayInfoData data = payInfo.getData(); + String status = data.getStatus(); + if ("3".equals(status)) { + log.error("备付金支付失败:{}", payInfo.getRetMsg()); + continue; + } + //查询三方订单状态 + 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){ + //中台修改订单状态 + ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); + request1.setOrderId(orderTaxi.getTravelId()); + request1.setStatus(8); + if (null != orderTaxi.getDriverId()) { + request1.setDriverId(driver1.getEmpId().toString()); + request1.setSupplierShopId(company.getEnterCode()); + } + if (2 == orderTaxi.getPromotion()) { + Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId()); + 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); + + //修改原始订单为支付状态 + 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(); } - //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); - orderPrivateCarService.insert(orderPrivateCar1); } } } -- Gitblit v1.7.1