From c8bd790078b64343fc9dce0e36b5cc8c03e50e80 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 28 四月 2026 14:51:45 +0800
Subject: [PATCH] 新增加活动接口

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 45 insertions(+), 4 deletions(-)

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 af05a11..5e50cb1 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
@@ -16,6 +16,9 @@
 import com.xiaopeng.account.model.vo.XpAppUserCouponVo;
 import com.xiaopeng.account.service.IXpAppUserCouponService;
 import com.xiaopeng.account.util.holiday.HolidayUtil;
+import com.xiaopeng.account.vo.CouponReceiptRecordDto;
+import com.xiaopeng.account.vo.CouponReceiptRecordVo;
+import com.xiaopeng.api.model.operation.XpWhitelist;
 import com.xiaopeng.api.vo.account.CouponVo;
 import com.xiaopeng.account.vo.UserCouponListVo;
 import com.xiaopeng.api.dto.account.NavigationCouponPickerRequest;
@@ -37,6 +40,7 @@
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.enums.MessageTemplateEnum;
 import com.xiaopeng.common.core.utils.DateUtils;
+import com.xiaopeng.common.core.utils.StringUtils;
 import com.xiaopeng.common.core.web.page.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
@@ -46,10 +50,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -589,4 +590,44 @@
         userCouponListVo.setNotUsableCouponList(notUsableCouponList);
         return userCouponListVo;
     }
+
+
+    /**
+     * 获取管理后台活动领取人员记录
+     * @param vo
+     * @return
+     */
+    public List<CouponReceiptRecordDto> getCouponReceiptRecord(PageInfo<CouponReceiptRecordDto> pageInfo, CouponReceiptRecordVo vo) {
+        List<Long> appUserIds = new ArrayList<Long>();
+        if(StringUtils.isNotEmpty(vo.getName())){
+            List<XpWhitelist> data = xpWhiteListClient.getXpWhitelistByName(vo.getName()).getData();
+            if(!data.isEmpty()){
+                appUserIds.addAll(data.stream().map(XpWhitelist::getAppUserId).collect(Collectors.toList()));
+            }
+        }
+        if(StringUtils.isNotEmpty(vo.getPhone())){
+            List<XpWhitelist> data = xpWhiteListClient.getXpWhitelistByPhone(vo.getPhone()).getData();
+            if(!data.isEmpty()){
+                appUserIds.addAll(data.stream().map(XpWhitelist::getAppUserId).collect(Collectors.toList()));
+            }
+        }
+        List<XpAppUserCoupon> couponReceiptRecord = this.baseMapper.getCouponReceiptRecord(pageInfo, vo);
+        List<CouponReceiptRecordDto> list = new ArrayList<CouponReceiptRecordDto>();
+        for (XpAppUserCoupon xpAppUserCoupon : couponReceiptRecord) {
+
+            CouponReceiptRecordDto dto = new CouponReceiptRecordDto();
+            dto.setId(xpAppUserCoupon.getId());
+            dto.setCreateTime(xpAppUserCoupon.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            XpWhitelist data = xpWhiteListClient.getXpWhitelistByUid(xpAppUserCoupon.getAppUserId()).getData();
+            if(null != data){
+                dto.setName(data.getNickName());
+                dto.setPhone(data.getAccount());
+            }
+            dto.setNum(1);
+            dto.setExpireTime(xpAppUserCoupon.getExpirationTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            dto.setStatus(xpAppUserCoupon.getStatus());
+            list.add(dto);
+        }
+        return list;
+    }
 }

--
Gitblit v1.7.1