package com.xiaopeng.operation.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.operation.XpWhitelist;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.mapper.XpBannerMapper;
import com.xiaopeng.api.model.operation.XpBanner;
import com.xiaopeng.operation.query.BannerPageListQuery;
import com.xiaopeng.operation.query.WhitelistPageListQuery;
import com.xiaopeng.operation.service.XpBannerService;
import com.xiaopeng.operation.vo.XpBannerListVo;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* banner管理 服务实现类
*
*
* @author liu
* @since 2026-02-03
*/
@Service
public class XpBannerServiceImpl extends ServiceImpl implements XpBannerService {
@Override
public List getXpBannerList() {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(XpBanner::getBannerStatus,1);
// 当前时间在开始和结束时间范围内
wrapper.ge(XpBanner::getStartTime,System.currentTimeMillis());
wrapper.le(XpBanner::getEndTime,System.currentTimeMillis());
List list = list(wrapper);
// 组装数据
if (list != null && !list.isEmpty()) {
return list.stream().map(item -> {
XpBannerListVo vo = new XpBannerListVo();
vo.setId(item.getId());
vo.setJumpType(item.getJumpType());
vo.setJumpUrl(item.getJumpUrl());
return vo;
}).collect(Collectors.toList());
}
return Collections.emptyList();
}
@Override
public PageInfo pageList(BannerPageListQuery query) {
PageInfo pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize());
List list = this.baseMapper.pageList(pageInfo,query);
pageInfo.setRecords(list);
return pageInfo;
}
}