package com.mmc.iuav.user.service;

import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.activity.ActivityDTO;
import com.mmc.iuav.user.model.qo.ActivityQO;
import com.mmc.iuav.user.model.vo.activity.ActivityVO;

/**
 * @author: zj
 * @Date: 2023/10/16 15:09
 */
public interface ActivityService {
    ResultBody insertActivity(ActivityVO activity);

    ResultBody updateActivity(ActivityVO activity);

    ResultBody details(Integer id);

    ResultBody listActivityPages(ActivityQO activityQO);

    /**
     * @param activityType
     * @param userAccountId  邀请人id
     * @param pUserAccountId 被邀请人id
     * @return
     */
    ResultBody participateActivity(Integer activityType, Integer userAccountId, Integer pUserAccountId);

    ResultBody delete(Integer id);

    ResultBody inviteDetail(ActivityQO activityQO);

    ResultBody<ActivityDTO> currentActivity(Integer activityType, Integer userAccountId);
}
