package com.ks.lucky.remote.service;
|
|
import com.ks.lib.common.exception.ParamsException;
|
import com.ks.lucky.exception.*;
|
import com.ks.lucky.pojo.DO.LuckyActivity;
|
|
import javax.validation.Valid;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 抽奖活动服务
|
*/
|
public interface LuckyActivityService {
|
|
public Long addActivity(LuckyActivity activity) throws ParamsException, LuckyActivityException, LuckyActivitySponsorInfoException, LuckyActivityAwardException, LuckyActivityOpenInfoException, LuckySponsorAdException, LuckyActivityAwardMaterialException;
|
|
/**
|
* 获取有效的活动列表
|
*
|
* @param appId
|
* @param sponsorId
|
* @param key
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
public List<LuckyActivity> getActivityList(Long appId, Long sponsorId, List<Integer> stateList, String key, int page, int pageSize);
|
|
|
/**
|
* 获取有效的活动列表
|
*
|
* @param appId
|
* @param sponsorId
|
* @param stateList
|
* @param excludeActivityIds 排除某些活动ID
|
* @param key
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
public List<LuckyActivity> getActivityList(Long appId, Long sponsorId, List<Integer> stateList, List<Long> excludeActivityIds, String key, int page, int pageSize);
|
|
/**
|
* 有效的活动计数
|
*
|
* @param appId
|
* @param sponsorId
|
* @param key
|
* @return
|
*/
|
public long countActivity(Long appId, Long sponsorId, List<Integer> stateList, String key);
|
|
|
/**
|
* 有效的活动计数
|
*
|
* @param appId
|
* @param sponsorId
|
* @param stateList
|
* @param key
|
* @param excludeActivityIds 排除某些活动ID
|
* @return
|
*/
|
public long countActivity(Long appId, Long sponsorId, List<Integer> stateList, String key, List<Long> excludeActivityIds);
|
|
|
/**
|
* 创建活动
|
*
|
* @param activity
|
* @return
|
* @throws LuckyActivityException
|
*/
|
public Long createActivity(@Valid LuckyActivity activity) throws ParamsException, LuckyActivityException;
|
|
|
/**
|
* 提交审核
|
*
|
* @param activityId
|
* @throws LuckyActivityException
|
*/
|
public void submitVerify(Long activityId) throws LuckyActivityException;
|
|
|
/**
|
* 审核活动
|
*
|
* @param activityId
|
* @param pass -是否通过
|
* @param remarks
|
* @throws LuckyActivityException
|
*/
|
public void verifyActivity(Long activityId, boolean pass, String remarks) throws LuckyActivityException;
|
|
|
/**
|
* 发布活动
|
*
|
* @throws LuckyActivityException
|
*/
|
public void publishActivity(Long activityId) throws LuckyActivityException;
|
|
|
/**
|
* 发布活动
|
*
|
* @param activityId
|
* @param startTime
|
* @param finishTime
|
* @throws LuckyActivityException
|
*/
|
public void publishActivity(Long activityId, Date startTime, Date finishTime) throws LuckyActivityException;
|
|
|
/**
|
* 开始活动
|
*
|
* @param activityId
|
* @param remarks
|
* @throws LuckyActivityException
|
*/
|
public void startActivity(Long activityId, String remarks) throws LuckyActivityException;
|
|
|
/**
|
* 强制结束活动(活动已经开始之后,可强制结束)
|
*
|
* @param activityId
|
* @param remarks
|
* @throws LuckyActivityException
|
*/
|
public void forceFinishActivity(Long activityId, String remarks) throws LuckyActivityException;
|
|
|
/**
|
* 取消活动发布(当活动处于已发布状态才能取消)
|
*
|
* @param activityId
|
* @param remarks
|
* @throws LuckyActivityException
|
*/
|
public void cancelPublish(Long activityId, String remarks) throws LuckyActivityException;
|
|
|
/**
|
* 取消审核
|
*
|
* @param activityId
|
* @throws LuckyActivityException
|
*/
|
public void cancelVerify(Long activityId) throws LuckyActivityException;
|
|
|
/**
|
* 活动简版详情
|
*
|
* @param id
|
* @return
|
*/
|
public LuckyActivity getActivity(Long id);
|
|
|
/**
|
* 获取活动详情
|
*
|
* @param id
|
* @return
|
*/
|
public LuckyActivity getActivityDetail(Long id);
|
|
|
/**
|
* 获取活动详情
|
*
|
* @param ids
|
* @return
|
*/
|
public List<LuckyActivity> getActivityDetail(List<Long> ids);
|
|
|
/**
|
* 修改活动
|
*
|
* @param activity
|
* @throws LuckyActivityException
|
*/
|
public void updateActivity(LuckyActivity activity) throws LuckyActivityException;
|
|
|
/**
|
* 获取推荐活动列表
|
*
|
* @param appId
|
* @param uid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
public List<LuckyActivity> getRecommendActivity(Long appId, String uid, int page, int pageSize);
|
|
|
public Long getRecommendActivityCount(Long appId, String uid);
|
|
|
}
|