From 67db945bbfd7ae08335652c30537a68e443deb78 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 15 三月 2026 16:22:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java |   15 ++++++++++++++-
 1 files changed, 14 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 b93ad8a..28c2e7e 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
@@ -77,14 +77,26 @@
 
         UserCouponVo userCouponVo = new UserCouponVo();
         // 获取用户所有优惠券
-        List<XpAppUserCoupon> couponList = xpAppUserCouponService.list(new LambdaQueryWrapper<XpAppUserCoupon>().eq(XpAppUserCoupon::getStatus, 1).eq(XpAppUserCoupon::getAppUserId,dto.getUserId()).apply("(FIND_IN_SET({0}, open_city_id) or open_city_id='0')", dto.getOpenCityId()) );
+        List<XpAppUserCoupon> couponList = xpAppUserCouponService.list(new LambdaQueryWrapper<XpAppUserCoupon>().eq(dto.getUserCouponId()!=null,XpAppUserCoupon::getId, dto.getUserCouponId()).eq(XpAppUserCoupon::getStatus, 1).eq(XpAppUserCoupon::getAppUserId,dto.getUserId()).apply("(FIND_IN_SET({0}, open_city_id) or open_city_id='0')", dto.getOpenCityId()) );
         if(couponList.isEmpty()){
             return R.ok(userCouponVo);
         }
         // 计算使用时间规则
         couponList = xpAppUserCouponService.timeRule(couponList);
         if(couponList.isEmpty()){
+            if(dto.getUserCouponId()!=null){
+                userCouponVo.setStatus(2);
+            }
             return R.ok(userCouponVo);
+        }
+        if(dto.getUserCouponId()!=null){
+            XpAppUserCoupon coupon = couponList.get(0);
+            // 判断是否满足金额
+            if(coupon.getCouponType()==2){
+                if(dto.getTotalAmount()<coupon.getFullMoney().doubleValue()){
+                    userCouponVo.setStatus(2);
+                }
+            }
         }
 
         // 优先用满足条件且抵扣金额最大的
@@ -115,6 +127,7 @@
 
 
 
+
     /**
      * 获取优惠券列表
      */

--
Gitblit v1.7.1