| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alipay.global.api.model.ResultStatusType; |
| | | import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | |
| | | import java.math.RoundingMode; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.concurrent.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | |
| | |
| | | |
| | | |
| | | //google创建车辆信息 |
| | | String vehicleId = null; |
| | | if(null != orderPrivateCar.getDriverId()) { |
| | | Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | Car car = carMapper.selectById(driver.getCarId()); |
| | | if (!StringUtils.hasLength(car.getVehicleId())) { |
| | | car.setVehicleId(UUIDUtil.getRandomCode()); |
| | | carMapper.updateById(car); |
| | | } |
| | | vehicleId = car.getVehicleId(); |
| | | //查询车辆信息,没有则创建信息 |
| | | String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); |
| | | if (ToolUtil.isEmpty(vehicles)) { |
| | | CarModel carModel = carModelMapper.selectById(car.getCarModelId()); |
| | | boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if (!createVehicles) { |
| | | for (int i = 0; i < 5; i++) { |
| | | createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if (createVehicles) { |
| | | break; |
| | | } |
| | | Thread.sleep(5000L); |
| | | } |
| | | } |
| | | boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if (!updateVehicles) { |
| | | for (int i = 0; i < 5; i++) { |
| | | updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if (updateVehicles) { |
| | | break; |
| | | } |
| | | Thread.sleep(5000L); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //创建行程数据 |
| | | String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId()); |
| | | int count = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("tripId", orderPrivateCar.getTripId())); |
| | | int count1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("tripId", orderPrivateCar.getTripId())); |
| | | if(ToolUtil.isNotEmpty(trip) || (count + count1) > 0){ |
| | | String randomCode = UUIDUtil.getRandomCode(); |
| | | redisUtil.setStrValue("trip" + orderPrivateCar.getUserId(), randomCode); |
| | | OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); |
| | | orderPrivateCar1.setId(orderPrivateCar.getId()); |
| | | orderPrivateCar1.setTripId(randomCode); |
| | | this.updateById(orderPrivateCar1); |
| | | orderPrivateCar.setTripId(randomCode); |
| | | } |
| | | JSONObject createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(), |
| | | orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString()); |
| | | JSONObject error = createTrip.getJSONObject("error"); |
| | | if(null != error){ |
| | | for (int i = 0; i < 5; i++) { |
| | | createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(), |
| | | orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString()); |
| | | error = createTrip.getJSONObject("error"); |
| | | String tripStatus = createTrip.getString("tripStatus"); |
| | | if(null == error && "NEW".equals(tripStatus)){ |
| | | break; |
| | | } |
| | | try { |
| | | Thread.sleep(3000L); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | // String vehicleId = null; |
| | | // if(null != orderPrivateCar.getDriverId()) { |
| | | // Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | // Car car = carMapper.selectById(driver.getCarId()); |
| | | // if (!StringUtils.hasLength(car.getVehicleId())) { |
| | | // car.setVehicleId(UUIDUtil.getRandomCode()); |
| | | // carMapper.updateById(car); |
| | | // } |
| | | // vehicleId = car.getVehicleId(); |
| | | // //查询车辆信息,没有则创建信息 |
| | | // String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); |
| | | // if (ToolUtil.isEmpty(vehicles)) { |
| | | // CarModel carModel = carModelMapper.selectById(car.getCarModelId()); |
| | | // boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if (!createVehicles) { |
| | | // for (int i = 0; i < 5; i++) { |
| | | // createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if (createVehicles) { |
| | | // break; |
| | | // } |
| | | // Thread.sleep(5000L); |
| | | // } |
| | | // } |
| | | // boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if (!updateVehicles) { |
| | | // for (int i = 0; i < 5; i++) { |
| | | // updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if (updateVehicles) { |
| | | // break; |
| | | // } |
| | | // Thread.sleep(5000L); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // //创建行程数据 |
| | | // String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId()); |
| | | // int count = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("tripId", orderPrivateCar.getTripId())); |
| | | // int count1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("tripId", orderPrivateCar.getTripId())); |
| | | // if(ToolUtil.isNotEmpty(trip) || (count + count1) > 0){ |
| | | // String randomCode = UUIDUtil.getRandomCode(); |
| | | // redisUtil.setStrValue("trip" + orderPrivateCar.getUserId(), randomCode); |
| | | // OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); |
| | | // orderPrivateCar1.setId(orderPrivateCar.getId()); |
| | | // orderPrivateCar1.setTripId(randomCode); |
| | | // this.updateById(orderPrivateCar1); |
| | | // orderPrivateCar.setTripId(randomCode); |
| | | // } |
| | | // JSONObject createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(), |
| | | // orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString()); |
| | | // JSONObject error = createTrip.getJSONObject("error"); |
| | | // if(null != error){ |
| | | // for (int i = 0; i < 5; i++) { |
| | | // createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(), |
| | | // orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString()); |
| | | // error = createTrip.getJSONObject("error"); |
| | | // String tripStatus = createTrip.getString("tripStatus"); |
| | | // if(null == error && "NEW".equals(tripStatus)){ |
| | | // break; |
| | | // } |
| | | // try { |
| | | // Thread.sleep(3000L); |
| | | // } catch (InterruptedException e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | if(orderSource == 2){//扫码下单 |
| | |
| | | } |
| | | |
| | | //修改行程信息 |
| | | if(orderPrivateCar.getState() == 10 || orderPrivateCar.getState() == 12){ |
| | | Car car = carService.selectById(orderPrivateCar.getCarId()); |
| | | boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null); |
| | | if(!updateTrip){ |
| | | for (int i = 0; i < 5; i++) { |
| | | updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null); |
| | | if(updateTrip){ |
| | | orderPrivateCar.setIsover(1); |
| | | this.updateById(orderPrivateCar); |
| | | break; |
| | | } |
| | | Thread.sleep(3000L); |
| | | } |
| | | }else{ |
| | | orderPrivateCar.setIsover(1); |
| | | this.updateById(orderPrivateCar); |
| | | } |
| | | } |
| | | // if(orderPrivateCar.getState() == 10 || orderPrivateCar.getState() == 12){ |
| | | // Car car = carService.selectById(orderPrivateCar.getCarId()); |
| | | // boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null); |
| | | // if(!updateTrip){ |
| | | // for (int i = 0; i < 5; i++) { |
| | | // updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null); |
| | | // if(updateTrip){ |
| | | // orderPrivateCar.setIsover(1); |
| | | // this.updateById(orderPrivateCar); |
| | | // break; |
| | | // } |
| | | // Thread.sleep(3000L); |
| | | // } |
| | | // }else{ |
| | | // orderPrivateCar.setIsover(1); |
| | | // this.updateById(orderPrivateCar); |
| | | // } |
| | | // } |
| | | //添加消息 |
| | | systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消出行订单,谢谢使用!" : language == 2 ? "You've cancelled the ride order successfully, thank you for using I-GO " : "Vous avez annulé la commande de course avec succès, merci d’utiliser I-GO", orderPrivateCar.getUserId(), 1); |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | orderCancelService.updateById(orderCancel); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
| | | String merchantTransactionId = sdf.format(new Date()) + "1" + language + id; |
| | | CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone())); |
| | | checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | checkoutRequest.setAccountNumber(userInfo.getPhone()); |
| | | checkoutRequest.setCustomerFirstName(userInfo.getFirstName()); |
| | | checkoutRequest.setCustomerLastName(userInfo.getLastName()); |
| | | checkoutRequest.setRequestAmount(amount); |
| | | checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | checkoutRequest.setRequestDescription("Cancel a trip"); |
| | | checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); |
| | | checkoutRequest.setPendingRedirectUrl(""); |
| | | checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | // CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | // checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone())); |
| | | // checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | // checkoutRequest.setAccountNumber(userInfo.getPhone()); |
| | | // checkoutRequest.setCustomerFirstName(userInfo.getFirstName()); |
| | | // checkoutRequest.setCustomerLastName(userInfo.getLastName()); |
| | | // checkoutRequest.setRequestAmount(amount); |
| | | // checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | // checkoutRequest.setRequestDescription("Cancel a trip"); |
| | | // checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); |
| | | // checkoutRequest.setPendingRedirectUrl(""); |
| | | // checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | // checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | // resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | |
| | | AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO(); |
| | | payment.setPaymentRequestId(merchantTransactionId); |
| | | payment.setAmountValue(amount.toString()); |
| | | payment.setCurrency(""); |
| | | payment.setOrderDescription("Cancel a trip"); |
| | | payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelOrderTaxiAntom"); |
| | | payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | payment.setReferenceOrderId(orderPrivateCar.getId() + "1"); |
| | | resultUtil = AntomPaymentUtil.pay(payment); |
| | | if(resultUtil.getCode()==200){ |
| | | paymentRecordService.saveData(1, null, null, id, 1, 1, amount, null, 1);//添加预支付数据 |
| | | //创建定时任务查询订单支付状态 |
| | | ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); |
| | | scheduledExecutorService.schedule(() -> { |
| | | try { |
| | | int num = 1; |
| | | int wait = 0; |
| | | while (num <= 13) { |
| | | int min = 5000; |
| | | wait += (min * num); |
| | | OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId()); |
| | | if (orderPrivateCar1.getState() != 12) { |
| | | break; |
| | | } |
| | | ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId); |
| | | if(200 == resultUtil1.getCode()){ |
| | | AlipayPayQueryResponse data = resultUtil1.getData(); |
| | | ResultStatusType resultStatus = data.getResult().getResultStatus(); |
| | | if(resultStatus.equals(ResultStatusType.S)){ |
| | | payCancelOrderPrivateCar(orderPrivateCar1.getId(), data.getPaymentId(), language); |
| | | break; |
| | | } |
| | | } |
| | | Thread.sleep(wait); |
| | | num++; |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | }finally { |
| | | scheduledExecutorService.shutdown(); |
| | | } |
| | | |
| | | }, 5, TimeUnit.SECONDS); |
| | | } |
| | | |
| | | } |
| | |
| | | BankCard bankCard = bankCardService.selectById(bankCardId); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
| | | String merchantTransactionId = sdf.format(new Date()) + "1" + id; |
| | | CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); |
| | | checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | checkoutRequest.setAccountNumber(bankCard.getCode()); |
| | | checkoutRequest.setCustomerFirstName(bankCard.getFirstName()); |
| | | checkoutRequest.setCustomerLastName(bankCard.getLastName()); |
| | | checkoutRequest.setRequestAmount(amount); |
| | | checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | checkoutRequest.setRequestDescription("Cancel a trip"); |
| | | checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); |
| | | checkoutRequest.setPendingRedirectUrl(""); |
| | | checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | // CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | // checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); |
| | | // checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | // checkoutRequest.setAccountNumber(bankCard.getCode()); |
| | | // checkoutRequest.setCustomerFirstName(bankCard.getFirstName()); |
| | | // checkoutRequest.setCustomerLastName(bankCard.getLastName()); |
| | | // checkoutRequest.setRequestAmount(amount); |
| | | // checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | // checkoutRequest.setRequestDescription("Cancel a trip"); |
| | | // checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); |
| | | // checkoutRequest.setPendingRedirectUrl(""); |
| | | // checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | // checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | // resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | |
| | | AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO(); |
| | | payment.setPaymentRequestId(merchantTransactionId); |
| | | payment.setAmountValue(amount.toString()); |
| | | payment.setCurrency(""); |
| | | payment.setOrderDescription("Cancel a trip"); |
| | | payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelOrderTaxiAntom"); |
| | | payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | payment.setReferenceOrderId(orderPrivateCar.getId() + "1"); |
| | | resultUtil = AntomPaymentUtil.pay(payment); |
| | | if(resultUtil.getCode()==200){ |
| | | paymentRecordService.saveData(1, null, null, id, 1, 2, amount, null, 1);//添加预支付数据 |
| | | //创建定时任务查询订单支付状态 |
| | | ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); |
| | | scheduledExecutorService.schedule(() -> { |
| | | try { |
| | | int num = 1; |
| | | int wait = 0; |
| | | while (num <= 13) { |
| | | int min = 5000; |
| | | wait += (min * num); |
| | | OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId()); |
| | | if (orderPrivateCar1.getState() != 12) { |
| | | break; |
| | | } |
| | | ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId); |
| | | if(200 == resultUtil1.getCode()){ |
| | | AlipayPayQueryResponse data = resultUtil1.getData(); |
| | | ResultStatusType resultStatus = data.getResult().getResultStatus(); |
| | | if(resultStatus.equals(ResultStatusType.S)){ |
| | | payCancelOrderPrivateCar(orderPrivateCar1.getId(), data.getPaymentId(), language); |
| | | break; |
| | | } |
| | | } |
| | | Thread.sleep(wait); |
| | | num++; |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | }finally { |
| | | scheduledExecutorService.shutdown(); |
| | | } |
| | | |
| | | }, 5, TimeUnit.SECONDS); |
| | | } |
| | | |
| | | } |
| | |
| | | if(payType == 1){//手机支付 |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
| | | String merchantTransactionId = sdf.format(new Date()) + "1" + language + orderId; |
| | | CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone())); |
| | | checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | checkoutRequest.setAccountNumber(userInfo.getPhone()); |
| | | checkoutRequest.setCustomerFirstName(userInfo.getFirstName()); |
| | | checkoutRequest.setCustomerLastName(userInfo.getLastName()); |
| | | checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue()); |
| | | checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | checkoutRequest.setRequestDescription("Travel completion payment"); |
| | | checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); |
| | | checkoutRequest.setPendingRedirectUrl(""); |
| | | checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | |
| | | // CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | // checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone())); |
| | | // checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | // checkoutRequest.setAccountNumber(userInfo.getPhone()); |
| | | // checkoutRequest.setCustomerFirstName(userInfo.getFirstName()); |
| | | // checkoutRequest.setCustomerLastName(userInfo.getLastName()); |
| | | // checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue()); |
| | | // checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | // checkoutRequest.setRequestDescription("Travel completion payment"); |
| | | // checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); |
| | | // checkoutRequest.setPendingRedirectUrl(""); |
| | | // checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | // checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | // resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | |
| | | AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO(); |
| | | payment.setPaymentRequestId(merchantTransactionId); |
| | | payment.setAmountValue(orderMoney.setScale(2, RoundingMode.HALF_EVEN).toString()); |
| | | payment.setCurrency(""); |
| | | payment.setOrderDescription("Travel completion payment"); |
| | | payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom"); |
| | | payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | payment.setReferenceOrderId(orderPrivateCar.getId() + "1"); |
| | | resultUtil = AntomPaymentUtil.pay(payment); |
| | | if(resultUtil.getCode()==200){ |
| | | paymentRecordService.saveData(1, null, null, orderId, 1, 1, |
| | | orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), null, 1);//添加预支付数据 |
| | | //创建定时任务查询订单支付状态 |
| | | ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); |
| | | scheduledExecutorService.schedule(() -> { |
| | | try { |
| | | int num = 1; |
| | | int wait = 0; |
| | | while (num <= 13) { |
| | | int min = 5000; |
| | | wait += (min * num); |
| | | OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId()); |
| | | if (orderPrivateCar1.getState() != 7) { |
| | | break; |
| | | } |
| | | ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId); |
| | | if(200 == resultUtil1.getCode()){ |
| | | AlipayPayQueryResponse data = resultUtil1.getData(); |
| | | ResultStatusType resultStatus = data.getResult().getResultStatus(); |
| | | if(resultStatus.equals(ResultStatusType.S)){ |
| | | payOrderPrivateCarCallback(orderPrivateCar1.getId(), data.getPaymentId(), language); |
| | | break; |
| | | } |
| | | } |
| | | Thread.sleep(wait); |
| | | num++; |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | }finally { |
| | | scheduledExecutorService.shutdown(); |
| | | } |
| | | |
| | | }, 5, TimeUnit.SECONDS); |
| | | }else{ |
| | | resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", ""); |
| | | } |
| | |
| | | BankCard bankCard = bankCardService.selectById(bankCardId); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
| | | String merchantTransactionId = sdf.format(new Date()) + "1" + language + orderId; |
| | | CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); |
| | | checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | checkoutRequest.setAccountNumber(bankCard.getCode()); |
| | | checkoutRequest.setCustomerFirstName(bankCard.getFirstName()); |
| | | checkoutRequest.setCustomerLastName(bankCard.getLastName()); |
| | | checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue()); |
| | | checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | checkoutRequest.setRequestDescription("Travel completion payment"); |
| | | checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); |
| | | checkoutRequest.setPendingRedirectUrl(""); |
| | | checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | |
| | | // CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | // checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); |
| | | // checkoutRequest.setCustomerEmail(userInfo.getEmail()); |
| | | // checkoutRequest.setAccountNumber(bankCard.getCode()); |
| | | // checkoutRequest.setCustomerFirstName(bankCard.getFirstName()); |
| | | // checkoutRequest.setCustomerLastName(bankCard.getLastName()); |
| | | // checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue()); |
| | | // checkoutRequest.setMerchantTransactionId(merchantTransactionId); |
| | | // checkoutRequest.setRequestDescription("Travel completion payment"); |
| | | // checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); |
| | | // checkoutRequest.setPendingRedirectUrl(""); |
| | | // checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | // checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); |
| | | // resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | |
| | | AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO(); |
| | | payment.setPaymentRequestId(merchantTransactionId); |
| | | payment.setAmountValue(orderMoney.setScale(2, RoundingMode.HALF_EVEN).toString()); |
| | | payment.setCurrency(""); |
| | | payment.setOrderDescription("Travel completion payment"); |
| | | payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom"); |
| | | payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); |
| | | payment.setReferenceOrderId(orderPrivateCar.getId() + "1"); |
| | | resultUtil = AntomPaymentUtil.pay(payment); |
| | | if(resultUtil.getCode()==200){ |
| | | paymentRecordService.saveData(1, null, null, orderId, 1, 2, |
| | | orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), null, 1);//添加预支付数据 |
| | | //创建定时任务查询订单支付状态 |
| | | ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); |
| | | scheduledExecutorService.schedule(() -> { |
| | | try { |
| | | int num = 1; |
| | | int wait = 0; |
| | | while (num <= 13) { |
| | | int min = 5000; |
| | | wait += (min * num); |
| | | OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId()); |
| | | if (orderPrivateCar1.getState() != 7) { |
| | | break; |
| | | } |
| | | ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId); |
| | | if(200 == resultUtil1.getCode()){ |
| | | AlipayPayQueryResponse data = resultUtil1.getData(); |
| | | ResultStatusType resultStatus = data.getResult().getResultStatus(); |
| | | if(resultStatus.equals(ResultStatusType.S)){ |
| | | payOrderPrivateCarCallback(orderPrivateCar1.getId(), data.getPaymentId(), language); |
| | | break; |
| | | } |
| | | } |
| | | Thread.sleep(wait); |
| | | num++; |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | }finally { |
| | | scheduledExecutorService.shutdown(); |
| | | } |
| | | |
| | | }, 5, TimeUnit.SECONDS); |
| | | }else{ |
| | | resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", ""); |
| | | } |
| | |
| | | } |
| | | |
| | | //司机下班,修改谷歌上的车辆信息 |
| | | new Thread(()->{ |
| | | try { |
| | | CarModel carModel = carModelMapper.selectById(car.getCarModelId()); |
| | | String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); |
| | | if(ToolUtil.isEmpty(vehicles)){ |
| | | boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if(!createVehicles){ |
| | | for (int i = 0; i < 5; i++) { |
| | | createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if(createVehicles){ |
| | | break; |
| | | } |
| | | Thread.sleep(5000L); |
| | | } |
| | | } |
| | | boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if(!updateVehicles){ |
| | | for (int i = 0; i < 5; i++) { |
| | | updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if(updateVehicles){ |
| | | break; |
| | | } |
| | | Thread.sleep(5000L); |
| | | } |
| | | } |
| | | }else{ |
| | | boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if(!updateVehicles){ |
| | | for (int i = 0; i < 5; i++) { |
| | | updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | if(updateVehicles){ |
| | | break; |
| | | } |
| | | Thread.sleep(5000L); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | }).start(); |
| | | // new Thread(()->{ |
| | | // try { |
| | | // CarModel carModel = carModelMapper.selectById(car.getCarModelId()); |
| | | // String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); |
| | | // if(ToolUtil.isEmpty(vehicles)){ |
| | | // boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if(!createVehicles){ |
| | | // for (int i = 0; i < 5; i++) { |
| | | // createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if(createVehicles){ |
| | | // break; |
| | | // } |
| | | // Thread.sleep(5000L); |
| | | // } |
| | | // } |
| | | // boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if(!updateVehicles){ |
| | | // for (int i = 0; i < 5; i++) { |
| | | // updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if(updateVehicles){ |
| | | // break; |
| | | // } |
| | | // Thread.sleep(5000L); |
| | | // } |
| | | // } |
| | | // }else{ |
| | | // boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if(!updateVehicles){ |
| | | // for (int i = 0; i < 5; i++) { |
| | | // updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | // if(updateVehicles){ |
| | | // break; |
| | | // } |
| | | // Thread.sleep(5000L); |
| | | // } |
| | | // } |
| | | // } |
| | | // }catch (Exception e){ |
| | | // e.printStackTrace(); |
| | | // } |
| | | // }).start(); |
| | | } |
| | | } |
| | | } |