From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 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 05928fb..d568e8f 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
@@ -31,6 +31,9 @@
 import com.xiaopeng.api.vo.account.UserCouponVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.web.page.PageInfo;
+import com.xiaopeng.common.log.annotation.AdminOperationLog;
+import com.xiaopeng.common.log.enums.AdminBusinessType;
+import com.xiaopeng.common.log.enums.AdminOperationType;
 import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
@@ -44,6 +47,9 @@
 import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
+import com.xiaopeng.common.log.annotation.AdminOperationLog;
+import com.xiaopeng.common.log.enums.AdminBusinessType;
+import com.xiaopeng.common.log.enums.AdminOperationType;
 
 /**
  * <p>
@@ -89,6 +95,12 @@
 
     @PostMapping("/v1/api/appUserCoupon/deleteByIds")
     @ApiOperation(value = "根据ids删除用户优惠券", tags = {"管理后台-白名单-删除用户优惠券"})
+    @AdminOperationLog(
+            businessType = AdminBusinessType.APP_USER_COUPON,
+            operationType = AdminOperationType.DELETE,
+            content = "根据ids删除用户优惠券",
+            appendRequestData = true
+    )
     public R<Boolean> deleteByIds(@RequestBody XpAppUserCouponPageListQuery query  ) {
         if (query.getIds() == null || query.getIds().isEmpty()) {
             return R.fail("ID列表不能为空");
@@ -111,7 +123,9 @@
 
         UserCouponVo userCouponVo = new UserCouponVo();
         // 获取用户所有优惠券
-        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()) );
+        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()));
         if(couponList.isEmpty()){
             return R.ok(userCouponVo);
         }
@@ -136,18 +150,21 @@
         if(dto.getUserCouponId()!=null){
             XpAppUserCoupon coupon = couponList.get(0);
             userCouponVo.setId(coupon.getId());
+            userCouponVo.setCouponType(coupon.getCouponType());
             userCouponVo.setMoney(coupon.getMoney().doubleValue());
             return R.ok(userCouponVo);
         }else {
             // 优先用满足条件且抵扣金额最大的
             List<XpAppUserCoupon> discountUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 1).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList());
             if(!discountUserCoupons.isEmpty()){
+                userCouponVo.setCouponType(discountUserCoupons.get(0).getCouponType());
                 userCouponVo.setId(discountUserCoupons.get(0).getId());
                 userCouponVo.setMoney(discountUserCoupons.get(0).getMoney().doubleValue());
                 return R.ok(userCouponVo);
             }
             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.setCouponType(fullUserCoupons.get(0).getCouponType());
                 userCouponVo.setId(fullUserCoupons.get(0).getId());
                 userCouponVo.setMoney(fullUserCoupons.get(0).getMoney().doubleValue());
                 return R.ok(userCouponVo);
@@ -258,7 +275,7 @@
 //            phone = JSONObject.parseObject(data.toString()).getString("mobile");
 //        }
         XpAppUserCoupon coupon = xpAppUserCouponService.getById(couponId);
-        if(uid.equals(coupon.getAppUserId().toString())){
+        if(Long.valueOf(uid).equals(coupon.getAppUserId())){
             XpAppUserCouponListVo vo = new XpAppUserCouponListVo();
             vo.setCouponId(coupon.getId().toString());
             vo.setTitle(coupon.getCouponName());
@@ -315,6 +332,12 @@
 
     @PostMapping("/api/v1/appUserCoupon/saveInfo_activity")
     @ApiOperation(value = "活动发放优惠券", tags = {"管理后台-活动发放优惠券"})
+    @AdminOperationLog(
+            businessType = AdminBusinessType.APP_USER_COUPON,
+            operationType = AdminOperationType.ISSUE,
+            content = "活动发放优惠券",
+            appendRequestData = true
+    )
     public R<String> saveInfo_activity(@RequestBody UseUserCouponDto dto) {
         xpAppUserCouponService.saveInfo_activity(dto);
         return R.ok();
@@ -324,6 +347,12 @@
      */
     @PostMapping("/api/v1/appUserCoupon/send")
     @ApiOperation(value = "发放优惠券", tags = {"管理后台-发放优惠券"})
+    @AdminOperationLog(
+            businessType = AdminBusinessType.APP_USER_COUPON,
+            operationType = AdminOperationType.ISSUE,
+            content = "发放优惠券",
+            appendRequestData = true
+    )
     public R<String> send(@RequestBody SendCouponDto dto) {
         xpAppUserCouponService.send(dto);
         return R.ok();
@@ -400,7 +429,7 @@
      * @return
      */
     @PostMapping("/logan/inner/appUserCoupon/calculateDiscountAmount")
-    public R<BigDecimal> calculateDiscountAmount(@RequestParam CalculateDiscountAmountVo vo){
+    public R<BigDecimal> calculateDiscountAmount(@RequestBody CalculateDiscountAmountVo vo){
         BigDecimal bigDecimal = xpAppUserCouponService.calculateDiscountAmount(vo);
         return R.ok(bigDecimal);
     }

--
Gitblit v1.7.1