yujian
2019-09-03 2ddf5b8a1290123e2d1c05bcc851ec35cd217afc
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
package com.yeshi.fanli.service.inter.hongbao;
 
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
 
import com.yeshi.fanli.dto.HongBaoDTO;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.exception.order.HongBaoException;
 
public interface HongBaoV2Service {
 
    public int insert(HongBaoV2 record);
 
    public int insertSelective(HongBaoV2 record);
 
    public int updateByPrimaryKey(HongBaoV2 record);
 
    public int updateByPrimaryKeySelective(HongBaoV2 record);
 
    public int deleteByPrimaryKey(Long id);
 
    public HongBaoV2 selectByPrimaryKey(Long id);
 
    /**
     * 添加红包
     * 
     * @param commonOrder
     *            订单对象
     * @param type
     *            类型
     * @throws HongBaoException
     */
    public void addHongBao(List<CommonOrder> commonOrder, int type) throws HongBaoException;
 
    /**
     * 奖金列表(1.4.9之前的版本)
     * 
     * @param uid
     * @param page
     * @param pageSize
     * @return
     */
    public List<HongBaoDTO> listJiangJinByUid(Long uid, int page, int pageSize);
 
    /**
     * 奖金数量(1.4.9之前的版本)
     * 
     * @param uid
     * @return
     */
    public long countJiangJinByUid(Long uid);
 
    /**
     * 总共的提成金额
     * 
     * @param uid
     * @return
     */
 
    BigDecimal getTotalTiChengMoney(Long uid);
 
    /**
     * 获取总的提成笔数
     * 
     * @param uid
     * @return
     */
    int getTotalTiChengCount(Long uid);
 
    /**
     * 获取还未到账的提成金额
     * 
     * @param uid
     * @return
     */
    BigDecimal getUnGetTiChengMoney(Long uid);
 
    /**
     * 获取总共返利金额
     * 
     * @param uid
     * @return
     */
    BigDecimal getTotalFanLiMoney(Long uid);
 
    /**
     * 获取还未到账的金额
     * 
     * @param uid
     * @return
     */
    BigDecimal getUnRecievedFanLiMoney(Long uid);
 
    /**
     * 尚未到账的金额(根据创建时间)
     * 
     * @param uid
     * @param minDate
     * @param maxDate
     * @return
     */
    BigDecimal getUnRecievedMoneyWithCreateTime(Long uid, Date minDate, Date maxDate);
 
    /**
     * 尚未到账的金额(根据预计领取时间)
     * 
     * @param uid
     * @param minDate
     * @param maxDate
     * @return
     */
    BigDecimal getUnRecievedMoneyWithPreGetTime(Long uid, Date minDate, Date maxDate);
 
    /**
     * 计算资金
     * 
     * @param uid
     * @param state
     * @return
     */
    BigDecimal computeMoneyByUidAndState(Long uid, int state);
 
    /**
     * 查询子红包
     * 
     * @param id
     * @return
     */
    public List<HongBaoV2> listChildrenById(Long id);
 
    /**
     * 最近30天内产生过分享订单的用户
     * 
     * @return
     */
    public List<Long> getUidByNear30DayShareSucceed();
 
    /**
     * 让邀请赚失效(根据下级用户ID)
     * 
     * @param parentUid
     * @param beiZhu
     */
    public void invalidInviteHongBaoByParentUid(Long parentUid, String beiZhu);
 
    /**
     * 根据用户ID,交易ID查询红包信息
     * 
     * @param sourceType
     * @param uid
     * @param tradeIdList
     * @return
     */
    public List<HongBaoV2> listBySourceTypeAndTradeIdListAndUid(int sourceType, long uid, List<String> tradeIdList);
 
}