From da5cf3d82ea1044c338513147b0078be031465a0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 20 五月 2026 14:54:10 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 92 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 73 insertions(+), 19 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index fc3b1a3..0072100 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -4883,7 +4883,7 @@
if(order.getPayType()==3){
// 免密查询 如果成功则调用结算
CreditOrderQueryDto dto = new CreditOrderQueryDto();
- dto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+ dto.setBusinessOrderId(order.getBusinessOrderId());
dto.setAuthOrderId(order.getAuthOrderId());
dto.setPayType("13");
R<CreditOrderQueryVo> creditOrderQueryVoR = xpPayFrontClient.queryCreditOrder(dto);
@@ -5093,17 +5093,46 @@
ArrayList<XpInvoiceVo> xpInvoiceVoList = new ArrayList<>(list.size());
- R<List<XpVehicle>> r = xpVehicleClient.listByIds(list.stream().map(XpOrder::getVehicleId).collect(Collectors.toList()));
- List<XpVehicle> vehicleList = r.getData();
-
// 数据组装
for (XpOrder xpOrder : list) {
XpInvoiceVo xpInvoiceVo = new XpInvoiceVo();
xpInvoiceVo.setUid(xpOrder.getAppUserId().toString());
xpInvoiceVo.setOrderNo(xpOrder.getOrderNumber());
- xpInvoiceVo.setOrderTotalAmount(xpOrder.getOrderMoney());
+
+ BigDecimal orderMoney = xpOrder.getOrderMoney() == null ? BigDecimal.ZERO : xpOrder.getOrderMoney();
+ XpInvoiceVo.GoodsDetail goodsDetail = new XpInvoiceVo.GoodsDetail();
+ goodsDetail.setProductName("Robotaxi出行服务");
+ goodsDetail.setProductCode(null);
+ goodsDetail.setProductSpecCode("XE2000398");
+ goodsDetail.setProductSpec(null);
+ goodsDetail.setProductUnit("次");
+ goodsDetail.setQuantity(1);
+ goodsDetail.setUnitPrice(orderMoney);
+ goodsDetail.setInTaxAmount(orderMoney);
+ goodsDetail.setTaxRate(null);
+ goodsDetail.setTaxAmount(null);
+ goodsDetail.setExTaxAmount(null);
+ goodsDetail.setItemId(xpOrder.getOrderNumber());
+ goodsDetail.setCouponAmount(xpOrder.getCouponMoney());
+ goodsDetail.setCompanyCode("8000");
+ xpInvoiceVo.setGoodsDetail(JSON.toJSONString(goodsDetail));
+
+ xpInvoiceVo.setOrderTotalAmount(xpOrder.getPayMoney());
+ xpInvoiceVo.setOrderBusAmount(xpOrder.getOrderMoney());
+
xpInvoiceVo.setOrderDiscountAmount(xpOrder.getCouponMoney());
xpInvoiceVo.setOrderFinishTime(xpOrder.getTripEnd()!=null?String.valueOf(xpOrder.getTripEnd()):"");
+
+
+ JSONObject extData = new JSONObject();
+ extData.put("companyCode", "8000");
+ extData.put("realCompanyCode", null);
+ extData.put("siteName",null);
+ extData.put("pile", null);
+ extData.put("payFag", null);
+ extData.put("supplierCode", null);
+ xpInvoiceVo.setExtData(JSON.toJSONString(extData));
+
xpInvoiceVo.setXpInvoiceFlag(true);
xpInvoiceVo.setInvoiceStatus(xpOrder.getInvoiceStatus());
XpInvoiceVo.Itinerary itinerary = new XpInvoiceVo.Itinerary();
@@ -5112,14 +5141,11 @@
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()!=null?xpOrder.getBoardingTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")):"");
- itinerary.setCity(xpOrder.getCityName());
itinerary.setStartPoint(xpOrder.getStartAddress());
itinerary.setEndPoint(xpOrder.getEndAddress());
- itinerary.setMileage(null == xpOrder.getMileageKilometers() ? "0" : xpOrder.getMileageKilometers().toString());
+ itinerary.setMileage(xpOrder.getMileageKilometers()!=null ? xpOrder.getMileageKilometers().toString() :"0");
itinerary.setAmount(xpOrder.getOrderMoney());
xpInvoiceVo.setItinerary(itinerary);
@@ -5155,26 +5181,54 @@
XpInvoiceVo xpInvoiceVo = new XpInvoiceVo();
xpInvoiceVo.setUid(xpOrder.getAppUserId().toString());
xpInvoiceVo.setOrderNo(xpOrder.getOrderNumber());
- xpInvoiceVo.setOrderTotalAmount(xpOrder.getOrderMoney());
+
+ BigDecimal orderMoney = xpOrder.getOrderMoney() == null ? BigDecimal.ZERO : xpOrder.getOrderMoney();
+ XpInvoiceVo.GoodsDetail goodsDetail = new XpInvoiceVo.GoodsDetail();
+ goodsDetail.setProductName("Robotaxi出行服务");
+ goodsDetail.setProductCode(null);
+ goodsDetail.setProductSpecCode("XE2000398");
+ goodsDetail.setProductSpec(null);
+ goodsDetail.setProductUnit("次");
+ goodsDetail.setQuantity(1);
+ goodsDetail.setUnitPrice(orderMoney);
+ goodsDetail.setInTaxAmount(orderMoney);
+ goodsDetail.setTaxRate(null);
+ goodsDetail.setTaxAmount(null);
+ goodsDetail.setExTaxAmount(null);
+ goodsDetail.setItemId(xpOrder.getOrderNumber());
+ goodsDetail.setCouponAmount(xpOrder.getCouponMoney());
+ goodsDetail.setCompanyCode("8000");
+ xpInvoiceVo.setGoodsDetail(JSON.toJSONString(goodsDetail));
+
+ xpInvoiceVo.setOrderTotalAmount(xpOrder.getPayMoney());
+ xpInvoiceVo.setOrderBusAmount(xpOrder.getOrderMoney());
+
xpInvoiceVo.setOrderDiscountAmount(xpOrder.getCouponMoney());
- xpInvoiceVo.setOrderFinishTime(String.valueOf(xpOrder.getTripEnd()));
+ xpInvoiceVo.setOrderFinishTime(xpOrder.getTripEnd()!=null?String.valueOf(xpOrder.getTripEnd()):"");
+
+
+ JSONObject extData = new JSONObject();
+ extData.put("companyCode", "8000");
+ extData.put("realCompanyCode", null);
+ extData.put("siteName",null);
+ extData.put("pile", null);
+ extData.put("payFag", null);
+ extData.put("supplierCode", null);
+ xpInvoiceVo.setExtData(JSON.toJSONString(extData));
+
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());
itinerary.setEndPoint(xpOrder.getEndAddress());
- itinerary.setMileage(xpOrder.getMileageKilometers().toString());
- itinerary.setAmount(xpOrder.getOrderMoney());
+ itinerary.setMileage(xpOrder.getMileageKilometers()!=null ? xpOrder.getMileageKilometers().toString() :"0");
xpInvoiceVo.setItinerary(itinerary);
xpInvoiceVoList.add(xpInvoiceVo);
--
Gitblit v1.7.1