1
zj
10 hours ago f658569891db433854221b80f0a9fa99608cff64
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
package com.yami.trading.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.trading.bean.contract.domain.ContractOrder;
import com.yami.trading.bean.future.domain.FuturesOrder;
import com.yami.trading.bean.model.Wallet;
import com.yami.trading.bean.model.WalletExtend;
import com.yami.trading.service.impl.ContractAndFutureProfit;
 
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
 
public interface WalletService    extends IService<Wallet> {
    Wallet findByUserId(String userId);
    public List<WalletExtend> findExtend(String partyId, List<String> list_symbol);
 
    public List<WalletExtend> findExtend(String partyId);
 
    WalletExtend saveExtendByPara(String userId, String wallettype);
 
 
    public Wallet saveWalletByPartyId(String partyId);
    /**
     *
     * @param partyId
     * @param walletType
     * @param amount 修改的金额
     */
    public void updateExtend(String partyId, String walletType, double amount);
 
    /**
     * 修改拓展钱包 余额 及冻结余额
     */
    public void updateExtend(String partyId, String walletType, double amount, double frozenAmount);
    /**
     * 获取总数
     * @return
     */
    BigDecimal sumMoney(List<String> userIds);
    void updateMoney(String symbol, String userId, BigDecimal moneyRevise);
 
    /**
     * 更新账号余额
     * @param userId 用户id
     * @param money  交易金额
     * @param amountFee  手续费
     * @param category   交易类型
     * @param walletType  账户类型  usdt  eth
     * @param contentType  资金日志类型
     * @param log  日志
     */
    void updateMoney(String symbol,String userId, BigDecimal money, BigDecimal amountFee,
                     String category, String walletType, String contentType, String log);
 
//    /**
//     * 获取总资产
//     * @param userId
//     * @return
//     */
//    AssetsDto getAssets(String userId);
 
    /**
     * 获取其他拓展钱包币种的余额
     */
    public Map<String, Object> getMoneyAll(Serializable partyId);
    public Map<String, Object> getMoneyAll(Serializable partyId, String symbolType);
 
    /**
     * 获取币种分类余额 和全部总余额
     *
     * @param partyId
     * @param symbolType
     * @return
     */
    Map<String, Object> getTotalAssets(String partyId, String symbolType);
 
    /*
     * 获取 单个订单 永续合约总资产、总保证金、总未实现盈利
     */
    public Map<String, BigDecimal> getMoneyContractByOrder(ContractOrder order);
 
    /*
     * 获取 单个订单 交割合约总资产、总未实现盈利
     */
    public Map<String, Double> getMoneyFuturesByOrder(FuturesOrder order);
 
    void update(String userId, double gift_sum);
 
    /**
     * 重置模拟账户主钱包余额(用于模拟账户重置资金)
     * @param userId 模拟账户用户ID
     * @param amount 重置后的金额
     */
    void resetSimWallet(String userId, double amount);
 
    /*
     * 获取 所有订单 永续合约总资产、总保证金、总未实现盈利
     */
    public Map<String, Double> getMoneyContract(Serializable partyId, String symbolType);
    public void updateExtendWithLockAndFreeze(String partyId, String walletType, double amount, double lockAmount, double freezeAmount);
 
    public void updateWithLockAndFreeze(String partyId, double amount,double lockAmount,double freezeAmount);
 
    /**
     * 计算合约盈亏
     * @param partyId
     * @param symbolType
     * @return
     */
    ContractAndFutureProfit calculateContractAndFutureProfit(String partyId, String symbolType);
 
}