From 37c866f665fc1d2255f0442f92516c686c6c9edf Mon Sep 17 00:00:00 2001
From: kong <sunuping1@sina.com>
Date: 星期日, 12 四月 2026 16:55:52 +0800
Subject: [PATCH] add 优惠券切换

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java |   14 +++++++++++++-
 1 files changed, 13 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 55a3424..04529fe 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
@@ -10,6 +10,8 @@
 import com.xiaopeng.account.model.vo.XpAppUserCouponVo;
 import com.xiaopeng.account.service.IXpAppUserCouponService;
 import com.xiaopeng.api.dto.account.GetUserCouponDto;
+import com.xiaopeng.api.dto.account.NavigationCouponPickerRequest;
+import com.xiaopeng.api.vo.account.NavigationCouponPickerVo;
 import com.xiaopeng.api.dto.account.UseUserCouponDto;
 import com.xiaopeng.api.feignClient.account.UserResourcesClient;
 import com.xiaopeng.api.feignClient.operation.XpCouponClient;
@@ -23,6 +25,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.Arrays;
@@ -106,7 +109,7 @@
                 userCouponVo.setMoney(discountUserCoupons.get(0).getMoney().doubleValue());
                 return R.ok(userCouponVo);
             }
-            List<XpAppUserCoupon> fullUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 2 && e.getFullMoney().doubleValue()>dto.getTotalAmount()).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList());
+            List<XpAppUserCoupon> fullUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 2 && dto.getTotalAmount() >= e.getFullMoney().doubleValue()).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList());
             if(!fullUserCoupons.isEmpty()){
                 userCouponVo.setId(fullUserCoupons.get(0).getId());
                 userCouponVo.setMoney(fullUserCoupons.get(0).getMoney().doubleValue());
@@ -133,6 +136,15 @@
     /**
      * 获取优惠券列表
      */
+    @PostMapping("/api/v1/mini-program/coupon/navigation-picker")
+    @ApiOperation(value = "导航下单-选券弹窗(排序、最佳优惠、气泡文案)", tags = {"小程序-优惠券"})
+    @XpClientCheck(checkToken = false, checkOtpToken = true)
+    public R<NavigationCouponPickerVo> navigationCouponPicker(@RequestBody @Valid NavigationCouponPickerRequest request,
+                                                              HttpServletRequest httpRequest) {
+        String uid = httpRequest.getHeader("XP-Uid");
+        return R.ok(xpAppUserCouponService.navigationCouponPicker(Long.valueOf(uid), request));
+    }
+
     @PostMapping("/api/v1/mini-program/coupon/list")
     @ApiOperation(value = "获取用户获取优惠券列表", tags = {"小程序-获取用户获取优惠券列表"})
     @XpClientCheck(checkToken = false, checkOtpToken = true)

--
Gitblit v1.7.1