package com.liquidnet.service.kylin.service.partner;

import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.KylinGroupBuyActivityParam;
import com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyActivityVo;
import com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyOrderVo;

import java.util.List;
import java.util.Map;

public interface IKylinGroupBuyPartnerService {

    ResponseDto<PageInfo<KylinGroupBuyActivityVo>> list(String name, Integer status, Integer page, Integer size);

    ResponseDto<Map<String, Long>> stats();

    ResponseDto<KylinGroupBuyActivityVo> detail(String activityId);

    ResponseDto<KylinGroupBuyActivityVo> create(KylinGroupBuyActivityParam param);

    ResponseDto<KylinGroupBuyActivityVo> update(KylinGroupBuyActivityParam param);

    ResponseDto<Boolean> delete(String activityId);

    ResponseDto<Boolean> toggle(String activityId, Integer targetStatus);

    ResponseDto<List<KylinGroupBuyOrderVo>> orders(String activityId, Integer status, Integer page, Integer size);
}
