From 5c863676b014e5ae2fa601d89a83160b6e7a6c07 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 15 五月 2026 18:07:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.1' into 1.1
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 74 insertions(+), 15 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 b587e5d..9849bf4 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
@@ -22,9 +22,7 @@
import com.xiaopeng.api.dto.map.RouteAndFareDto;
import com.xiaopeng.api.dto.operation.LonLatDto;
import com.xiaopeng.api.dto.order.*;
-import com.xiaopeng.api.dto.payFront.CreditOrderCreateDto;
-import com.xiaopeng.api.dto.payFront.CreditPaySignQueryDto;
-import com.xiaopeng.api.dto.payFront.CreditPrecreateDto;
+import com.xiaopeng.api.dto.payFront.*;
import com.xiaopeng.api.dto.pushMessage.SendMessageDTO;
import com.xiaopeng.api.dto.statistics.DailyCountDTO;
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
@@ -61,10 +59,8 @@
import com.xiaopeng.api.vo.operation.NearestNextVo;
import com.xiaopeng.api.vo.operation.RouteVo;
import com.xiaopeng.api.vo.order.*;
-import com.xiaopeng.api.vo.payFront.CreditOrderCreateVo;
-import com.xiaopeng.api.vo.payFront.CreditPaySignQueryVo;
+import com.xiaopeng.api.vo.payFront.*;
import com.xiaopeng.api.vo.order.FareBreakdownVo;
-import com.xiaopeng.api.vo.payFront.CreditPrecreateVo;
import com.xiaopeng.api.vo.vehicleConvoy.AddTaxiPassengerVo;
import com.xiaopeng.api.vo.vehicleConvoy.BluetoothDeliverVo;
import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo;
@@ -78,6 +74,7 @@
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.utils.DateUtils;
import com.xiaopeng.common.core.utils.GeodesyUtil;
+import com.xiaopeng.common.core.utils.OrderCodeUtil;
import com.xiaopeng.common.core.utils.StringUtils;
import com.xiaopeng.common.core.web.domain.BaseModel;
import com.xiaopeng.common.core.web.page.PageInfo;
@@ -3327,6 +3324,8 @@
public R payment(XpOrderPayDto dto, String uid) {
+ XpOrder order = this.getById(dto.getOrderId());
+
HashMap<String, Object> resultMap = new HashMap<>();
// 1.0 免密 //查询是否开通免密
@@ -3336,7 +3335,7 @@
creditPaySignQueryDto.setUid(Long.valueOf(uid));
creditPaySignQueryDto.setBusinessId("xp-robotaxi");
creditPaySignQueryDto.setCategory("009001");
- creditPaySignQueryDto.setBusinessOrderId("");
+ creditPaySignQueryDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
R<CreditPaySignQueryVo> creditPaySignQueryVoR = xpPayFrontClient.queryCreditPaySign(creditPaySignQueryDto);
if (creditPaySignQueryVoR.getCode()==200) {
CreditPaySignQueryVo data = creditPaySignQueryVoR.getData();
@@ -3353,9 +3352,9 @@
CreditOrderCreateDto creditOrderCreateDto = new CreditOrderCreateDto();
creditOrderCreateDto.setUid(Long.valueOf(uid));
creditOrderCreateDto.setBusinessId("xp-robotaxi");
- creditOrderCreateDto.setCategory("xp_robotaxi_api");
+ creditOrderCreateDto.setCategory("009001");
creditOrderCreateDto.setBusinessOrderId("");
- creditOrderCreateDto.setSubject("009001");
+ creditOrderCreateDto.setSubject("小鹏集团|robotaxi");
creditOrderCreateDto.setPayType("13");
@@ -3371,6 +3370,10 @@
CreditOrderCreateVo data = creditOrderCreateVoR.getData();
resultMap.put("status", 1);
resultMap.put("value", data);
+
+ order.setPayType(3);
+ order.setAuthOrderId(data.getAuthOrderId());
+
return R.ok(resultMap);
}
@@ -3378,7 +3381,6 @@
// 未签约
// 调用预下单接口
- XpOrder order = this.getById(dto.getOrderId());
CreditPrecreateDto creditPrecreateDto = new CreditPrecreateDto();
creditPrecreateDto.setUid(uid);
creditPrecreateDto.setBizId("xp-robotaxi");
@@ -4705,6 +4707,59 @@
return vo;
}
+ /**
+ * 查询订单状态
+ * @param orderId
+ * @return
+ */
+ @Override
+ public OrderStatusFromOrderIdVo queryOrderStatusFromOrderId(Long orderId) {
+
+ XpOrder order = this.getById(orderId);
+ if(order==null){
+ return null;
+ }
+ if(order.getPayType()==3){
+ // 免密查询 如果成功则调用结算
+ CreditOrderQueryDto dto = new CreditOrderQueryDto();
+ dto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+ dto.setAuthOrderId(order.getAuthOrderId());
+ dto.setPayType("13");
+ R<CreditOrderQueryVo> creditOrderQueryVoR = xpPayFrontClient.queryCreditOrder(dto);
+ if(creditOrderQueryVoR.getCode()==200){
+ CreditOrderQueryVo creditOrderQueryVo = creditOrderQueryVoR.getData();
+ if(creditOrderQueryVo.getCreditOrderStatus().equals("DONE")){
+ // 订单确认 需要吊起扣款
+ CreditOrderWxPayDto creditOrderWxPayDto = new CreditOrderWxPayDto();
+ creditOrderWxPayDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+ creditOrderWxPayDto.setAuthOrderId(order.getAuthOrderId());
+ creditOrderWxPayDto.setPayCallbackUrl("13");
+ creditOrderWxPayDto.setTotalAmount( order.getOrderMoney().multiply(BigDecimal.valueOf(100)).longValue());
+ creditOrderWxPayDto.setSubject("小鹏集团|robotaxi");
+ creditOrderWxPayDto.setPayType("13");
+
+ List<CreditOrderCreateDto.PostPayment> postPayments = new ArrayList<>();
+ CreditOrderCreateDto.PostPayment postPayment = new CreditOrderCreateDto.PostPayment();
+ postPayment.setName("收费标准");
+ postPayment.setDescription("行程价格动态浮动,具体详情可在费用详情或计价规则查看");
+ postPayments.add(postPayment);
+ creditOrderWxPayDto.setPostPayments(postPayments);
+ R<CreditOrderWxPayVo> creditOrderWxPayVoR = xpPayFrontClient.creditOrderWxPay(creditOrderWxPayDto);
+ }else if(creditOrderQueryVo.getCreditOrderStatus().equals("CREATED") || creditOrderQueryVo.getCreditOrderStatus().equals("DOING")){
+
+ }
+ }
+
+ }else {
+ // 微信支付也需要查询下
+
+ }
+ OrderStatusFromOrderIdVo orderStatusFromOrderIdVo = new OrderStatusFromOrderIdVo();
+ orderStatusFromOrderIdVo.setOrderId(order.getId());
+ orderStatusFromOrderIdVo.setStatus(order.getStatus());
+ return orderStatusFromOrderIdVo;
+ }
+
/**
* 发票列表
@@ -4714,18 +4769,22 @@
@Override
public List<XpInvoiceVo> invoiceList(XpOrderInvoiceQuery query) {
- // 格式:yyyyMM 转yyyy-MM
- query.setStartTime(query.getStartTime().substring(0, 4) + "-" + query.getStartTime().substring(4, 6));
- query.setEndTime(query.getEndTime().substring(0, 4) + "-" + query.getEndTime().substring(4, 6));
+ DateTimeFormatter monthFormatter = DateTimeFormatter.ofPattern("yyyyMM");
+ LocalDateTime startTime = YearMonth.parse(query.getStartTime(), monthFormatter)
+ .atDay(1)
+ .atStartOfDay();
+ LocalDateTime endTime = YearMonth.parse(query.getEndTime(), monthFormatter)
+ .atEndOfMonth()
+ .atTime(23, 59, 59);
List<XpOrder> list =null;
// 通过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, query.getStartTime(), query.getEndTime()));
+ 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));
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, query.getStartTime(), query.getEndTime()));
+ list = this.baseMapper.selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.valueOf(query.getUid())).ge(XpOrder::getStatus, 9).between(BaseModel::getCreateTime, startTime, endTime));
}
if(list.isEmpty()){
--
Gitblit v1.7.1