| | |
| | |
|
| | | 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;
|
| | |
| | | @Resource
|
| | | MemberWalletCoinDao memberWalletCoinDao;
|
| | | @Resource
|
| | | ZhiYaDao zhiYaDao;
|
| | | @Resource
|
| | | MemberWalletContractDao memberWalletContractDao;
|
| | | @Resource
|
| | | MemberAccountMoneyChangeDao memberAccountMoneyChangeDao;
|
| | |
| | | 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")));
|
| | |
| | | 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();
|
| | |
| | | }
|
| | |
|
| | | @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) {
|
| | |
| | | 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"));
|
| | | }
|
| | |
|
| | | //添加资金划转历史记录
|
| | |
| | | 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) {
|
| | |
| | | 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);
|
| | |
| | | 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();
|
| | |
| | | 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");
|