From c5936d1aa66c17b3b2a3cec84a18d587ed80683d Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 14 三月 2026 10:37:23 +0800
Subject: [PATCH] 优惠券修改

---
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/account/XpAppUserCoupon.java                        |    4 ++++
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java |    2 +-
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java    |    2 ++
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java             |   16 ++++++++++++++++
 4 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java
index abbf121..5a60f00 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java
@@ -29,6 +29,7 @@
 import org.springframework.stereotype.Controller;
 
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
@@ -104,6 +105,7 @@
     public R useUserCoupon(@RequestBody UseUserCouponDto dto) {
         XpAppUserCoupon appUserCoupon = xpAppUserCouponService.getById(dto.getUserCouponId());
         appUserCoupon.setStatus(2);
+        appUserCoupon.setUseTime(LocalDateTime.now());
         xpAppUserCouponService.updateById(appUserCoupon);
         return R.ok();
     }
diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
index e02dc70..87e00f8 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
@@ -157,7 +157,7 @@
                     xpAppUserCoupon.setMoney(xpCoupon.getAmount());
                     xpAppUserCoupon.setCouponId(dto.getCouponId());
                     xpAppUserCoupon.setAppUserId(uid);
-                    xpAppUserCoupon.setExpirationTime(LocalDateTime.now().plusDays(100));
+                    xpAppUserCoupon.setExpirationTime(LocalDateTime.now().plusDays(7));
                     xpAppUserCoupon.setStatus(1);
                     xpAppUserCoupon.setCouponType(xpCoupon.getCouponType());
                     xpAppUserCoupon.setPhone(phone);
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/account/XpAppUserCoupon.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/account/XpAppUserCoupon.java
index 2443204..cad0944 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/account/XpAppUserCoupon.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/account/XpAppUserCoupon.java
@@ -45,6 +45,10 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime expirationTime;
 
+    @ApiModelProperty(value = "使用时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime useTime;
+
     @ApiModelProperty(value = "状态(1=未使用,2=已使用,3=已过期)")
     private Integer status;
 
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 7fe2b13..c27669a 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
@@ -703,6 +703,22 @@
         // 更新订单状态为已完成(10)
         this.lambdaUpdate().set(XpOrder::getStatus, 10)
                 .eq(XpOrder::getId, order.getId()).update();
+
+
+        // 消息推送
+        Map<String, Object> params = new HashMap<>();
+        Map<String, Object> content = new HashMap<>();
+        content.put("orderId", order.getId().toString());
+        content.put("status", OrderStatusEnum.COMPLETED.getCode());
+        params.put("type", PushMessageTypeEnum.ORDER_STATUS.getDesc());
+        params.put("content", com.alibaba.fastjson2.JSONObject.toJSONString(content));
+        params.put("timestamp", new Date().getTime() + "");
+        String message = JSONObject.toJSONString(params);
+        SendMessageDTO sendMessageDTO = new SendMessageDTO();
+        sendMessageDTO.setMessage(message);
+        sendMessageDTO.setAppUserId(String.valueOf(order.getAppUserId()));
+        xpPushMessageClient.sendStatus(sendMessageDTO);
+        log.info("运营人员取消订单成功,推送乘客消息完成");
         log.info("订单关闭成功,订单ID: {}, 操作人: {}", order.getId(), SecurityUtils.getUsername());
     }
 

--
Gitblit v1.7.1