xiaoyong931011
2022-02-24 9ee5d996a6537121aad58c46adb066c82381fa1c
src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
@@ -5,38 +5,46 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import com.xcong.excoin.modules.coin.parameter.dto.*;
import com.xcong.excoin.modules.coin.parameter.vo.*;
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.TransferOfBalanceDto;
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 +55,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 +70,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 +91,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 +103,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 +115,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 +126,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 +137,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 +182,78 @@
    * 代理账户划转到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);
   }
   /**
    * 获取GUSD账户信息
    */
   @ApiOperation(value="获取GUSD账户信息", notes="获取GUSD账户信息")
   @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberGusdInfoVo.class)})
   @GetMapping(value="/findMemberGusdInfo")
   public Result findMemberGusdInfo() {
      return coinService.findMemberGusdInfo();
   }
   /**
    * 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 type = usdtToGusdDto.getType();
      return coinService.usdtToGusd(balance,type);
   }
   /**
    *  获取兌換GUSD记录
    * @return
    */
   @ApiOperation(value="获取兌換GUSD记录", notes="获取兌換GUSD记录")
   @ApiResponses({@ApiResponse( code = 200, message = "success", response = UsdtToGusdVo.class)})
   @PostMapping(value="/getusdtToGusdRecords")
   public Result getusdtToGusdRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
      return coinService.getusdtToGusdRecords(recordsPageDto);
   }
   /**
    * 质押GUSD
    */
   @ApiOperation(value="质押GUSD", notes="质押GUSD")
   @PostMapping(value="/zhiYaGusd")
   public Result  zhiYaGusd(@RequestBody @Valid ZhiYaGusdDto zhiYaGusdDto) {
      BigDecimal balance = zhiYaGusdDto.getBalance();
      return coinService.zhiYaGusd(balance);
   }
   /**
    *  获取质押GUSD记录
    * @return
    */
   @ApiOperation(value="获取质押GUSD记录", notes="获取质押GUSD记录")
   @ApiResponses({@ApiResponse( code = 200, message = "success", response = ZhiyaInfoVo.class)})
   @PostMapping(value="/getZhiyaRecords")
   public Result  getZhiyaRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
      return coinService.getZhiyaRecords(recordsPageDto);
   }
   /**
    * 赎回GUSD
    */
   @ApiOperation(value="赎回GUSD", notes="赎回GUSD")
   @PostMapping(value="/shuhuiGusd")
   public Result  shuhuiGusd(@RequestBody @Valid ShuhuiGusdDto shuhuiGusdDto) {
      BigDecimal balance = shuhuiGusdDto.getBalance();
      Long id = shuhuiGusdDto.getId();
      return coinService.shuhuiGusd(balance,id);
   }
   
}