xiangpei
2025-05-13 9b811f9e7de77fe31e67df9396734ec9d52cdae1
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 cn.lili.modules.wallet.service;
 
 
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.wallet.entity.dos.MemberWallet;
import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO;
import cn.lili.modules.wallet.entity.vo.MemberWalletVO;
import com.baomidou.mybatisplus.extension.service.IService;
 
/**
 * 会员预存款业务层
 *
 * @author pikachu
 * @since 2020-02-25 14:10:16
 */
public interface MemberWalletService extends IService<MemberWallet> {
 
    /**
     * 查询会员的预存款
     *
     * @param memberId 会员id
     * @return 会员预存款VO
     */
    MemberWalletVO getMemberWallet(String memberId);
 
    /**
     * 增加用户预存款余额
     *
     * @param memberWalletUpdateDTO 变动模型
     * @return 返回增加结果    true:成功    false:失败
     */
    Boolean increase(MemberWalletUpdateDTO memberWalletUpdateDTO);
 
    /**
     * 从冻结金额到余额
     *
     * @param memberWalletUpdateDTO 变动模型
     * @return 返回冻结结果    true:成功    false:失败
     */
    Boolean increaseWithdrawal(MemberWalletUpdateDTO memberWalletUpdateDTO);
 
    /**
     * 扣减用户预存款余额
     *
     * @param memberWalletUpdateDTO 变动模型
     * @return 操作状态 true:成功    false:失败
     */
    Boolean reduce(MemberWalletUpdateDTO memberWalletUpdateDTO);
 
    /**
     * 提现扣减余额到冻结金额
     *
     * @param memberWalletUpdateDTO 变动模型
     * @return 操作状态 true:成功    false:失败
     */
    Boolean reduceWithdrawal(MemberWalletUpdateDTO memberWalletUpdateDTO);
 
    /**
     * 提现扣减冻结金额
     *
     * @param memberWalletUpdateDTO 变动模型
     * @return 操作状态
     */
    Boolean reduceFrozen(MemberWalletUpdateDTO memberWalletUpdateDTO);
 
    /**
     * 设置支付密码
     *
     * @param member   会员id
     * @param password 支付密码
     */
    void setMemberWalletPassword(Member member, String password);
 
    /**
     * 检查当前会员是否设置过预存款密码
     *
     * @return 操作状态
     */
    Boolean checkPassword();
 
    /**
     * 会员注册添加会员余额钱包
     *
     * @param memberId   会员id
     * @param memberName 会员名称
     * @return 操作结果
     */
    MemberWallet save(String memberId, String memberName);
 
    /**
     * 用户提现
     *
     * @param price 提现金额
     * @param realName 真实姓名
     * @param connectNumber 第三方账号
     * @return 是否提现成功
     */
    Boolean applyWithdrawal(Double price, String realName, String connectNumber);
 
    /**
     * 提现公共方法
     *
     * @param withdrawApplyId 会员零钱提现Id
     */
    void withdrawal(String withdrawApplyId);
 
}