package cn.iocoder.yudao.module.banner.service.impl;

import cn.iocoder.yudao.module.banner.entity.DlBaseBanner;
import cn.iocoder.yudao.module.banner.mapper.DlBaseBannerMapper;
import cn.iocoder.yudao.module.banner.service.DlBaseBannerService;
import cn.iocoder.yudao.module.banner.vo.DlBannerReqVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 针对表【dl_base_banner(banner图基础库)】的数据库操作Service实现
 *
 * @author 小李
 * @date 9:21 2024/9/27
 **/
@Service
public class DlBaseBannerServiceImpl extends ServiceImpl<DlBaseBannerMapper, DlBaseBanner>
        implements DlBaseBannerService {

    /**
     * 分页查询
     *
     * @param bannerReqVO 查询对象
     * @author 小李
     * @date 9:17 2024/9/27
     **/
    @Override
    public IPage<DlBaseBanner> queryByPage(DlBannerReqVO bannerReqVO, Page<DlBaseBanner> page) {
        return baseMapper.queryByPage(bannerReqVO, page);
    }

    /**
     * 新增、修改
     *
     * @param bannerReqVO 请求对象
     * @author 小李
     * @date 9:23 2024/9/27
     **/
    @Override
    public void updateBanner(DlBannerReqVO bannerReqVO) {
        baseMapper.insertOrUpdate(bannerReqVO);
    }

    /**
     * 通过主键查询单条数据
     *
     * @param id 记录ID
     * @author 小李
     * @date 9:25 2024/9/27
     **/
    @Override
    public DlBaseBanner getBannerById(String id) {
        return baseMapper.selectById(id);
    }

    /**
     * 删除数据
     *
     * @param id 记录ID
     * @author 小李
     * @date 9:28 2024/9/27
     **/
    @Override
    public void deleteBannerById(String id) {
        baseMapper.deleteById(id);
    }

    /**
     * 不同小程序用不同的banner，用type分
     *
     * @param type type
     * @author 小李
     * @date 11:07 2024/9/27
     **/
    @Override
    public List<DlBaseBanner> getBannerByTypeList(String type) {
        return baseMapper.getBannerByTypeList(type);
    }
}




