From 9e8a8a68126721ac336b1bbc77e1f11d85a538cb Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 14 Aug 2020 11:02:56 +0800 Subject: [PATCH] Merge branch 'master' into whole --- src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java | 11 +++++ src/main/java/com/xcong/excoin/modules/coin/parameter/vo/AllWalletCoinVo.java | 28 ++++++++++++++ src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 64 ++++++++++++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 4 +- src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java | 2 + 5 files changed, 107 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java index c71d9d3..64df9f2 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java +++ b/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java @@ -5,6 +5,7 @@ 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.MemberAccountMoneyChangeInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberAgentIntoInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo; @@ -37,6 +38,16 @@ 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 */ diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/AllWalletCoinVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/AllWalletCoinVo.java new file mode 100644 index 0000000..d1e4ae2 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/AllWalletCoinVo.java @@ -0,0 +1,28 @@ +package com.xcong.excoin.modules.coin.parameter.vo; + +import java.math.BigDecimal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "AllWalletCoinVo", description = "信息返回") +public class AllWalletCoinVo { + + @ApiModelProperty(value = "账户总USDT") + private BigDecimal totalUsdt; + + @ApiModelProperty(value = "账户总RMB") + private BigDecimal totalCny; + + @ApiModelProperty(value = "币币USDT") + private BigDecimal walletUsdt; + + @ApiModelProperty(value = "合约USDT") + private BigDecimal contractUsdt; + + @ApiModelProperty(value = "代理USDT") + private BigDecimal agentUsdt; + + +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java b/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java index 673e91b..58cdd57 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java @@ -37,4 +37,6 @@ public Result getWalletAgentRecords(@Valid RecordsPageDto recordsPageDto); + public Result getAllWalletCoin(); + } diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java index e3eaa85..e7ddaae 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java @@ -22,6 +22,7 @@ import com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity; import com.xcong.excoin.modules.coin.mapper.MemberAccountMoneyChangeMapper; import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; +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; @@ -510,4 +511,67 @@ return Result.ok(pageEntityToPageVo); } + @Override + public Result getAllWalletCoin() { + //获取【币币】 + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + PlatformCnyUsdtExchangeEntity cnyUsdtExchange = cnyUsdtExchangeDao.getCNYAndUSDTOne(); + BigDecimal cnyUsdt = cnyUsdtExchange.getValue(); + AllWalletCoinVo allWalletCoinVo = new AllWalletCoinVo(); + + BigDecimal totalUsdts = BigDecimal.ZERO; + if (!StrUtil.isEmpty(memberId.toString())) { + + List<MemberWalletCoinEntity> memberWalletCoinlist = memberWalletCoinDao.selectMemberWalletCoinsByMemberId(memberId); + List<MemberWalletCoinInfoVo> memberWalletCoinInfoVolist = new ArrayList<MemberWalletCoinInfoVo>(); + + if (CollUtil.isNotEmpty(memberWalletCoinlist)) { + for (MemberWalletCoinEntity memberWalletCoinEntity : memberWalletCoinlist) { + MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo(); + memberWalletCoinInfoVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletCoinInfoVo.setFrozenBalance(memberWalletCoinEntity.getFrozenBalance().setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletCoinInfoVo.setMemberId(memberWalletCoinEntity.getMemberId()); + memberWalletCoinInfoVo.setTotalBalance(memberWalletCoinEntity.getTotalBalance().setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletCoinInfoVo.setWalletCode(memberWalletCoinEntity.getWalletCode()); + memberWalletCoinInfoVolist.add(memberWalletCoinInfoVo); + } + } + + if (CollUtil.isNotEmpty(memberWalletCoinInfoVolist)) { + for (MemberWalletCoinInfoVo walletCoin : memberWalletCoinInfoVolist) { + if (MemberWalletCoinEnum.WALLETCOINCODE.getValue().equals(walletCoin.getWalletCode())) { + BigDecimal totalUsdt = BigDecimal.ZERO; + totalUsdt = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance()); + totalUsdts = totalUsdts.add(totalUsdt); + } else { + BigDecimal amount = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance()); + // 获取最新价 + BigDecimal closePrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(walletCoin.getWalletCode()+"/USDT"))); + BigDecimal totalUsdt = BigDecimal.ZERO; + totalUsdt = totalUsdt.add(amount.multiply(closePrice)); + totalUsdts = totalUsdts.add(totalUsdt); + } + } + } + } + allWalletCoinVo.setWalletUsdt(totalUsdts.setScale(4, BigDecimal.ROUND_DOWN)); + //获取【合约】 + String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); + MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode); + if (ObjectUtil.isEmpty(walletContract)) { + return Result.fail(MessageSourceUtils.getString("member_service_0001")); + } + allWalletCoinVo.setContractUsdt(walletContract.getTotalBalance().setScale(4, BigDecimal.ROUND_DOWN)); + totalUsdts = totalUsdts.add(walletContract.getTotalBalance()); + //获取【代理】 + MemberWalletAgentEntity walletAgent = memberWalletAgentDao.selectWalletAgentBymIdAndCode(memberId, walletCode); + BigDecimal availableBalance = walletAgent.getAvailableBalance(); + allWalletCoinVo.setAgentUsdt(availableBalance.setScale(4, BigDecimal.ROUND_DOWN)); + totalUsdts = totalUsdts.add(availableBalance); + + allWalletCoinVo.setTotalUsdt(totalUsdts.setScale(4, BigDecimal.ROUND_DOWN)); + allWalletCoinVo.setTotalCny(totalUsdts.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); + return Result.ok(allWalletCoinVo); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index 8dd0b3a..e317ffa 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -160,8 +160,8 @@ MemberSettingEntity memberSettingEntity = new MemberSettingEntity(); memberSettingEntity.setSpread(BigDecimal.ONE); - memberSettingEntity.setClosingSpread(BigDecimal.ONE); - memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0015)); + memberSettingEntity.setClosingSpread(BigDecimal.valueOf(5)); + memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0030)); memberSettingEntity.setMemberId(member.getId()); memberSettingDao.insert(memberSettingEntity); -- Gitblit v1.9.1