package com.xcong.excoin.modules.coin.controller; import java.math.BigDecimal; import javax.annotation.Resource; import javax.validation.Valid; import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletContractInfoVo; import io.swagger.annotations.*; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.coin.parameter.dto.TransferOfBalanceDto; import com.xcong.excoin.modules.coin.parameter.dto.TransferOfBalanceFromAgentDto; import com.xcong.excoin.modules.coin.service.CoinService; import lombok.extern.slf4j.Slf4j; @Slf4j @Api(value = "会员资产接口", tags = "会员资产接口") @RestController @RequestMapping(value = "/api/walletCoin") public class CoinController { @Resource private CoinService coinService; /** * 获取我的币币资产信息 * @return */ @ApiOperation(value = "获取我的币币账户信息", notes = "获取我的币币账户信息") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberWalletCoinVo.class)}) @GetMapping(value = "/getWalletCoin") public Result getWalletCoin() { return coinService.getWalletCoin(); } /** * 获取币币账户某个币种信息 * @return */ @ApiOperation(value="获取币币账户某个币种信息", notes="获取币币账户某个币种信息") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberWalletCoinInfoVo.class)}) @ApiImplicitParams({ @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query") }) @GetMapping(value = "/getWalletCoinBySymbol") public Result getWalletCoinBySymbol(String symbol) { return coinService.getWalletCoinBySymbol(symbol); } /** * --todo * 获取我的合约资产信息 * @return */ @ApiOperation(value="获取我的合约账户信息", notes="获取我的合约账户信息") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberWalletContractInfoVo.class)}) @GetMapping(value="/getWalletContractById") public Result getWalletContractById() { return coinService.getWalletContractById(); } /** * 查询合约账户里面的可用资产余额 * @return */ @ApiOperation(value="查询合约账户里面的可用资产余额", notes="查询合约账户里面的可用资产余额") @GetMapping(value="/findWalletContractBySymbol") public Result findWalletContractBySymbol() { return coinService.findWalletContractBySymbol(); } /** * 查询币币账户里面的可用资产余额 * @return */ @ApiOperation(value="查询币币账户里面的可用资产余额", notes="查询币币账户里面的可用资产余额") @ApiImplicitParams({ @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query") }) @GetMapping(value="/findWalletCoinBySymbol") public Result findWalletCoinBysymbol(String symbol) { return coinService.findWalletCoinBySymbol(symbol); } /** * 查询代理账户里面的资产余额 * @return */ @ApiOperation(value="查询代理账户信息", notes="查询代理账户信息") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberWalletAgentInfoVo.class)}) @GetMapping(value="/findWalletAgentBySymbol") public Result findWalletAgentBySymbol() { return coinService.findWalletAgentBySymbol(); } /** * 获取币币资产交易记录 * @return */ @ApiOperation(value="获取币币资产交易记录", notes="获取币币资产交易记录") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeVo.class)}) @GetMapping(value="/getWalletCoinRecords") public Result getWalletCoinRecords() { return coinService.getWalletCoinRecords(); } /** * 获取合约资产交易记录 * @return */ @ApiOperation(value="获取合约资产交易记录", notes="获取合约资产交易记录") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeVo.class)}) @GetMapping(value="/getWalletContractRecords") public Result getWalletContractRecords() { return coinService.getWalletContractRecords(); } /** * 获取代理资产交易记录 * @return */ @ApiOperation(value="获取代理资产交易记录", notes="获取代理资产交易记录") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeVo.class)}) @GetMapping(value="/getWalletAgentRecords") public Result getWalletAgentRecords() { return coinService.getWalletAgentRecords(); } /** * 币币账户USDT划转到合约账户 * @return */ @ApiOperation(value="币币账户USDT划转到合约账户", notes="币币账户USDT划转到合约账户") @PostMapping(value="/coinWalletTransferToContract") public Result coinWalletTransferToContract(@RequestBody @Valid TransferOfBalanceDto transferOfBalanceDto) { BigDecimal balance = transferOfBalanceDto.getBalance(); String symbol = transferOfBalanceDto.getSymbol(); return coinService.coinWalletTransferToContract(balance,symbol); } /** * 合约账户划转到币币USDT账户 * @return */ @ApiOperation(value="合约账户划转到币币USDT账户", notes="合约账户划转到币币USDT账户") @PostMapping(value="/contractTransferToWalletCoin") public Result contractTransferToWalletCoin(@RequestBody @Valid TransferOfBalanceDto transferOfBalanceDto) { BigDecimal balance = transferOfBalanceDto.getBalance(); String symbol = transferOfBalanceDto.getSymbol(); return coinService.contractTransferToWalletCoin(balance,symbol); } /** * 代理账户划转到USDT账户 * @return */ @ApiOperation(value="代理账户划转到合约或币币USDT账户", notes="代理账户划转到合约或币币USDT账户") @PostMapping(value="/agentTransferToWalletCoin") public Result agentTransferToWalletCoin(@RequestBody @Valid TransferOfBalanceFromAgentDto transferOfBalanceFromAgentDto) { BigDecimal balance = transferOfBalanceFromAgentDto.getBalance(); Integer transfertype = transferOfBalanceFromAgentDto.getTransfertype(); return coinService.agentTransferToWalletCoin(balance,transfertype); } }