| | |
| | | import java.math.MathContext; |
| | | import java.math.RoundingMode; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.concurrent.LinkedBlockingQueue; |
| | | import java.util.concurrent.ThreadPoolExecutor; |
| | |
| | | }else{ |
| | | tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isCompensate\":\"1\",\"isPromote\":\"0\"}"); |
| | | } |
| | | tradeOrderCreateData.setCharge(new BigDecimal(orderMoney)); |
| | | tradeOrderCreateData.setCharge(new BigDecimal(orderMoney).setScale(2, RoundingMode.HALF_EVEN)); |
| | | tradeOrderCreateData.setOrderNo("CC" + orderCrossCity.getId()); |
| | | tradeOrderCreateData.setCustomerId(userInfo.getOnconUUID()); |
| | | tradeOrderCreateData.setPartnerPayId(orderCrossCity.getTravelId()); |
| | |
| | | |
| | | }else{ |
| | | goodsInfoRequest.setProfitSharing("0"); |
| | | goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); |
| | | } |
| | | goodsInfo.add(goodsInfoRequest); |
| | | tradeOrderCreateData.setGoodsInfo(goodsInfo); |
| | |
| | | return ResultUtil.error(payInfo.getRetMsg()); |
| | | } |
| | | orderCrossCity.setIsCreated(1); |
| | | orderCrossCity.setTrackId(tradeOrderCreate.getOrderInfo().getOrderId()); |
| | | orderCrossCity.setTravelId(tradeOrderCreate.getOrderInfo().getOrderId()); |
| | | resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl()); |
| | | }else{ |
| | | //拉起支付 |
| | |
| | | goodsInfoRequest.setProfitSharing("1"); |
| | | }else{ |
| | | goodsInfoRequest.setProfitSharing("0"); |
| | | goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); |
| | | } |
| | | goodsInfo.add(goodsInfoRequest); |
| | | tradePayOff1Data.setGoodsInfo(goodsInfo); |
| | |
| | | } |
| | | resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl()); |
| | | } |
| | | |
| | | this.updateById(orderCrossCity); |
| | | paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, "", 1);//添加预支付数据 |
| | | |
| | | //创建定时任务查询订单支付状态 |
| | |
| | | request.setDriverId(driver.getEmpId().toString()); |
| | | ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request); |
| | | TravelItinerary travelItinerary = travelItineraryList.getList().get(0); |
| | | if(travelItinerary.getStatus() != 7 || travelItinerary.getOrderStatus() == 11){ |
| | | if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){ |
| | | GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest(); |
| | | getPaymentInfoDataRequest1.setPartnerPayId(orderCrossCity1.getTravelId()); |
| | | getPaymentInfoDataRequest1.setPartnerPayId(orderCrossCity.getTravelId()); |
| | | GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1); |
| | | payOrderCrossCityCallback(orderCrossCity1.getId(), getPaymentInfo1.getPayId(), 1, null); |
| | | break; |
| | |
| | | } else { |
| | | return ResultUtil.error("请完善后台取消规则设置"); |
| | | } |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); |
| | | request1.setOrderId(orderCrossCity.getTravelId()); |
| | | request1.setStatus(orderCrossCity.getState()); |
| | | if (null != orderCrossCity.getDriverId()) { |
| | | Driver driver2 = driverService.selectById(orderCrossCity.getDriverId()); |
| | | Company company = iCompanyService.selectById(driver2.getCompanyId()); |
| | | request1.setDriverId(driver2.getEmpId().toString()); |
| | | request1.setSupplierShopId(company.getEnterCode()); |
| | | } |
| | | if (2 == orderCrossCity.getPromotion() && null != orderCrossCity.getPromotionDriverId()) { |
| | | Driver driver2 = driverService.selectById(orderCrossCity.getPromotionDriverId()); |
| | | request1.setPromoterId(driver2.getEmpId().toString()); |
| | | } |
| | | OrderUtil.modifyTravelItinerary(request1); |
| | | |
| | | //未支付的情况取消订单 |
| | | if(null == orderCrossCity.getPayType() && ToolUtil.isNotEmpty(orderCrossCity.getTravelId())){ |
| | |
| | | }}); |
| | | TradeOrderRefund tradeOrderRefund = OrderUtil.tradeOrderRefund(request); |
| | | //退款通知 |
| | | OrderRefundNoticeRequest request1 = new OrderRefundNoticeRequest(); |
| | | request1.setOrderId(orderCrossCity.getTravelId()); |
| | | request1.setRefundPayNum(tradeOrderRefund.getRefundId()); |
| | | request1.setRefundType("5"); |
| | | request1.setApplyRefundCharge(new BigDecimal(orderCrossCity.getPayMoney())); |
| | | request1.setActualRefundCharge(new BigDecimal(orderCrossCity.getPayMoney())); |
| | | request1.setRefundAccount(userInfo.getOnconUUID()); |
| | | request1.setRemark("跨城订单取消退款"); |
| | | OrderUtil.orderRefundNotice(request1); |
| | | OrderRefundNoticeRequest request2 = new OrderRefundNoticeRequest(); |
| | | request2.setOrderId(orderCrossCity.getTravelId()); |
| | | request2.setRefundPayNum(tradeOrderRefund.getRefundId()); |
| | | request2.setRefundType("5"); |
| | | request2.setApplyRefundCharge(BigDecimal.valueOf(orderCrossCity.getPayMoney())); |
| | | request2.setActualRefundCharge(BigDecimal.valueOf(orderCrossCity.getPayMoney())); |
| | | request2.setRefundAccount(userInfo.getOnconUUID()); |
| | | request2.setRemark("跨城订单取消退款"); |
| | | OrderUtil.orderRefundNotice(request2); |
| | | //添加交易明细 |
| | | transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id); |
| | | } |