xiaoyong931011
2020-05-28 0290652dcced4d31540555abd7adf6e30cdbe29e
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -13,7 +13,6 @@
import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum;
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
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;
@@ -28,6 +27,7 @@
import com.xcong.excoin.modules.member.entity.MemberWalletAgentEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
import com.xcong.excoin.modules.platform.dao.CnyUsdtExchangeDao;
import com.xcong.excoin.utils.MessageSourceUtils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -52,50 +52,51 @@
   
   @Override
   public Result getWalletCoin() {
      try {
         BigDecimal totalUsdt = BigDecimal.ZERO;
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne();
         BigDecimal cnyUsdt = cnyUsdtExchange.getValue();
         
         BigDecimal totalUsdts = BigDecimal.ZERO;
         if(!StrUtil.isEmpty(memberId.toString())) {
            
            List<MemberWalletCoinEntity> memberWalletCoinlist = memberWalletCoinDao.selectMemberWalletCoinsByMemberId(memberId);
            List<MemberWalletCoinInfoVo> memberWalletCoinInfoVolist = new ArrayList<MemberWalletCoinInfoVo>();
            MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo();
            if(CollUtil.isNotEmpty(memberWalletCoinlist)) {
               for(MemberWalletCoinEntity memberWalletCoinEntity : memberWalletCoinlist) {
                  memberWalletCoinInfoVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance());
                  memberWalletCoinInfoVo.setFrozenBalance(memberWalletCoinEntity.getFrozenBalance());
                  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());
                  memberWalletCoinInfoVo.setTotalBalance(memberWalletCoinEntity.getTotalBalance().setScale(4, BigDecimal.ROUND_DOWN));
                  memberWalletCoinInfoVo.setWalletCode(memberWalletCoinEntity.getWalletCode());
                  memberWalletCoinInfoVolist.add(memberWalletCoinInfoVo);
               }
            }
            
            if(CollUtil.isNotEmpty(memberWalletCoinlist)) {
               for(MemberWalletCoinEntity walletCoin : memberWalletCoinlist) {
            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);
                     BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
                     walletCoin.setTotalBalance(totalCny.setScale(4, BigDecimal.ROUND_DOWN));
                  }else {
                     BigDecimal amount = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
                     BigDecimal closePrice = new BigDecimal("10.0000");
                     BigDecimal totalUsdt = BigDecimal.ZERO;
                     //Double closePrice = symbolsService.getCloseSymbolsBySymbolsName(walletCoin.getWalletCode()+"/USDT");
                     totalUsdt = totalUsdt.add(amount.multiply(closePrice));
                     walletCoin.setTotalBalance(totalUsdt.multiply(closePrice).multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
                     totalUsdts = totalUsdts.add(totalUsdt);
                     walletCoin.setTotalBalance(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
                  }
               }
            }
            MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo();
            memberWalletCoinVo.setTotalUsdt(totalUsdt.setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setTotalCny(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setTotalUsdt(totalUsdts.setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setTotalCny(totalUsdts.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setMemberWalletCoinInfoVo(memberWalletCoinInfoVolist);
            return Result.ok(memberWalletCoinVo);
         }else {
@@ -122,20 +123,15 @@
            memberWalletCoinlist.add(coin);
            
            MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo();
            memberWalletCoinVo.setTotalUsdt(totalUsdt.setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setTotalCny(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setTotalUsdt(totalUsdts.setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setTotalCny(totalUsdts.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
            memberWalletCoinVo.setMemberWalletCoinInfoVo(memberWalletCoinlist);;
            return Result.ok(memberWalletCoinVo);
         }
      } catch (Exception e) {
         e.printStackTrace();
         return Result.fail(MessageSourceUtils.getString("member_service_0003"));
      }
   }
   @Override
   public Result getWalletCoinBySymbol(String symbol) {
      try {
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId,symbol);
@@ -159,10 +155,6 @@
            }
         }
         return Result.ok(memberWalletCoinInfoVo);
      } catch (Exception e) {
         e.printStackTrace();
         return Result.fail(MessageSourceUtils.getString("member_service_0003"));
      }
   }
   @Override
@@ -348,8 +340,8 @@
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      List<MemberAccountMoneyChange> coinRecordList = memberAccountMoneyChangeDao.selectWalletCoinRecordsByMemIdTypeSymbol(memberId);
      ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
      if(ObjectUtil.isNotNull(coinRecordList)) {
      List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
      if(CollUtil.isNotEmpty(coinRecordList)) {
         for(MemberAccountMoneyChange memberAccountMoneyChange : coinRecordList) {
            MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
            memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
@@ -357,6 +349,7 @@
            memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
            memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
            memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
            memberAccountMoneyChangeInfoVo.setUpdateTime(memberAccountMoneyChange.getUpdateTime());
            arrayList.add(memberAccountMoneyChangeInfoVo);
         }
      }
@@ -370,7 +363,7 @@
      String symbol = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
      List<MemberAccountMoneyChange> contractRecordList = memberAccountMoneyChangeDao.selectWalletContractRecordsByMemIdTypeSymbol(symbol,memberId);
      
      ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
      List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
      if(ObjectUtil.isNotNull(contractRecordList)) {
         for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
            MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
@@ -379,6 +372,7 @@
            memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
            memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
            memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
            memberAccountMoneyChangeInfoVo.setUpdateTime(memberAccountMoneyChange.getUpdateTime());
            arrayList.add(memberAccountMoneyChangeInfoVo);
         }
      }
@@ -394,7 +388,7 @@
      List<MemberAccountMoneyChange> contractRecordList = 
            memberAccountMoneyChangeDao.selectWalletAgentRecordByMemIdTypeSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue(),memberId);
      
      ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
      List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
      if(ObjectUtil.isNotNull(contractRecordList)) {
         for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
            MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
@@ -403,6 +397,7 @@
            memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
            memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
            memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
            memberAccountMoneyChangeInfoVo.setUpdateTime(memberAccountMoneyChange.getUpdateTime());
            arrayList.add(memberAccountMoneyChangeInfoVo);
         }
      }