package cn.iocoder.yudao.module.system.service.biz;


import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.MonthlyActivityPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.MonthlyActivityRespVO;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.MonthlyActivitySaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ActivityExecutionRecordDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.MonthlyActivityDO;

import java.util.List;

/**
 * 月度活动 Service 接口
 *
 * @author 系统管理员
 */
public interface MonthlyActivityService {


    Long createMonthlyActivity(MonthlyActivitySaveReqVO createReqVO);

    MonthlyActivityDO getMonthlyActivity(Long id);

    List<MonthlyActivityDO> getMonthlyActivityByMonth(String month, Long[] tenantId, Integer orgType);

    PageResult<MonthlyActivityDO> getMonthlyActivityPage(MonthlyActivityPageReqVO pageReqVO);

    void updateMonthlyActivity(MonthlyActivitySaveReqVO updateReqVO);

    void createActivityExecutionRecord(ActivityExecutionRecordDO activityExecutionRecordDO);

    MonthlyActivityRespVO getActivityExecutionRecord(Long activityId);

    void deleteMonthlyActivity(Long[] ids);
}