xiaoyong931011
2022-02-21 6258b45b69d75325b7d6df7edf2761c22a87369b
src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
@@ -5,38 +5,55 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import com.xcong.excoin.modules.coin.parameter.dto.UsdtToGusdDto;
import com.xcong.excoin.modules.coin.parameter.vo.AllWalletCoinVo;
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.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.xcong.excoin.common.response.Result;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Api(value = "会员资产接口", tags = "会员资产接口")
@RestController
@RequestMapping(value = "/api/coin")
@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();
@@ -47,9 +64,13 @@
    * @return
    */
   @ApiOperation(value="获取币币账户某个币种信息", notes="获取币币账户某个币种信息")
   @GetMapping(value = "/getWalletCoinById")
   public Result getWalletCoinById(@RequestParam("id") Long id) {
      return coinService.getWalletCoinById(id);
   @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);
   }
   
   /**
@@ -58,19 +79,20 @@
    * @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="查询合约账户里面的资产余额")
   @ApiOperation(value="查询合约账户里面的可用资产余额", notes="查询合约账户里面的可用资产余额")
   @GetMapping(value="/findWalletContractBySymbol")
   public Result findWalletContractBySymbol(String symbol) {
      return coinService.findWalletContractBySymbol(symbol);
   public Result findWalletContractBySymbol() {
      return coinService.findWalletContractBySymbol();
   }
   
   /**
@@ -78,6 +100,9 @@
    * @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);
@@ -87,7 +112,8 @@
    * 查询代理账户里面的资产余额
    * @return
    */
   @ApiOperation(value="查询代理账户里面的资产余额", notes="查询代理账户里面的资产余额")
   @ApiOperation(value="查询代理账户信息", notes="查询代理账户信息")
   @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberWalletAgentInfoVo.class)})
   @GetMapping(value="/findWalletAgentBySymbol")
   public Result findWalletAgentBySymbol() {
      return coinService.findWalletAgentBySymbol();
@@ -98,9 +124,10 @@
    * @return
    */
   @ApiOperation(value="获取币币资产交易记录", notes="获取币币资产交易记录")
   @GetMapping(value="/getWalletCoinRecords")
   public Result  getWalletCoinRecords() {
      return coinService.getWalletCoinRecords();
   @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)})
   @PostMapping(value="/getWalletCoinRecords")
   public Result  getWalletCoinRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
      return coinService.getWalletCoinRecords(recordsPageDto);
   }
   
   /**
@@ -108,9 +135,10 @@
    * @return
    */
   @ApiOperation(value="获取合约资产交易记录", notes="获取合约资产交易记录")
   @GetMapping(value="/getWalletContractRecords")
   public Result getWalletContractRecords(String symbol) {
      return coinService.getWalletContractRecords(symbol);
   @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)})
   @PostMapping(value="/getWalletContractRecords")
   public Result getWalletContractRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
      return coinService.getWalletContractRecords(recordsPageDto);
   }
   
   /**
@@ -118,9 +146,21 @@
    * @return
    */
   @ApiOperation(value="获取代理资产交易记录", notes="获取代理资产交易记录")
   @GetMapping(value="/getWalletAgentRecords")
   public Result  getWalletAgentRecords() {
      return coinService.getWalletAgentRecords();
   @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);
   }
   
   /**
@@ -151,37 +191,25 @@
    * 代理账户划转到USDT账户
    * @return
    */
   @ApiOperation(value="代理账户划转到USDT账户", notes="代理账户划转到USDT账户")
   @ApiOperation(value="代理账户划转到合约或币币USDT账户", notes="代理账户划转到合约或币币USDT账户")
   @PostMapping(value="/agentTransferToWalletCoin")
   @ApiImplicitParam(name = "token", value = "token", required = true, dataType = "String", paramType = "body")
   public Result  agentTransferToWalletCoin(@RequestBody @Valid TransferOfBalanceDto transferOfBalanceDto) {
      BigDecimal balance = transferOfBalanceDto.getBalance();
      Integer transfertype = transferOfBalanceDto.getTransfertype();
   public Result  agentTransferToWalletCoin(@RequestBody @Valid TransferOfBalanceFromAgentDto transferOfBalanceFromAgentDto) {
      BigDecimal balance = transferOfBalanceFromAgentDto.getBalance();
      Integer transfertype = transferOfBalanceFromAgentDto.getTransfertype();
      return coinService.agentTransferToWalletCoin(balance,transfertype);
   }
   /**
    * USDT兌換成GUSD
    * @return
    */
   @ApiOperation(value="USDT兌換成GUSD", notes="USDT兌換成GUSD")
   @PostMapping(value="/usdtToGusd")
   public Result  usdtToGusd(@RequestBody @Valid UsdtToGusdDto usdtToGusdDto) {
      BigDecimal balance = usdtToGusdDto.getBalance();
      Integer transfertype = usdtToGusdDto.getTransfertype();
      return coinService.usdtToGusd(balance,transfertype);
   }
   
}