admin
2022-04-21 2464548977f4720bc8fceeb5d999c1a3852c2d10
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
package com.yeshi.makemoney.app.service.inter.money;
 
import com.ks.lib.common.exception.ParamsException;
import com.yeshi.makemoney.app.dto.money.ExtractConfig;
import com.yeshi.makemoney.app.dto.mq.ExtractTransferResultMQMsg;
import com.yeshi.makemoney.app.entity.SystemEnum;
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);
 
 
    /**
     * @return java.math.BigDecimal
     * @author hxh
     * @description 正在提现中的金额
     * @date 17:51 2022/4/20
     * @param: uid
     **/
    public BigDecimal getExtractingMoney(Long uid);
 
    /**
     * @return com.yeshi.makemoney.app.dto.money.ExtractConfig
     * @author hxh
     * @description 获取提现配置
     * @date 17:57 2022/4/20
     * @param: system
     **/
    public ExtractConfig getExtractConfig(SystemEnum system);
 
 
}