package cn.lili.modules.promotion.service;


import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * 砍价活动参与记录业务层
 *
 * @author qiuqiu
 * @date 2021/7/1 9:45 上午
 */
public interface KanjiaActivityService extends IService<KanjiaActivity> {

    /**
     * 获取砍价活动
     *
     * @param kanJiaActivitySearchParams 砍价活动搜索参数
     * @return 砍价活动
     */
    KanjiaActivity getKanjiaActivity(KanjiaActivitySearchParams kanJiaActivitySearchParams);

    /**
     * 获取砍价活动
     * <p>
     * 有值说明是已参加的砍价活动
     * 没有值说明是未参加的砍价活动
     *
     * @param kanJiaActivitySearchParams 砍价活动搜索参数
     * @return 砍价活动
     */
    KanjiaActivityVO getKanjiaActivityVO(KanjiaActivitySearchParams kanJiaActivitySearchParams);

    /**
     * 发起人发起砍价活动
     *
     * @param id 活动ID
     * @return
     */
    KanjiaActivityLog add(String id);

    /**
     * 帮砍
     *
     * @param kanJiaActivityId 活动id
     * @return 砍价详细
     */
    KanjiaActivityLog helpKanJia(String kanJiaActivityId);

    /**
     * 根据条件查询我参与的砍价活动
     *
     * @param kanJiaActivityQuery 砍价活动查询条件
     * @param page                分页对象
     * @return 我参与的砍价活动信息
     */
    IPage<KanjiaActivity> getForPage(KanjiaActivityQuery kanJiaActivityQuery, PageVO page);


}