| | |
| | | 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; |
| | |
| | | //修改过期的商家优惠券 |
| | | userMerchantCouponService.updateExpired(); |
| | | //处理超时未支付的订单 |
| | | // timoutNoPayment(); |
| | | timoutNoPayment(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | */ |
| | | 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()); |
| | |
| | | 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; |
| | | } |
| | | 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); |
| | | //支付成功,通知三方 |
| | | PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); |
| | | paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); |
| | | paymentOrderRequest.setPaymentInfo(payInfoData.getPaymentInfos()); |
| | | paymentOrderRequest.setOrderId("PR" + orderPrivateCar.getId()); |
| | | paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); |
| | | paymentOrderRequest.setPayTime(data.getPayTime()); |
| | | paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); |
| | | OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); |
| | | |
| | | |
| | | //查询三方订单状态 |
| | | 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)){ |
| | | //支付成功,通知三方 |
| | | 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()) { |
| | |
| | | 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(); |
| | | } |
| | |
| | | .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()); |
| | |
| | | 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()) { |
| | |
| | | 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(); |
| | | } |