package cc.mrbird.febs.dapp.controller; import cc.mrbird.febs.common.annotation.EncryptEnable; import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils; 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.DappAccountMoneyChangeEntity; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.entity.DappNodeOrderEntity; 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.*; import cn.hutool.core.util.ObjectUtil; 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; import java.util.HashMap; /** * @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 = DappMemberInfoVo.class) }) @PostMapping(value = "/memberInfo") public FebsResponse memberInfo() { return dappMemberService.getMemberInfo(); } @ApiOperation(value = "我的团队", notes = "我的团队") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = TeamListVo.class) }) @PostMapping(value = "/teamList") public FebsResponse team() { return new FebsResponse().success().data(dappMemberService.findTeamList()); } @ApiOperation(value = "记录列表", notes = "记录列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = DappFundFlowVo.class) }) @PostMapping(value = "/recordInPage") public FebsResponse recordInPage(@RequestBody RecordInPageDto recordInPageDto) { return new FebsResponse().success().data(dappWalletService.getRecordVoInPage(recordInPageDto)); } @ApiOperation(value = "共享收入与业绩", notes = "共享收入与业绩") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = DappAccountMoneyChangeEntity.class) }) @PostMapping(value = "/changeInPage") public FebsResponse changeInPage(@RequestBody ChangeInPageDto changeInPageDto) { return dappWalletService.getChangeInPageInPage(changeInPageDto); } @ApiOperation(value = "最新共享收入与业绩", notes = "最新共享收入与业绩") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = DappAccountMoneyChangeEntity.class) }) @GetMapping(value = "/changeInToday") public FebsResponse changeInToday() { return dappWalletService.changeInToday(); } @ApiOperation(value = "兑换AUSDT", notes = "兑换AUSDT") @PostMapping(value = "/transferAusd") public FebsResponse transferAusd(@RequestBody TransferAusdDto transferAusdDto) { return new FebsResponse().success().data(dappWalletService.transferAusd(transferAusdDto)); } @ApiOperation(value = "闪兑-资产钱包转帐到闪兑钱包3% 手续费(扣币)", notes = "资产钱包转帐到闪兑钱包3% 手续费(扣币)") @PostMapping(value = "/mineToCoin") public FebsResponse mineToCoin(@RequestBody MineToCoinDto mineToCoinDto) { dappWalletService.mineToCoin(mineToCoinDto); return new FebsResponse().success().data("success"); } @ApiOperation(value = "互转ANDAO", notes = "互转ANDAO") @PostMapping(value = "/roundCoin") public FebsResponse roundCoin(@RequestBody RoundCoinDto roundCoinDto) { dappWalletService.roundCoin(roundCoinDto); return new FebsResponse().success().data("success"); } @ApiOperation(value = "互转AUSDT", notes = "互转AUSDT") @PostMapping(value = "/roundCoinAusdt") public FebsResponse roundCoinAusdt(@RequestBody RoundCoinDto roundCoinDto) { dappWalletService.roundCoinAusdt(roundCoinDto); return new FebsResponse().success().data("success"); } @ApiOperation(value = "提现规则", notes = "提现规则") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class) }) @GetMapping(value = "/cashOutSetting") public FebsResponse cashOutSetting() { return new FebsResponse().success().data(dappWalletService.cashOutSetting()); } @ApiOperation(value = "提现", notes = "提现") @PostMapping(value = "/withdraw") public FebsResponse withdraw(@RequestBody @Valid WithdrawDto withdrawDto) { // return new FebsResponse().success().message("合约更新中"); dappWalletService.withdraw(withdrawDto); return new FebsResponse().success().message("success"); } @ApiOperation(value = "动能信息", notes = "动能信息") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiRunListInfoVo.class) }) @PostMapping(value = "/runListInfo") public FebsResponse runListInfo() { return new FebsResponse().success().data(dappMemberService.findRunListInfo()); } @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(); } }