package edu.whut.domain.activity.adapter.repository;
import edu.whut.domain.activity.model.entity.UserGroupBuyOrderDetailEntity;
import edu.whut.domain.activity.model.valobj.GroupBuyActivityDiscountVO;
import edu.whut.domain.activity.model.valobj.SCSkuActivityVO;
import edu.whut.domain.activity.model.valobj.SkuVO;
import edu.whut.domain.activity.model.valobj.TeamStatisticVO;

import java.util.List;

/**
 * @description 活动仓储
 */
public interface IActivityRepository {

    GroupBuyActivityDiscountVO queryGroupBuyActivityDiscountVO(Long activityId);

    SkuVO querySkuByGoodsId(String goodsId);

    SCSkuActivityVO querySCSkuActivityBySCGoodsId(String source, String channel, String goodsId);

    boolean isTagCrowdRange(String userId, String tagId);

    boolean downgradeSwitch();

    boolean cutRange(String userId);

    List<UserGroupBuyOrderDetailEntity> listRandomDetails(Long activityId, int randomCount);

    TeamStatisticVO queryTeamStatisticByActivityId(Long activityId);

}
