From 13ba1829996923725a1881aab88ce402abf579fd Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 24 Feb 2022 11:04:21 +0800 Subject: [PATCH] 20222223 --- src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 88 +++++++++++++++++++++++++++++++++---------- 1 files changed, 67 insertions(+), 21 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 7692d4a..bffd942 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 @@ -7,7 +7,9 @@ import cn.hutool.core.util.RandomUtil; import cn.hutool.core.date.DateUtil; +import com.xcong.excoin.modules.coin.dao.ZhiYaDao; import com.xcong.excoin.modules.coin.dao.ZhiYaRecordDao; +import com.xcong.excoin.modules.coin.entity.ZhiYaEntity; import com.xcong.excoin.modules.coin.entity.ZhiYaRecordEntity; import com.xcong.excoin.modules.platform.entity.PlatformCnyUsdtExchangeEntity; import org.springframework.stereotype.Service; @@ -58,6 +60,8 @@ @Resource MemberWalletCoinDao memberWalletCoinDao; @Resource + ZhiYaDao zhiYaDao; + @Resource MemberWalletContractDao memberWalletContractDao; @Resource MemberAccountMoneyChangeDao memberAccountMoneyChangeDao; @@ -102,7 +106,15 @@ totalUsdts = totalUsdts.add(totalUsdt); BigDecimal totalCny = totalUsdt.multiply(cnyUsdt); walletCoin.setTotalBalance(totalCny); - } else { + } +// else if (MemberWalletCoinEnum.WALLETGUSDCOINCODE.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); +// } + else { BigDecimal amount = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance()); // 获取最新价 BigDecimal closePrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(walletCoin.getWalletCode()+"/USDT"))); @@ -140,6 +152,10 @@ coin.setWalletCode(CoinTypeEnum.XRP.toString()); memberWalletCoinlist.add(coin); coin.setWalletCode(CoinTypeEnum.ETC.toString()); + memberWalletCoinlist.add(coin); +// coin.setWalletCode(CoinTypeEnum.GUSD.toString()); +// memberWalletCoinlist.add(coin); + coin.setWalletCode(CoinTypeEnum.GOLDRICE.toString()); memberWalletCoinlist.add(coin); MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo(); @@ -602,7 +618,7 @@ } @Override - public Result usdtToGusd(BigDecimal balance, Integer transfertype) { + public Result usdtToGusd(BigDecimal balance) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); if (balance.compareTo(BigDecimal.ZERO) <= 0) { @@ -628,21 +644,23 @@ memberWalletCoinEntity.setTotalBalance(total); int i = memberWalletCoinDao.updateById(memberWalletCoinEntity); if (i < 1) { - return Result.fail(MessageSourceUtils.getString("member_service_0095")); + return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //添加资金划转历史记录 MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange(); //获取usdt兑换gusd的兑换比例 - String gusdName = CoinTypeEnum.GUSD.name(); - MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName); - BigDecimal gusdAvailableBalance = gusdMemberWalletCoinEntity.getAvailableBalance(); - BigDecimal gusdTotalBalance = gusdMemberWalletCoinEntity.getTotalBalance(); - gusdMemberWalletCoinEntity.setAvailableBalance(gusdAvailableBalance.add(balance)); - gusdMemberWalletCoinEntity.setTotalBalance(gusdTotalBalance.add(balance)); + ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); - int updateById = memberWalletCoinDao.updateById(gusdMemberWalletCoinEntity); +// String gusdName = MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue(); +// MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName); + BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance(); + BigDecimal gusdTotalBalance = zhiya.getTotalBalance(); + zhiya.setAvailableBalance(gusdAvailableBalance.add(balance)); + zhiya.setTotalBalance(gusdTotalBalance.add(balance)); + + int updateById = zhiYaDao.updateById(zhiya); if (updateById < 1) { - return Result.fail(MessageSourceUtils.getString("member_service_0095")); + return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //添加资金划转历史记录 @@ -665,11 +683,13 @@ return Result.fail(MessageSourceUtils.getString("member_service_0005")); } //质押Gusd,质押数量进入冻结余额, - String gusdName = CoinTypeEnum.GUSD.name(); - MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName); - BigDecimal gusdAvailableBalance = gusdMemberWalletCoinEntity.getAvailableBalance(); - BigDecimal gusdTotalBalance = gusdMemberWalletCoinEntity.getTotalBalance(); - BigDecimal gusdfrozenBalance = gusdMemberWalletCoinEntity.getFrozenBalance(); +// String gusdName = MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue(); +// MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName); + + ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); + BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance(); + BigDecimal gusdTotalBalance = zhiya.getTotalBalance(); + BigDecimal gusdfrozenBalance = zhiya.getFrozenBalance(); BigDecimal available = gusdAvailableBalance.subtract(balance); if (available.compareTo(BigDecimal.ZERO) < 0) { @@ -679,12 +699,12 @@ if (total.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0005")); } - gusdMemberWalletCoinEntity.setFrozenBalance(gusdfrozenBalance.add(gusdfrozenBalance)); - gusdMemberWalletCoinEntity.setAvailableBalance(gusdAvailableBalance.subtract(balance)); + zhiya.setFrozenBalance(gusdfrozenBalance.add(gusdfrozenBalance)); + zhiya.setAvailableBalance(gusdAvailableBalance.subtract(balance)); - int updateById = memberWalletCoinDao.updateById(gusdMemberWalletCoinEntity); + int updateById = zhiYaDao.updateById(zhiya); if (updateById < 1) { - return Result.fail(MessageSourceUtils.getString("member_service_0095")); + return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //产生质押单,当前有的话,累加质押数量 ZhiYaRecordEntity zhiYaRecord = zhiYaRecordDao.selectByMemberIdAndOrderStatus(memberId,1); @@ -693,7 +713,7 @@ ZhiYaRecordEntity zhiYaRecordEntity = new ZhiYaRecordEntity(); zhiYaRecordEntity.setMemberId(memberId); zhiYaRecordEntity.setOrderNo(generateSimpleSerialno(memberId.toString())); - zhiYaRecordEntity.setSymbol(gusdName); + zhiYaRecordEntity.setSymbol(MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue()); zhiYaRecordEntity.setZhiyaCnt(balance); zhiYaRecordEntity.setOrderStatus(1); Date date = new Date(); @@ -711,6 +731,32 @@ return Result.ok(MessageSourceUtils.getString("member_service_0024")); } + @Override + public Result shuhuiGusd(BigDecimal balance) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + if (balance.compareTo(BigDecimal.ZERO) <= 0) { + return Result.fail(MessageSourceUtils.getString("order_service_0010")); + } + //质押Gusd,质押数量进入冻结余额, +// String gusdName = MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue(); +// MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName); + ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); + BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance(); + BigDecimal gusdTotalBalance = zhiya.getTotalBalance(); + BigDecimal gusdfrozenBalance = zhiya.getFrozenBalance(); + + BigDecimal frozen = gusdfrozenBalance.subtract(balance); + if (frozen.compareTo(BigDecimal.ZERO) < 0) { + return Result.fail(MessageSourceUtils.getString("zhiya_service_0001")); + } + BigDecimal total = gusdTotalBalance.subtract(balance); + if (total.compareTo(BigDecimal.ZERO) < 0) { + return Result.fail(MessageSourceUtils.getString("member_service_0005")); + } + return null; + } + public String generateSimpleSerialno(String userId) { StringBuilder sb = new StringBuilder(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); -- Gitblit v1.9.1