From e36b2b78017e480c8782f5969892c2ecb5fcbeb2 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 25 May 2020 16:50:36 +0800 Subject: [PATCH] 20200525 --- src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 70 insertions(+), 35 deletions(-) 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 b24e3ef..37e8d4e 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 @@ -2,9 +2,7 @@ import java.math.BigDecimal; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; @@ -18,8 +16,11 @@ import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao; import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange; import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; +import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo; +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 com.xcong.excoin.modules.coin.service.CoinService; import com.xcong.excoin.modules.member.dao.MemberWalletAgentDao; import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; @@ -132,27 +133,31 @@ } @Override - public Result getWalletCoinById(Long id) { + public Result getWalletCoinBySymbol(String symbol) { try { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); - MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectById(id); - + MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId,symbol); + MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo(); + memberWalletCoinInfoVo.setFrozenBalance(walletCoin.getFrozenBalance()); + memberWalletCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance()); + memberWalletCoinInfoVo.setMemberId(memberId); + memberWalletCoinInfoVo.setWalletCode(symbol); if(!StrUtil.isEmpty(memberId.toString())) { CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne(); BigDecimal cnyUsdt = cnyUsdtExchange.getValue(); BigDecimal total = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance()); if(MemberWalletCoinEnum.WALLETCOINCODE.getValue().equals(walletCoin.getWalletCode())) { - walletCoin.setTotalBalance(total.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletCoinInfoVo.setTotalBalance(total.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); }else { BigDecimal closePrice = new BigDecimal("10.0000"); //Double closePrice = symbolsService.getCloseSymbolsBySymbolsName(wallet.getCode()+"/USDT"); - walletCoin.setTotalBalance(total.multiply(closePrice).multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletCoinInfoVo.setTotalBalance(total.multiply(closePrice).multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); } } - return Result.ok(walletCoin); + return Result.ok(memberWalletCoinInfoVo); } catch (Exception e) { e.printStackTrace(); return Result.fail(MessageSourceUtils.getString("member_service_0003")); @@ -181,9 +186,6 @@ BigDecimal profitAndLoss = new BigDecimal("50.000"); //获取总付款 BigDecimal totalPayment = new BigDecimal("50.000"); - - walletContract.setFrozenBalance(totalPayment.setScale(4, BigDecimal.ROUND_DOWN)); - BigDecimal lastTotalBalance = new BigDecimal("0"); BigDecimal totalBalance = walletContract.getTotalBalance(); lastTotalBalance = totalBalance.add(profitAndLoss); @@ -191,14 +193,13 @@ lastTotalBalance = new BigDecimal("0"); } - walletContract.setAvailableBalance(walletContract.getAvailableBalance()); - walletContract.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN)); + MemberWalletContractInfoVo memberWalletContractInfoVo = new MemberWalletContractInfoVo(); + memberWalletContractInfoVo.setFrozenBalance(totalPayment.setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletContractInfoVo.setAvailableBalance(walletContract.getAvailableBalance()); + memberWalletContractInfoVo.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletContractInfoVo.setTotalRMBBalance(lastTotalBalance.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); - Map<String,Object> map = new HashMap<String, Object>(); - map.put(MemberWalletCoinEnum.WALLETCOINUSDT.getValue(), lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN)); - map.put(MemberWalletCoinEnum.WALLETCONTRACT.getValue(), walletContract); - map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(), lastTotalBalance.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN)); - return Result.ok(map); + return Result.ok(memberWalletContractInfoVo); } @Override @@ -327,8 +328,8 @@ Long memberId = LoginUserUtils.getAppLoginUser().getId(); String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode); - - return Result.ok(walletContract); + BigDecimal availableBalance = walletContract.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN); + return Result.ok(availableBalance); } @Override @@ -338,26 +339,50 @@ MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol); BigDecimal availableBalance = walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN); - walletCoin.setAvailableBalance(availableBalance); - return Result.ok(walletCoin); + return Result.ok(availableBalance); } @Override public Result getWalletCoinRecords() { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); - List<MemberAccountMoneyChange> coinRecordList = memberAccountMoneyChangeDao.selectWalletCoinRecordsByMemIdTypeSymbol(memberId); - return Result.ok(coinRecordList); + ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>(); + if(ObjectUtil.isNotNull(coinRecordList)) { + for(MemberAccountMoneyChange memberAccountMoneyChange : coinRecordList) { + MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo(); + memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount()); + memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent()); + memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus()); + memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol()); + memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType()); + arrayList.add(memberAccountMoneyChangeInfoVo); + } + } + return Result.ok(arrayList); } @Override - public Result getWalletContractRecords(String symbol) { + public Result getWalletContractRecords() { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); - + String symbol = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); List<MemberAccountMoneyChange> contractRecordList = memberAccountMoneyChangeDao.selectWalletContractRecordsByMemIdTypeSymbol(symbol,memberId); - return Result.ok(contractRecordList); + + ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>(); + if(ObjectUtil.isNotNull(contractRecordList)) { + for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) { + MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo(); + memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount()); + memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent()); + memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus()); + memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol()); + memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType()); + arrayList.add(memberAccountMoneyChangeInfoVo); + } + } + + return Result.ok(arrayList); } @Override @@ -367,7 +392,20 @@ List<MemberAccountMoneyChange> contractRecordList = memberAccountMoneyChangeDao.selectWalletAgentRecordByMemIdTypeSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue(),memberId); - return Result.ok(contractRecordList); + + ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>(); + if(ObjectUtil.isNotNull(contractRecordList)) { + for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) { + MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo(); + memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount()); + memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent()); + memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus()); + memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol()); + memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType()); + arrayList.add(memberAccountMoneyChangeInfoVo); + } + } + return Result.ok(arrayList); } @Override @@ -468,15 +506,12 @@ CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne(); BigDecimal cnyUsdt = cnyUsdtExchange.getValue(); - BigDecimal multiply = availableBalance.multiply(cnyUsdt); - walletAgent.setAvailableBalance(availableBalance); - Map<String,Object> map = new HashMap<String, Object>(); - map.put(MemberWalletCoinEnum.WALLETCOINUSDT.getValue(), availableBalance.setScale(4, BigDecimal.ROUND_DOWN)); - map.put(MemberWalletCoinEnum.WALLETAGENT.getValue(), walletAgent); - map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(), multiply.setScale(4, BigDecimal.ROUND_DOWN)); - return Result.ok(map); + MemberWalletAgentInfoVo memberWalletAgentInfoVo = new MemberWalletAgentInfoVo(); + memberWalletAgentInfoVo.setTotalBalance(availableBalance.setScale(4, BigDecimal.ROUND_DOWN)); + memberWalletAgentInfoVo.setTotalRMBBalance(multiply.setScale(4, BigDecimal.ROUND_DOWN)); + return Result.ok(memberWalletAgentInfoVo); } } -- Gitblit v1.9.1