package com.haha.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.haha.entity.MarketingActivity;
import com.haha.entity.dto.ActivityCreateDTO;
import com.haha.entity.dto.ActivityQueryDTO;
import com.haha.entity.dto.ActivityUpdateDTO;

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

public interface MarketingActivityService extends IService<MarketingActivity> {

    IPage<MarketingActivity> getPage(ActivityQueryDTO queryDTO);

    MarketingActivity getDetail(Long id);

    MarketingActivity create(ActivityCreateDTO dto, Long creatorId, String creatorName);

    MarketingActivity update(ActivityUpdateDTO dto);

    boolean publish(Long id);

    boolean pause(Long id);

    boolean resume(Long id);

    boolean deleteActivity(Long id);

    List<MarketingActivity> getOngoingActivities();

    List<Long> getActivityShopIds(Long activityId);

    List<String> getActivityDeviceIds(Long activityId);

    List<Long> getActivityProductIds(Long activityId);

    Map<String, Object> getStatistics(Long activityId);
}
