yujian
2019-08-16 fb5a8918a7983bbdf83586f773884d3961bb3c6d
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
package com.yeshi.fanli.service.inter.tlj;
 
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
 
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport;
import com.yeshi.fanli.entity.bus.user.UserRank;
import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException;
 
public interface UserTaoLiJinOriginService {
 
    /**
     * 根据日期类型统计金额
     * @param uid
     * @param dateType 1今日 、2昨日、3本月、4上月
     * @return
     */
    public BigDecimal countMoneyByDate(long uid, int dateType);
 
    /**
     * 统计类型个数
     * @param uid
     * @param origin
     * @return
     */
    public long countByUidAndOrigin(long uid, String origin);
 
    /**
     * 判断本月红包领取个数
     * @param uid
     * @return
     */
    public boolean hasRankHongBao(long uid);
 
    /**
     * 使红包过期
     * @param uid
     */
    public void overdueHongBao(Long uid);
 
    /**
     * 获取类型
     * @param uid
     * @param origin
     * @return
     */
    public UserTaoLiJinOrigin getByUidAndOrigin(long uid, String origin);
 
    /**
     * 当月等级红包
     * @param uid
     * @return
     */
    public UserTaoLiJinOrigin getRankByThisMonth(long uid, String type);
    
    
    /**
     * 查询剩余淘礼金
     * @param uid
     * @return
     */
    public List<UserTaoLiJinOrigin> getSurplusLiJin(long uid);
 
    /**
     * 更新
     * @param record
     */
    public void updateByPrimaryKeySelective(UserTaoLiJinOrigin record);
 
    /**
     * 新人红包设备同步
     * @param uid
     * @param device
     */
    public void synchDeviceHongbao(long uid, String device);
 
    /**
     * 获得新人红包
     * @param uid
     * @param money
     * @throws UserTaoLiJinOriginException
     */
    public UserTaoLiJinOrigin addNewbiesWinMoney(Long uid) throws UserTaoLiJinOriginException;
 
    /**
     * 等级红包
     * @param uid
     * @param money
     * @param userRank
     * @throws UserTaoLiJinOriginException
     */
    public UserTaoLiJinOrigin addRankWinMoney(Long uid, UserRank userRank) throws UserTaoLiJinOriginException;
 
    /**
     * 邀请红包
     * @param uid
     * @param money
     * @param inviteName
     * @throws UserTaoLiJinOriginException
     */
    public UserTaoLiJinOrigin addInviteWinMoney(Long uid, String inviteName) throws UserTaoLiJinOriginException;
 
    /**
     * 分享红包
     * @param uid
     * @param money
     * @throws UserTaoLiJinOriginException
     */
    public UserTaoLiJinOrigin addShareWinMoney(Long uid) throws UserTaoLiJinOriginException;
 
    /**
     * 退回
     * @param uid
     * @param money
     * @param total
     * @param report
     * @throws UserTaoLiJinOriginException
     */
    public void refundMoney(UserTaoLiJinReport report) throws UserTaoLiJinOriginException;
 
    /**
     * 手动添加邀请红包- 不发生消息
     * @param uid
     * @param inviteName
     * @param date
     * @return
     * @throws UserTaoLiJinOriginException
     */
    public void addInviteWinMoneyByHand(Long uid, String inviteName, Date date)
            throws UserTaoLiJinOriginException;
 
    
    /**
     * 金币兑换
     * @param uid
     * @param money
     * @param userRank
     * @throws UserTaoLiJinOriginException
     */
    public void exchangeMoney(Long uid, BigDecimal money) throws UserTaoLiJinOriginException;
 
    /**
     * 领取淘礼金-好友赠送
     * @param uid
     * @param money
     * @return
     * @throws UserTaoLiJinOriginException
     */
    public UserTaoLiJinOrigin receiveFriendsGive(Long uid, BigDecimal money) throws UserTaoLiJinOriginException;
}