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.*;
|
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
|
import cc.mrbird.febs.dapp.service.DappMemberService;
|
import cc.mrbird.febs.dapp.service.DappSystemService;
|
import cc.mrbird.febs.dapp.service.DappWalletService;
|
import cc.mrbird.febs.dapp.vo.MemberNodeVo;
|
import cc.mrbird.febs.dapp.vo.NodeTypeVo;
|
import cc.mrbird.febs.dapp.vo.TeamListVo;
|
import cc.mrbird.febs.dapp.vo.WalletInfoVo;
|
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 DappSystemService dappSystemService;
|
private final DappMemberService dappMemberService;
|
private final RedisUtils redisUtils;
|
|
@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 = "/buyNode")
|
public FebsResponse buyNode(@RequestBody BuyNodeDto buyNodeDto) {
|
return new FebsResponse().success().data(dappWalletService.buyNode(buyNodeDto));
|
}
|
|
@ApiOperation(value = "获取星团集合", notes = "获取星团集合")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = NodeTypeVo.class)
|
})
|
@PostMapping(value = "/nodeList")
|
public FebsResponse nodeList() {
|
return dappWalletService.nodeList();
|
}
|
|
@ApiOperation(value = "购买星团", notes = "购买星团")
|
@PostMapping(value = "/buyStar")
|
public FebsResponse buyStar(@RequestBody BuyStarDto buyStarDto) {
|
return new FebsResponse().success().data(dappWalletService.buyStar(buyStarDto));
|
}
|
|
@ApiOperation(value = "星团矩阵", notes = "星团矩阵")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = MemberNodeVo.class)
|
})
|
@PostMapping(value = "/memberNode")
|
public FebsResponse memberNode(@RequestBody MemberNodeDto memberNodeDto) {
|
return new FebsResponse().success().data(dappWalletService.memberNode(memberNodeDto));
|
}
|
|
@ApiOperation(value = "转账", notes = "转账")
|
@PostMapping(value = "/transfer")
|
public FebsResponse transfer(@RequestBody TransferDto transferDto) {
|
return new FebsResponse().success().data(dappWalletService.transfer(transferDto));
|
}
|
|
@ApiOperation(value = "手续费充值", notes = "手续费充值")
|
@PostMapping(value = "/chargeFee")
|
public FebsResponse chargeFee(@RequestBody ChargeFeeDto chargeFeeDto) {
|
return new FebsResponse().success().data(dappWalletService.chargeFee(chargeFeeDto));
|
}
|
|
@ApiOperation(value = "手续费计算", notes = "手续费计算")
|
@PostMapping(value = "/calPrice")
|
public FebsResponse calPrice(@RequestBody PriceDto priceDto) {
|
return new FebsResponse().success().data(dappWalletService.calPrice(priceDto));
|
}
|
|
@ApiOperation(value = "记录列表", notes = "记录列表")
|
@PostMapping(value = "/recordInPage")
|
public FebsResponse recordInPage(@RequestBody RecordInPageDto recordInPageDto) {
|
return new FebsResponse().success().data(dappWalletService.recordInPage(recordInPageDto));
|
}
|
|
@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 = "我的团队")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = TeamListVo.class)
|
})
|
@PostMapping(value = "/team")
|
public FebsResponse team() {
|
return new FebsResponse().success().data(dappMemberService.findTeamList());
|
}
|
|
@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();
|
}
|
}
|