From 09e0146b9379e06351e7bd5b9bdc5b1700ab133b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 15 四月 2026 18:30:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderReassignServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderReassignServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderReassignServiceImpl.java
index 566f73d..5ae06c6 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderReassignServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderReassignServiceImpl.java
@@ -1,10 +1,18 @@
package com.xiaopeng.order.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.order.XpOrderReassign;
+import com.xiaopeng.common.core.enums.OrderStatusEnum;
import com.xiaopeng.order.mapper.XpOrderReassignMapper;
import com.xiaopeng.order.service.IXpOrderReassignService;
+import com.xiaopeng.order.service.IXpOrderService;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
/**
* <p>
@@ -17,4 +25,52 @@
@Service
public class XpOrderReassignServiceImpl extends ServiceImpl<XpOrderReassignMapper, XpOrderReassign> implements IXpOrderReassignService {
+ @Resource
+ private IXpOrderService xpOrderService;
+
+ /**
+ * 获取没有完成的数据
+ * @return
+ */
+ @Override
+ public List<XpOrderReassign> findListNotComplete(){
+ return baseMapper.findListNotComplete();
+ }
+
+ public XpOrderReassign getByOrderId(Long orderId){
+ LambdaQueryWrapper<XpOrderReassign> query = new LambdaQueryWrapper<>();
+ query.eq(XpOrderReassign::getOrderId,orderId);
+ return super.getOne(query);
+ }
+
+ @Override
+ public boolean saveInfo(XpOrderReassign entity){
+ boolean b = false;
+ XpOrderReassign byOrderId = getByOrderId(entity.getOrderId());
+
+ entity.setUpdateTime(LocalDateTime.now());
+ if(byOrderId == null){
+ entity.setCreateTime(LocalDateTime.now());
+ b = save(entity);
+ }else{
+ boolean canceled = false;
+ //修改数据 改派大于等于3次后将取消订单
+ entity.setId(byOrderId.getId());
+ entity.setReassignNum(byOrderId.getReassignNum()+1);
+
+ if(!entity.getIsComplete() && entity.getReassignNum()>=3){//在改派订单中未获取到车辆 并改派次数 >=3 则直接完成
+ entity.setIsComplete(true);
+ entity.setRemarks("改派3此后未获取匹配车辆,系统强制取消订单");
+ canceled = true;
+ }
+ b = updateById(entity);
+ //是否取消订单
+ if(canceled){
+ xpOrderService.updateOrderStatus(entity.getOrderId(),OrderStatusEnum.CANCELED.getCode());
+ }
+ }
+ return b;
+ }
+
+
}
--
Gitblit v1.7.1