admin
2022-04-09 ce3420676d9ccf4a2bdf87aeb7ad1494b5e5d26c
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
package com.yeshi.makemoney.app.service.inter.money;
 
import com.ks.lib.common.exception.ParamsException;
import com.yeshi.makemoney.app.dto.mq.ExtractTransferResultMQMsg;
import com.yeshi.makemoney.app.entity.money.Extract;
import com.yeshi.makemoney.app.exception.money.ExtractException;
import com.yeshi.makemoney.app.exception.money.UserMoneyBalanceException;
import com.yeshi.makemoney.app.service.query.money.ExtractQuery;
 
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
 
 
public interface ExtractService {
 
    /**
     * 获取列表
     *
     * @param extractQuery
     * @param page
     * @param pageSize
     * @return
     */
    public List<Extract> list(ExtractQuery extractQuery, int page, int pageSize);
 
    /**
     *
     */
    public long count(ExtractQuery extractQuery);
 
    /**
     *
     */
    public Extract get(Long id);
 
    /**
     * @return boolean
     * @description 是否为首次提现
     * @param: uid
     **/
    public boolean isFirst(Long uid);
 
 
    /**
     * 添加提现
     */
    public void addExtract(Extract extract) throws ParamsException, ExtractException, UserMoneyBalanceException;
 
 
    /**
     * @return void
     * @author hxh
     * @description 通过提现
     * @date 15:01 2022/4/1
     * @param: id
     * @param: adminId
     **/
    public void passExtract(Long id, Long adminId) throws ExtractException;
 
 
    /**
     * @return void
     * @author hxh
     * @description 拒绝提现
     * @date 15:02 2022/4/1
     * @param: id
     * @param: adminId
     * @param: reason
     **/
    public void rejectExtract(Long id, Long adminId, String reason) throws ExtractException, UserMoneyBalanceException, ParamsException;
 
 
    /**
     * @return void
     * @author hxh
     * @description 处理提现结果
     * @date 18:27 2022/4/1
     * @param: msg
     **/
    public void processExtractResult(ExtractTransferResultMQMsg msg) throws ParamsException;
 
 
    /**
     * @return int
     * @author hxh
     * @description 小于某个金额的提现次数
     * @date 14:23 2022/4/8
     * @param: uid
     * @param: money
     * @param: stateList
     **/
    public long countByMaxMoney(Long uid, BigDecimal money, List<Integer> stateList, Date minCreateTime);
 
    /**
     * @return boolean
     * @author hxh
     * @description 用户是否可以提现小金额
     * @date 15:02 2022/4/8
     * @param: uid
     * @param: maxNewerCount
     * @param: date
     **/
    public boolean canExtractLittleMoney(Long uid, int maxNewerCount, Date date);
 
 
}