admin
2021-01-15 5405154d6979f1b50ce2d881bb164b1acca80b6d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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);
 
 
}