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.AllWalletCoinVo; import com.xcong.excoin.modules.coin.parameter.vo.ContractSymbolListVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberAgentIntoInfoVo; 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.ContractInTransferDto; import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; 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 = AllWalletCoinVo.class)}) @GetMapping(value = "/getAllWalletCoin") public Result getAllWalletCoin() { return coinService.getAllWalletCoin(); } /** * 获取我的币币资产信息 * @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); } /** * 获取我的合约资产信息 * @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="查询合约账户里面的可用资产余额") @ApiImplicitParams({ @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query") }) @GetMapping(value="/findWalletContractBySymbol") public Result findWalletContractBySymbol(String symbol) { return coinService.findWalletContractBySymbol(symbol); } /** * 查询币币账户里面的可用资产余额 * @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 = MemberAccountMoneyChangeInfoVo.class)}) @PostMapping(value="/getWalletCoinRecords") public Result getWalletCoinRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) { return coinService.getWalletCoinRecords(recordsPageDto); } /** * 获取合约资产交易记录 * @return */ @ApiOperation(value="获取合约资产交易记录", notes="获取合约资产交易记录") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)}) @PostMapping(value="/getWalletContractRecords") public Result getWalletContractRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) { return coinService.getWalletContractRecords(recordsPageDto); } /** * 获取代理资产交易记录 * @return */ @ApiOperation(value="获取代理资产交易记录", notes="获取代理资产交易记录") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)}) @PostMapping(value="/getWalletAgentRecords") public Result getWalletAgentRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) { return coinService.getWalletAgentRecords(recordsPageDto); } /** * 获取代理资产佣金入账 * @return */ @ApiOperation(value="获取代理资产佣金入账", notes="获取代理资产佣金入账") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAgentIntoInfoVo.class)}) @PostMapping(value="/getWalletAgentIntoRecords") public Result getWalletAgentIntoRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) { return coinService.getWalletAgentIntoRecords(recordsPageDto); } /** * 币币账户USDT划转到合约账户 * @return */ @ApiOperation(value="币币账户USDT划转到合约账户", notes="币币账户USDT划转到合约账户") @PostMapping(value="/coinWalletTransferToContracts") public Result coinWalletTransferToContracts(@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="/coinWalletTransferToContract") public Result coinWalletTransferToContract(@RequestBody @Valid TransferOfBalanceDto transferOfBalanceDto) { BigDecimal balance = transferOfBalanceDto.getBalance(); String symbol = transferOfBalanceDto.getSymbol(); return coinService.coinWalletTransferToContracts(balance,symbol); } /** * 合约账户划转到币币USDT账户 * @return */ @ApiOperation(value="合约账户划转到币币USDT账户", notes="合约账户划转到币币USDT账户") @PostMapping(value="/contractTransferToWalletCoins") public Result contractTransferToWalletCoins(@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="/contractTransferToWalletCoin") public Result contractTransferToWalletCoin(@RequestBody @Valid TransferOfBalanceDto transferOfBalanceDto) { BigDecimal balance = transferOfBalanceDto.getBalance(); String symbol = transferOfBalanceDto.getSymbol(); return coinService.contractTransferToWalletCoins(balance,symbol); } /** * 合约账户内部划转(合约多账户) * @return */ @ApiOperation(value="合约账户内部划转(合约多账户)", notes="合约账户内部划转(合约多账户)") @PostMapping(value="/contractInTransfer") public Result contractInTransfer(@RequestBody @Valid ContractInTransferDto contractInTransferDto) { BigDecimal balance = contractInTransferDto.getBalance(); String symbolIn = contractInTransferDto.getSymbolIn(); String symbolOut = contractInTransferDto.getSymbolOut(); return coinService.contractInTransfer(balance,symbolIn,symbolOut); } /** * 代理账户划转到USDT账户 * @return */ @ApiOperation(value="代理账户划转到合约或币币USDT账户", notes="代理账户划转到合约或币币USDT账户") @PostMapping(value="/agentTransferToWalletCoins") public Result agentTransferToWalletCoins(@RequestBody @Valid TransferOfBalanceFromAgentDto transferOfBalanceFromAgentDto) { BigDecimal balance = transferOfBalanceFromAgentDto.getBalance(); Integer transfertype = transferOfBalanceFromAgentDto.getTransfertype(); return coinService.agentTransferToWalletCoin(balance,transfertype); } /** * 代理账户划转到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(); String symbol = transferOfBalanceFromAgentDto.getSymbol(); return coinService.agentTransferToWalletCoins(balance,transfertype,symbol); } /** * 合约账户列表 * @return */ @ApiOperation(value="合约账户列表", notes="合约账户列表") @ApiResponses({@ApiResponse( code = 200, message = "success", response = ContractSymbolListVo.class)}) @GetMapping(value="/getContractSymbolList") public Result getContractSymbolList() { return coinService.getContractSymbolList(); } }