KKSU
2024-07-15 4a347c0ab4b88fd792d24d30bed36b1fa769d3a2
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
package cc.mrbird.febs.dapp.controller;
 
import cc.mrbird.febs.common.annotation.EncryptEnable;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.dto.BuyNodeDto;
import cc.mrbird.febs.dapp.dto.RecordInPageDto;
import cc.mrbird.febs.dapp.dto.WithdrawDto;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.service.DappMemberService;
import cc.mrbird.febs.dapp.service.DappWalletService;
import cc.mrbird.febs.dapp.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
 
import javax.validation.Valid;
 
/**
 * @author
 * @date 2022-03-17
 **/
@Slf4j
@EncryptEnable
@RequiredArgsConstructor
@CrossOrigin("*")
@RestController
@Api(value = "dapp接口", tags = "dapp接口")
@RequestMapping(value = "/dapi/member")
public class ApiDappMemberController {
 
    private final DappWalletService dappWalletService;
    private final DappMemberService dappMemberService;
    private final RedisUtils redisUtils;
 
    @ApiOperation(value = "大单排名前十", notes = "大单排名前十")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiStorageInfoVo.class)
    })
    @PostMapping(value = "/storageIndex")
    public FebsResponse storageIndex() {
        return new FebsResponse().success().data(dappWalletService.storageIndex());
    }
 
    @ApiOperation(value = "直推有效人数排名前十", notes = "直推有效人数排名前十")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiDirectInfoVo.class)
    })
    @PostMapping(value = "/directIndex")
    public FebsResponse directIndex() {
        return new FebsResponse().success().data(dappWalletService.directNumIndex());
    }
 
    @ApiOperation(value = "直推总业绩排名前十", notes = "直推总业绩排名前十")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiStorageInfoVo.class)
    })
    @PostMapping(value = "/directIndexV2")
    public FebsResponse directIndexV2() {
        return new FebsResponse().success().data(dappWalletService.directIndex());
    }
 
    @ApiOperation(value = "首页六项数据", notes = "首页六项数据")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiIndexInfoVo.class)
    })
    @PostMapping(value = "/indexInfo")
    public FebsResponse indexInfo() {
        return new FebsResponse().success().data(dappWalletService.indexInfo());
    }
 
    @ApiOperation(value = "获取账户信息接口", notes = "获取账号信息接口")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = WalletInfoVo.class)
    })
    @PostMapping(value = "/walletInfo")
    public FebsResponse walletInfo() {
        WalletInfoVo walletInfoVo = dappWalletService.walletInfo();
        return new FebsResponse().success().data(walletInfoVo);
    }
 
    @ApiOperation(value = "资金流水", notes = "资金流水")
    @PostMapping(value = "/recordInPage")
    public FebsResponse recordInPage(@RequestBody RecordInPageDto recordInPageDto) {
        return new FebsResponse().success().data(dappWalletService.recordInPage(recordInPageDto));
    }
 
    @ApiOperation(value = "我的团队-上半部分", notes = "我的团队-上半部分")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = TeamUpVo.class)
    })
    @PostMapping(value = "/teamUp")
    public FebsResponse teamUp() {
        return new FebsResponse().success().data(dappMemberService.teamUp());
    }
 
    @ApiOperation(value = "我的团队-列表", notes = "我的团队-列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = TeamDownVo.class)
    })
    @PostMapping(value = "/teamDown")
    public FebsResponse teamDown() {
        return new FebsResponse().success().data(dappMemberService.teamDown());
    }
 
    @ApiOperation(value = "存储", notes = "存储")
    @PostMapping(value = "/buyNode")
    public FebsResponse buyNode(@RequestBody BuyNodeDto buyNodeDto) {
        return new FebsResponse().success().data(dappWalletService.buyNode(buyNodeDto));
    }
 
    @ApiOperation(value = "提现", notes = "提现")
    @PostMapping(value = "/withdraw")
    public FebsResponse withdraw(@RequestBody @Valid WithdrawDto withdrawDto) {
        dappWalletService.withdraw(withdrawDto);
        return new FebsResponse().success().message("success");
    }
 
    @ApiOperation(value = "退出", notes = "退出")
    @PostMapping(value = "/logout")
    public FebsResponse logout() {
        DappMemberEntity member = LoginUserUtil.getAppUser();
        redisUtils.hdel(AppContants.REDIS_KEY_SIGN, member.getAddress());
        redisUtils.hdel(AppContants.REDIS_KEY_MEMBER_INFO, member.getAddress());
        return new FebsResponse().success();
    }
}