From 1a787ef055b0928a4dad02fc81e737e21965f70d Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 23 四月 2026 22:29:50 +0800
Subject: [PATCH] Merge branch '1.0' 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/BootCommonService.java | 73 +++++++++++++++++++++++++++++++-----
1 files changed, 63 insertions(+), 10 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/BootCommonService.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/BootCommonService.java
index acb08bc..f0bdca0 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/BootCommonService.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/BootCommonService.java
@@ -1,17 +1,27 @@
package com.xiaopeng.order.service;
+import cn.hutool.core.util.StrUtil;
import com.xiaopeng.api.feignClient.operation.XpPricingClient;
+import com.xiaopeng.api.feignClient.pushMessage.SubscribeMessageClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
+import com.xiaopeng.api.vo.pushMessage.SendSubscribeMessageVo;
import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.enums.MessageTemplateEnum;
+import com.xiaopeng.common.core.enums.OrderStatusEnum;
import com.xiaopeng.common.core.exception.ServiceException;
+import com.xiaopeng.common.redis.service.RedisService;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
@Service
public class BootCommonService {
@@ -23,7 +33,12 @@
@Resource
@Lazy
private IXpOrderService xpOrderService;
-// @Override
+ @Resource
+ private RedisService redisService;
+ @Resource
+ private SubscribeMessageClient subscribeMessageClient;
+
+
public XpOrder getXpOrder(Long orderId) {
XpOrder xpOrder = xpOrderService.getById(orderId);
@@ -32,7 +47,6 @@
}
return xpOrder;
}
-// @Override
public XpVehicle getXpVehicle(Long vehicleId) {
R<XpVehicle> xpVehicleR = xpVehicleClient.queryById(vehicleId);
@@ -41,7 +55,6 @@
}
return xpVehicleR.getData();
}
-// @Override
public String getVehicleModelId(Long orderId) {
if(orderId!= null){
XpOrder xpOrder = getXpOrder(orderId);
@@ -51,7 +64,6 @@
return null;
}
-// @Override
public XpPricing getPricingByCid(Long cityId, String vehicleModelId) {
R<XpPricing> xpPricingR = xpPricingClient.getPricingByCid(cityId,vehicleModelId);
if (xpPricingR.getCode() != R.SUCCESS || xpPricingR.getData() == null) {
@@ -60,8 +72,6 @@
}
return xpPricingR.getData();
}
-
-// @Override
public XpPricing getXpPricing(Long orderId) {
if(orderId != null){
XpOrder xpOrder = getXpOrder(orderId);
@@ -69,8 +79,6 @@
}
return null;
}
-
-// @Override
public XpPricing getXpPricing(Long cityId, Long vehicleId) {
String vehicleModelId = null;
if(vehicleId != null){
@@ -79,8 +87,6 @@
}
return getPricingByCid(cityId, vehicleModelId);
}
-
-// @Override
public XpPricing getXpPricing(Long cityId, Long orderId, Long vehicleId) {
String vehicleModelId = null;
if(vehicleId != null ){
@@ -96,6 +102,53 @@
}
+ /**
+ * 设置缓存订单状态
+ * 并发送微信通知
+ * @param xpOrderId 订单id
+ * @param order OrderStatusEnum 订单状态
+ * oldStatus 订单旧状态
+ */
+ public void setCache_orderStatus(Long xpOrderId, XpOrder order ,OrderStatusEnum status) {
+ if(order == null){
+ order = xpOrderService.getById(xpOrderId);
+ }
+ redisService.setCacheObject("ORDER_STATUS:" + xpOrderId, status.getCode(), 24L, TimeUnit.HOURS);
+
+ SendSubscribeMessageVo vo = new SendSubscribeMessageVo();
+ vo.setUserId(order.getAppUserId());
+ String json = null;
+ if(order.getStatus() == OrderStatusEnum.PENDING_ORDER.getCode()){
+ String plateNumber = null;
+ // 查询车辆
+ XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
+ if(xpVehicle != null){
+ plateNumber = xpVehicle.getPlateNumber();
+ }
+ if(StrUtil.isNotBlank(plateNumber)){
+ vo.setTemplateId(MessageTemplateEnum.E.getTemplateId());
+ json = MessageTemplateEnum.E.getRemarks();
+ json = json.replace("车牌号", plateNumber);
+ json = json.replace("报警时间", LocalDateTime.now().toString());
+ }
+ }else{
+
+ vo.setTemplateId(MessageTemplateEnum.A.getTemplateId());
+ json = MessageTemplateEnum.A.getRemarks();
+ json = json.replace("订单编号", order.getOrderNumber());
+ json = json.replace("订单状态", status.getDesc() );
+ json = json.replace("订单状态", OrderStatusEnum.getDescByCode(order.getStatus()));
+ json = json.replace("备注", "");
+ json = json.replace("时间", LocalDateTime.now().toString());
+ vo.setPage("");
+ }
+ if(StrUtil.isNotBlank(json)){
+ vo.setJson(json);
+ subscribeMessageClient.sendSubscribeMessage(vo);
+ }
+
+ }
+
}
--
Gitblit v1.7.1