yujian
2019-12-25 a3ead770c30b310b9b1b7e3786d5d847da540e55
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
package com.yeshi.fanli.service.inter.user.integral;
 
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Set;
 
import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
import com.yeshi.fanli.exception.integral.IntegralTaskRecordException;
 
public interface IntegralTaskRecordService {
 
    /**
     * 待领取金币
     * 
     * @param count
     * @param uid
     * @return
     */
    public List<IntegralTaskRecord> listNotReceived(int count, long uid);
 
    /**
     * 已领取金币
     * 
     * @param uid
     * @param dateType
     * @return
     */
    public Integer getTotalGoldCoin(long uid, Long cid, Integer dateType);
 
    /**
     * 完成任务数量
     * 
     * @param uid
     * @param cid
     * @param dateType
     * @return
     */
    public Integer countFinished(long uid, Long cid, Integer dateType);
 
    /**
     * 今日是已签到
     * 
     * @param uid
     * @param cid
     * @return
     */
    public boolean isToDaySign(long uid, Long cid);
 
    /**
     * 计算今日签到的天数
     * 
     * @param uid
     * @param cid
     * @return
     */
    public Integer getNowdaySignNum(long uid, Long cid);
 
    /**
     * 完成任务记录
     * 
     * @param uid
     * @param cid
     * @param taskId
     * @param goldCoin
     */
    public void finishedTask(long uid, long cid, long taskId, int goldCoin);
 
    /**
     * 获取已连续签到次数
     * 
     * @param uid
     * @param cid
     * @return
     */
    public List<IntegralTaskRecord> getSignDaysRecord(long uid, Long cid);
 
    /**
     * 领取金币
     * 
     * @param uid
     * @param idList
     * @throws IntegralTaskRecordException
     */
    public Integer receiveGoldCoin(Long uid, Set<Long> idList) throws IntegralTaskRecordException;
 
    /**
     * 返回领取列表
     * 
     * @param count
     * @param uid
     * @param idList
     * @return
     */
    public List<IntegralTaskRecord> listNotReceivedExcludeId(int count, long uid, Set<Long> idList);
 
    /**
     * 领取所有
     * 
     * @param uid
     * @return
     * @throws IntegralTaskRecordException
     */
    public Integer receiveGoldCoinALL(Long uid) throws IntegralTaskRecordException;
 
    /**
     * 根据任务ID与日期获取任务完成数
     * 
     * @param taskId
     * @param day
     * @return
     */
    public int countGetCountByTaskIdAndDay(Long taskId, Long uid, Date day);
 
    /**
     * 添加获取记录
     * 
     * @param record
     */
    public IntegralTaskRecord addRecord(IntegralTaskRecord record) throws IntegralTaskRecordException;
 
    /**
     * 根据类型与时间检索
     * @param cid
     * @param minTime
     * @param maxTime
     * @param page
     * @param count
     * @return
     */
    public List<IntegralTaskRecord> listByCidAndUidAndCreateTime(Long cid,Long uid, Date minTime, Date maxTime, int page, int count);
 
    
    
    /**
     * 根据用户ID与任务ID查询记录
     * @param uid
     * @param taskId
     * @param page
     * @param count
     * @return
     */
    public List<IntegralTaskRecord> listByUidAndTaskId(Long uid,Long taskId,int page,int count);
    /**
     * 根据类型与时间检索
     * @param cid
     * @param minTime
     * @param maxTime
     * @return
     */
    public long countByCidAndUidAndCreateTime(Long cid,Long uid, Date minTime, Date maxTime);
 
    
    /**
     * 补偿上级 :一级队员首笔返利订单不足0.01元
     * @param uid
     * @param beizu
     */
    public void firstRebateOrderRewardBoss(Long uid, Long originUid, String beizu);
 
    /**
     * 补偿上上级:二级队员首笔返利订单不足0.01元
     * @param uid
     * @param beizu
     */
    public void firstRebateOrderRewardBossSuper(Long uid, Long originUid,String beizu);
 
    /**
     * 首笔分享订单不足0.01元补偿
     * @param uid
     * @param beizu
     */
    public void firstShareOrderReward(Long uid, String beizu);
 
    /**
     * 补偿上级 :首笔分享订单不足0.01元补偿
     * @param uid
     * @param beizu
     */
    public void firstSharerOrderRewardBoss(Long uid, Long originUid, String beizu);
 
    /**
     * 7天签到记录
     * @param uid
     * @param cid
     * @return
     */
    public List<IntegralTaskRecord> getSign7DaysRecord(long uid, Long cid);
 
 
    /**
     * 推广红包折算金币
     * @param uid
     * @param addGoldCoin
     * @param tlj
     */
    public void taoLiJinExchange(Long uid, Integer addGoldCoin, BigDecimal tlj);
 
    /**
     * 金币过期
     */
    public void invalidGoldCoin();
 
}