puzhibing
2026-04-28 c8bd790078b64343fc9dce0e36b5cc8c03e50e80
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;
    }
}