| | |
| | | import com.xiaopeng.api.dto.account.UseUserCouponDto; |
| | | import com.xiaopeng.api.dto.automaticPilot.PushOrderDto; |
| | | import com.xiaopeng.api.dto.automaticPilot.VehicleEventDTO; |
| | | import com.xiaopeng.api.dto.frdXfipEvent.XpFrdXfipEventCouponLineDTO; |
| | | import com.xiaopeng.api.dto.frdXfipEvent.XpFrdXfipEventIngestContentDTO; |
| | | import com.xiaopeng.api.dto.frdXfipEvent.XpFrdXfipEventIngestReqDTO; |
| | | import com.xiaopeng.api.dto.map.OrderRouteAndFareDto; |
| | | import com.xiaopeng.api.dto.map.RouteAndFareDto; |
| | | import com.xiaopeng.api.dto.operation.LonLatDto; |
| | |
| | | import com.xiaopeng.api.feignClient.account.XpAppUserCouponClient; |
| | | import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient; |
| | | import com.xiaopeng.api.feignClient.automaticPilot.VehicleBuriedPointClient; |
| | | import com.xiaopeng.api.feignClient.frdXfipEvent.XpFrdXfipEventClient; |
| | | import com.xiaopeng.api.feignClient.maintenance.XpTaskRuleClient; |
| | | import com.xiaopeng.api.feignClient.map.XpMapClient; |
| | | import com.xiaopeng.api.feignClient.map.XpStationClient; |
| | |
| | | import com.xiaopeng.api.vo.automaticPilot.protobuf.OrderOperationType; |
| | | import com.xiaopeng.api.vo.automaticPilot.protobuf.OrderStatus; |
| | | import com.xiaopeng.api.vo.automaticPilot.protobuf.TaskActionType; |
| | | import com.xiaopeng.api.vo.frdXfipEvent.XpFrdXfipEventIngestRespVO; |
| | | import com.xiaopeng.api.vo.operation.NearestNextVo; |
| | | import com.xiaopeng.api.vo.operation.RouteVo; |
| | | import com.xiaopeng.api.vo.order.*; |
| | |
| | | private XpPayFrontClient xpPayFrontClient; |
| | | @Resource |
| | | private XpStationClient xpStationClient; |
| | | |
| | | @Resource |
| | | private XpFrdXfipEventClient xpFrdXfipEventClient; |
| | | |
| | | @Value("${robotaxi.appId:xp_robotaxi_api}") |
| | | private String appid; |
| | |
| | | public R payment(XpOrderPayDto dto, String uid) { |
| | | |
| | | |
| | | // XpOrder order = this.getById(dto.getOrderId()); |
| | | // |
| | | // HashMap<String, Object> resultMap = new HashMap<>(); |
| | | // |
| | | // // 1.0 免密 //查询是否开通免密 |
| | | // // 1先查用户是否申请 申请了拿到通过的businessOrderId |
| | | // boolean signed = false; |
| | | // CreditPaySignQueryDto creditPaySignQueryDto = new CreditPaySignQueryDto(); |
| | | // creditPaySignQueryDto.setUid(Long.valueOf(uid)); |
| | | // creditPaySignQueryDto.setBusinessId("xp-robotaxi"); |
| | | // creditPaySignQueryDto.setCategory("009001"); |
| | | // creditPaySignQueryDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF")); |
| | | // R<CreditPaySignQueryVo> creditPaySignQueryVoR = xpPayFrontClient.queryCreditPaySign(creditPaySignQueryDto); |
| | | // if (creditPaySignQueryVoR.getCode()==200) { |
| | | // CreditPaySignQueryVo data = creditPaySignQueryVoR.getData(); |
| | | // // 查看是否有签约的 |
| | | // long count = data.getSignList().stream().filter(e -> e.getStatus().equals("VALID")).count(); |
| | | // if (count > 0){ |
| | | // signed = true; |
| | | // } |
| | | // } |
| | | // |
| | | // |
| | | // if(signed){ |
| | | // // y已签约 1.信用下单 |
| | | // CreditOrderCreateDto creditOrderCreateDto = new CreditOrderCreateDto(); |
| | | // creditOrderCreateDto.setUid(Long.valueOf(uid)); |
| | | // creditOrderCreateDto.setBusinessId("xp-robotaxi"); |
| | | // creditOrderCreateDto.setCategory("009001"); |
| | | // creditOrderCreateDto.setBusinessOrderId(""); |
| | | // creditOrderCreateDto.setSubject("小鹏集团|robotaxi"); |
| | | // creditOrderCreateDto.setPayType("13"); |
| | | // |
| | | // |
| | | // // 信用下单 |
| | | // ArrayList<CreditOrderCreateDto.PostPayment> postPayments = new ArrayList<>(1); |
| | | // CreditOrderCreateDto.PostPayment postPayment = new CreditOrderCreateDto.PostPayment(); |
| | | // postPayment.setName("收费标准"); |
| | | // postPayment.setDescription("行程价格动态浮动,具体详情可在费用详情或计价规则查看"); |
| | | // postPayments.add(postPayment); |
| | | // creditOrderCreateDto.setPostPayments(postPayments); |
| | | // R<CreditOrderCreateVo> creditOrderCreateVoR = xpPayFrontClient.createCreditOrder(creditOrderCreateDto); |
| | | // if(creditOrderCreateVoR.getCode()==200){ |
| | | // CreditOrderCreateVo data = creditOrderCreateVoR.getData(); |
| | | // resultMap.put("status", 1); |
| | | // resultMap.put("value", data); |
| | | // |
| | | // order.setPayType(3); |
| | | // order.setAuthOrderId(data.getAuthOrderId()); |
| | | // |
| | | // return R.ok(resultMap); |
| | | // } |
| | | // |
| | | // }else { |
| | | // |
| | | // // 未签约 |
| | | // // 调用预下单接口 |
| | | // CreditPrecreateDto creditPrecreateDto = new CreditPrecreateDto(); |
| | | // creditPrecreateDto.setUid(uid); |
| | | // creditPrecreateDto.setBizId("xp-robotaxi"); |
| | | // creditPrecreateDto.setBizOrderId(""); |
| | | // creditPrecreateDto.setPayScene(99); |
| | | // creditPrecreateDto.setAmount(order.getOrderMoney().multiply(new BigDecimal(100)).intValue()); |
| | | // creditPrecreateDto.setCategory("009001"); |
| | | // creditPrecreateDto.setTitle("信用下单"); |
| | | // creditPrecreateDto.setDetail("信用下单"); |
| | | // |
| | | // HashMap<String, String> businessExtend = new HashMap<>(); |
| | | // businessExtend.put("returnUrl", ""); |
| | | // businessExtend.put("notifyUrl", ""); |
| | | // creditPrecreateDto.setBusinessExtend(businessExtend); |
| | | // |
| | | // R<CreditPrecreateVo> creditPrecreateVoR = xpPayFrontClient.precreate(creditPrecreateDto); |
| | | // if (creditPrecreateVoR.getCode()==200) { |
| | | // CreditPrecreateVo data = creditPrecreateVoR.getData(); |
| | | // resultMap.put("status", 2); |
| | | // resultMap.put("value", data); |
| | | // return R.ok(resultMap); |
| | | // } |
| | | // } |
| | | // return R.fail(); |
| | | XpOrder order = this.getById(dto.getOrderId()); |
| | | |
| | | HashMap<String, Object> resultMap = new HashMap<>(); |
| | | |
| | | // 1.0 免密 //查询是否开通免密 |
| | | // 1先查用户是否申请 申请了拿到通过的businessOrderId |
| | | boolean signed = false; |
| | | CreditPaySignQueryDto creditPaySignQueryDto = new CreditPaySignQueryDto(); |
| | | creditPaySignQueryDto.setUid(Long.valueOf(uid)); |
| | | creditPaySignQueryDto.setBusinessId("xp-robotaxi"); |
| | | creditPaySignQueryDto.setCategory("009001"); |
| | | creditPaySignQueryDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF")); |
| | | R<CreditPaySignQueryVo> creditPaySignQueryVoR = xpPayFrontClient.queryCreditPaySign(creditPaySignQueryDto); |
| | | if (creditPaySignQueryVoR.getCode()==200) { |
| | | CreditPaySignQueryVo data = creditPaySignQueryVoR.getData(); |
| | | // 查看是否有签约的 |
| | | long count = data.getSignList().stream().filter(e -> e.getStatus().equals("VALID")).count(); |
| | | if (count > 0){ |
| | | signed = true; |
| | | } |
| | | } |
| | | |
| | | |
| | | if(signed){ |
| | | // y已签约 1.信用下单 |
| | | CreditOrderCreateDto creditOrderCreateDto = new CreditOrderCreateDto(); |
| | | creditOrderCreateDto.setUid(Long.valueOf(uid)); |
| | | creditOrderCreateDto.setBusinessId("xp-robotaxi"); |
| | | creditOrderCreateDto.setCategory("009001"); |
| | | creditOrderCreateDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF")); |
| | | creditOrderCreateDto.setSubject("小鹏集团|robotaxi"); |
| | | creditOrderCreateDto.setPayType("13"); |
| | | creditOrderCreateDto.setPayCallbackUrl(""); |
| | | |
| | | creditOrderCreateDto.setBusinessExtendData("{\"mainOrderId\":\"" +order.getOrderNumber() + "\"}"); |
| | | |
| | | |
| | | |
| | | // 信用下单 |
| | | ArrayList<CreditOrderCreateDto.PostPayment> postPayments = new ArrayList<>(1); |
| | | CreditOrderCreateDto.PostPayment postPayment = new CreditOrderCreateDto.PostPayment(); |
| | | postPayment.setName("收费标准"); |
| | | postPayment.setDescription("行程价格动态浮动,具体详情可在费用详情或计价规则查看"); |
| | | postPayments.add(postPayment); |
| | | creditOrderCreateDto.setPostPayments(postPayments); |
| | | R<CreditOrderCreateVo> creditOrderCreateVoR = xpPayFrontClient.createCreditOrder(creditOrderCreateDto); |
| | | if(creditOrderCreateVoR.getCode()==200){ |
| | | CreditOrderCreateVo data = creditOrderCreateVoR.getData(); |
| | | resultMap.put("status", 1); |
| | | resultMap.put("value", data); |
| | | |
| | | order.setPayType(3); |
| | | order.setAuthOrderId(data.getAuthOrderId()); |
| | | order.setBusinessOrderId(creditOrderCreateDto.getBusinessOrderId()); |
| | | order.setMainOrderId(order.getOrderNumber()); |
| | | |
| | | return R.ok(resultMap); |
| | | } |
| | | |
| | | }else { |
| | | |
| | | // 未签约 |
| | | // 调用预下单接口 |
| | | CreditPrecreateDto creditPrecreateDto = new CreditPrecreateDto(); |
| | | creditPrecreateDto.setUid(uid); |
| | | creditPrecreateDto.setBizId("xp-robotaxi"); |
| | | creditPrecreateDto.setBizOrderId(OrderCodeUtil.getOrderCode("MMZF")); |
| | | creditPrecreateDto.setPayScene(99); |
| | | creditPrecreateDto.setAmount(order.getOrderMoney().multiply(new BigDecimal(100)).intValue()); |
| | | creditPrecreateDto.setCategory("009001"); |
| | | creditPrecreateDto.setTitle("信用下单"); |
| | | creditPrecreateDto.setDetail("信用下单"); |
| | | |
| | | HashMap<String, String> businessExtend = new HashMap<>(); |
| | | businessExtend.put("returnUrl", ""); |
| | | businessExtend.put("notifyUrl", ""); |
| | | creditPrecreateDto.setBusinessExtend(businessExtend); |
| | | |
| | | creditPrecreateDto.setExtBusinessData2("{\"mainOrderId\":\"" +order.getOrderNumber() + "\"}"); |
| | | |
| | | R<CreditPrecreateVo> creditPrecreateVoR = xpPayFrontClient.precreate(creditPrecreateDto); |
| | | if (creditPrecreateVoR.getCode()==200) { |
| | | CreditPrecreateVo data = creditPrecreateVoR.getData(); |
| | | resultMap.put("status", 2); |
| | | resultMap.put("value", data); |
| | | |
| | | order.setPayType(1); |
| | | order.setBusinessOrderId(creditPrecreateDto.getBizOrderId()); |
| | | order.setMainOrderId(order.getOrderNumber()); |
| | | this.updateById(order); |
| | | |
| | | return R.ok(resultMap); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | baseMapper.updateById(order); |
| | | bootCommonService.setCache_orderStatus(order.getId(), order, null); |
| | | return R.ok(); |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | |
| | | postPayments.add(postPayment); |
| | | creditOrderWxPayDto.setPostPayments(postPayments); |
| | | R<CreditOrderWxPayVo> creditOrderWxPayVoR = xpPayFrontClient.creditOrderWxPay(creditOrderWxPayDto); |
| | | }else if(creditOrderQueryVo.getCreditOrderStatus().equals("CREATED") || creditOrderQueryVo.getCreditOrderStatus().equals("DOING")){ |
| | | |
| | | } |
| | | } |
| | | |
| | | }else { |
| | | // 微信支付也需要查询下 |
| | | PayOrderQueryDto queryDto = new PayOrderQueryDto(); |
| | | queryDto.setBizId("xp-robotaxi"); |
| | | queryDto.setBizOrderId(order.getBusinessOrderId()); |
| | | R<PayOrderQueryVo> payOrderQueryVoR = xpPayFrontClient.queryPayOrder(queryDto); |
| | | if(payOrderQueryVoR.getCode()==200){ |
| | | PayOrderQueryVo payOrderQueryVo = payOrderQueryVoR.getData(); |
| | | if(payOrderQueryVo.getPayStatus()==1){ |
| | | // 支付成功 |
| | | order.setStatus(9); |
| | | order.setAppUserId(null); |
| | | order.setAuthOrderId(payOrderQueryVo.getPayOrderId()); |
| | | |
| | | if(payOrderQueryVo.getPayType()==13){ |
| | | order.setPayType(3); |
| | | } |
| | | |
| | | this.updateById(order); |
| | | |
| | | // 财务推送 |
| | | xpFrdXfipEventPush(order,payOrderQueryVo.getAmount(),payOrderQueryVo.getPayOrderId()); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | OrderStatusFromOrderIdVo orderStatusFromOrderIdVo = new OrderStatusFromOrderIdVo(); |
| | | orderStatusFromOrderIdVo.setOrderId(order.getId()); |
| | | orderStatusFromOrderIdVo.setStatus(order.getStatus()); |
| | | return orderStatusFromOrderIdVo; |
| | | } |
| | | |
| | | @Override |
| | | public void creditPayCall(XpOrder order) { |
| | | |
| | | |
| | | CreditOrderWxPayDto dto = new CreditOrderWxPayDto(); |
| | | dto.setBusinessId("xp-robotaxi"); |
| | | dto.setBusinessOrderId(order.getBusinessOrderId()); |
| | | dto.setAuthOrderId(order.getAuthOrderId()); |
| | | dto.setCategory("009001"); |
| | | dto.setPayCallbackUrl(""); |
| | | dto.setTotalAmount(order.getOrderMoney().multiply(BigDecimal.valueOf(100)).longValue()); |
| | | dto.setSubject("小鹏集团|robotaxi"); |
| | | dto.setPayType("13"); |
| | | List<CreditOrderCreateDto.PostPayment> postPayments = new ArrayList<>(); |
| | | CreditOrderCreateDto.PostPayment postPayment = new CreditOrderCreateDto.PostPayment(); |
| | | postPayment.setName("收费标准"); |
| | | postPayment.setDescription("行程价格动态浮动,具体详情可在费用详情或计价规则查看"); |
| | | dto.setPostPayments(postPayments); |
| | | R<CreditOrderWxPayVo> creditOrderWxPayVoR = xpPayFrontClient.creditOrderWxPay(dto); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 对接财务数据推送 |
| | | * @param order |
| | | */ |
| | | @Override |
| | | public void xpFrdXfipEventPush(XpOrder order,Long payFee,String orderId) { |
| | | |
| | | if(order.getFrdXfipEvenetStatus()==1){ |
| | | return; |
| | | } |
| | | |
| | | XpFrdXfipEventIngestReqDTO xpFrdXfipEventIngestReqDTO = new XpFrdXfipEventIngestReqDTO(); |
| | | xpFrdXfipEventIngestReqDTO.setEventId("RT_04"); |
| | | xpFrdXfipEventIngestReqDTO.setBusinessLine("RT"); |
| | | xpFrdXfipEventIngestReqDTO.setReqId(OrderCodeUtil.getOrderCode("FRDXFOPEVENT")); |
| | | |
| | | XpFrdXfipEventIngestContentDTO xpFrdXfipEventIngestContentDTO = new XpFrdXfipEventIngestContentDTO(); |
| | | xpFrdXfipEventIngestContentDTO.setCompanyCode("8000"); |
| | | xpFrdXfipEventIngestContentDTO.setOrderType("SELF_OPERATED"); |
| | | xpFrdXfipEventIngestContentDTO.setBusinessOrderNo(order.getMainOrderId()); |
| | | xpFrdXfipEventIngestContentDTO.setSubOrderNo(order.getBusinessOrderId()); |
| | | xpFrdXfipEventIngestContentDTO.setPaymentType("POST_PAY"); |
| | | xpFrdXfipEventIngestContentDTO.setOrderStatus("结算完成"); |
| | | xpFrdXfipEventIngestContentDTO.setSettlementDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); |
| | | xpFrdXfipEventIngestContentDTO.setMaterialNo("XE2000398"); |
| | | xpFrdXfipEventIngestContentDTO.setBusinessPartnerCode("5004901"); |
| | | xpFrdXfipEventIngestContentDTO.setCurrency("CNY"); |
| | | |
| | | xpFrdXfipEventIngestContentDTO.setConfirmedRevenueAmount(order.getOrderMoney()); |
| | | xpFrdXfipEventIngestContentDTO.setCashCollectedAmount(new BigDecimal(payFee).divide(BigDecimal.valueOf(100), 2,RoundingMode.HALF_UP)); |
| | | |
| | | xpFrdXfipEventIngestContentDTO.setCouponConsumedTotal(order.getCouponMoney()==null?BigDecimal.ZERO:order.getCouponMoney()); |
| | | |
| | | xpFrdXfipEventIngestContentDTO.setPaymentFlowNo(orderId); |
| | | xpFrdXfipEventIngestContentDTO.setPaymentFlowAmount(new BigDecimal(payFee).divide(BigDecimal.valueOf(100), 2,RoundingMode.HALF_UP)); |
| | | xpFrdXfipEventIngestContentDTO.setPaymentChannel("WECHAT"); |
| | | |
| | | if(order.getCouponId()!=null){ |
| | | ArrayList<XpFrdXfipEventCouponLineDTO> list = new ArrayList<>(1); |
| | | XpFrdXfipEventCouponLineDTO xpFrdXfipEventCouponLineDTO = new XpFrdXfipEventCouponLineDTO(); |
| | | xpFrdXfipEventCouponLineDTO.setCouponId(String.valueOf(order.getCouponId())); |
| | | xpFrdXfipEventCouponLineDTO.setCouponType("ACTIVITY"); |
| | | // xpFrdXfipEventCouponLineDTO.setCouponIssuerCompanyCode("5004901"); |
| | | // xpFrdXfipEventCouponLineDTO.setSelfBorneAmount(order.getCouponMoney()); |
| | | // xpFrdXfipEventCouponLineDTO.setThirdPartyBorneAmount(BigDecimal.ZERO); |
| | | xpFrdXfipEventCouponLineDTO.setCouponDeductionAmount(order.getCouponMoney()); |
| | | xpFrdXfipEventCouponLineDTO.setCouponIssuerCompanyCode("8000"); |
| | | list.add(xpFrdXfipEventCouponLineDTO); |
| | | xpFrdXfipEventIngestContentDTO.setCouponLines(list); |
| | | } |
| | | |
| | | xpFrdXfipEventIngestReqDTO.setContent(xpFrdXfipEventIngestContentDTO); |
| | | R<XpFrdXfipEventIngestRespVO> ingest = xpFrdXfipEventClient.ingest(xpFrdXfipEventIngestReqDTO); |
| | | if(ingest.getCode()==200){ |
| | | XpFrdXfipEventIngestRespVO data = ingest.getData(); |
| | | if(!data.getReceiveStatus().equals("REJECTED")){ |
| | | // 推送成功 |
| | | order.setFrdXfipEvenetStatus(1); |
| | | order.setFrdXfipEvenetId(data.getEventId()); |
| | | }else { |
| | | // 推送失败 |
| | | order.setFrdXfipEvenetStatus(2); |
| | | order.setFrdXfipEvenetId(data.getEventId()); |
| | | } |
| | | log.info("xpFrdXfipEventPush:{}",data); |
| | | }else { |
| | | // 重试1次 |
| | | ingest = xpFrdXfipEventClient.ingest(xpFrdXfipEventIngestReqDTO); |
| | | XpFrdXfipEventIngestRespVO data = ingest.getData(); |
| | | if(ingest.getCode()==200){ |
| | | if(!data.getReceiveStatus().equals("REJECTED")){ |
| | | // 推送成功 |
| | | order.setFrdXfipEvenetStatus(1); |
| | | order.setFrdXfipEvenetId(data.getEventId()); |
| | | }else { |
| | | // 推送失败 |
| | | order.setFrdXfipEvenetStatus(2); |
| | | order.setFrdXfipEvenetId(data.getEventId()); |
| | | } |
| | | log.info("xpFrdXfipEventPush:{}",data); |
| | | }else { |
| | | // 推送失败 |
| | | order.setFrdXfipEvenetStatus(2); |
| | | order.setFrdXfipEvenetId(data.getEventId()); |
| | | } |
| | | log.info("xpFrdXfipEventPush:{}",ingest.getMsg()); |
| | | } |
| | | order.setAppUserId(null); |
| | | updateById(order); |
| | | } |
| | | |
| | | |
| | |
| | | // 通过uid 和时间查出来数据 先判断是否传入了分页 |
| | | if (query.getPageNo()!=null && query.getPageSize()!=null) { |
| | | Page<XpOrder> page = new Page<>(query.getPageNo(), query.getPageSize()); |
| | | Page<XpOrder> orderPage = this.baseMapper.selectPage(page, new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.valueOf(query.getUid())).ge(XpOrder::getStatus, 9).between(BaseModel::getCreateTime, startTime, endTime)); |
| | | Page<XpOrder> orderPage = this.baseMapper.selectPage(page, new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.valueOf(query.getUid())).ge(XpOrder::getStatus, 9).between(BaseModel::getCreateTime, startTime, endTime).orderByDesc(BaseModel::getCreateTime)); |
| | | list = orderPage.getRecords(); |
| | | }else { |
| | | list = this.baseMapper.selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.valueOf(query.getUid())).ge(XpOrder::getStatus, 9).between(BaseModel::getCreateTime, startTime, endTime)); |
| | | list = this.baseMapper.selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.valueOf(query.getUid())).ge(XpOrder::getStatus, 9).between(BaseModel::getCreateTime, startTime, endTime).orderByDesc(BaseModel::getCreateTime)); |
| | | } |
| | | |
| | | if(list.isEmpty()){ |
| | |
| | | xpInvoiceVo.setOrderNo(xpOrder.getOrderNumber()); |
| | | xpInvoiceVo.setOrderTotalAmount(xpOrder.getOrderMoney()); |
| | | xpInvoiceVo.setOrderDiscountAmount(xpOrder.getCouponMoney()); |
| | | xpInvoiceVo.setOrderFinishTime(String.valueOf(xpOrder.getTripEnd())); |
| | | xpInvoiceVo.setOrderFinishTime(xpOrder.getTripEnd()!=null?String.valueOf(xpOrder.getTripEnd()):""); |
| | | xpInvoiceVo.setXpInvoiceFlag(true); |
| | | xpInvoiceVo.setInvoiceStatus(xpOrder.getInvoiceStatus()); |
| | | XpInvoiceVo.Itinerary itinerary = new XpInvoiceVo.Itinerary(); |
| | | // yyyy-MM-dd格式 |
| | | itinerary.setTripStartDate(xpOrder.getAcceptanceTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | itinerary.setTripEndDate(xpOrder.getTripEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | itinerary.setTripStartDate(xpOrder.getAcceptanceTime()!=null?xpOrder.getAcceptanceTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")):""); |
| | | itinerary.setTripEndDate(xpOrder.getTripEnd()!=null?xpOrder.getTripEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")):""); |
| | | |
| | | |
| | | XpVehicle xpVehicle = vehicleList.stream().filter(vehicle -> vehicle.getId().equals(xpOrder.getVehicleId())).findFirst().get(); |
| | | itinerary.setCarType(xpVehicle.getVehicleModel()); |
| | | itinerary.setTripStartDate(xpOrder.getBoardingTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | itinerary.setTripStartDate(xpOrder.getBoardingTime()!=null?xpOrder.getBoardingTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")):""); |
| | | |
| | | itinerary.setCity(xpOrder.getCityName()); |
| | | itinerary.setStartPoint(xpOrder.getStartAddress()); |