| | |
| | | import com.xcong.excoin.common.system.dto.RegisterDto; |
| | | import com.xcong.excoin.common.system.service.CommonService; |
| | | import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao; |
| | | import com.xcong.excoin.modules.coin.dao.TrcAddressDao; |
| | | import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; |
| | | import com.xcong.excoin.modules.coin.entity.TrcAddressEntity; |
| | | import com.xcong.excoin.modules.member.dao.*; |
| | | import com.xcong.excoin.modules.member.entity.*; |
| | | import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto; |
| | |
| | | import com.xcong.excoin.modules.platform.dao.PlatformSymbolsCoinDao; |
| | | import com.xcong.excoin.modules.platform.entity.PlatformFeeSettingEntity; |
| | | import com.xcong.excoin.modules.platform.entity.PlatformSymbolsCoinEntity; |
| | | import com.xcong.excoin.utils.MessageSourceUtils; |
| | | import com.xcong.excoin.utils.RedisUtils; |
| | | import com.xcong.excoin.utils.ShareCodeUtil; |
| | | import com.xcong.excoin.utils.ThreadPoolUtils; |
| | | import com.xcong.excoin.utils.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | |
| | | @Resource |
| | | private MemberWalletContractSimulateDao memberWalletContractSimulateDao; |
| | | |
| | | @Resource |
| | | private TrcAddressDao trcAddressDao; |
| | | |
| | | @Transactional() |
| | | @Override |
| | |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0082")); |
| | | } |
| | | |
| | | if (CoinTypeEnum.USDT.name().equals(memberSubmitCoinApplyDto.getSymbol())) { |
| | | if ("ERC20".equals(memberSubmitCoinApplyDto.getLable())) { |
| | | boolean b = memberSubmitCoinApplyDto.getAddress().startsWith("0x"); |
| | | if (!b) { |
| | | return Result.fail("提币地址错误"); |
| | | } |
| | | } |
| | | |
| | | if ("TRC20".equals(memberSubmitCoinApplyDto.getLable())) { |
| | | boolean t = memberSubmitCoinApplyDto.getAddress().startsWith("T"); |
| | | if (!t) { |
| | | return Result.fail("提币地址错误"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (CoinTypeEnum.RFNC.name().equals(memberSubmitCoinApplyDto.getSymbol())) { |
| | | boolean rfnc = memberSubmitCoinApplyDto.getAddress().startsWith("RFNC"); |
| | | if (!rfnc) { |
| | | return Result.fail("提币地址错误"); |
| | | } |
| | | } |
| | | |
| | | boolean flag = commonservice.verifyCode(memberSubmitCoinApplyDto.getAccount(), memberSubmitCoinApplyDto.getCode()); |
| | | if (flag) { |
| | | MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyDto.getSymbol()); |
| | |
| | | BigDecimal coinNumber = memberSubmitCoinApplyDto.getCoinNumber(); |
| | | if (availableBalance.compareTo(BigDecimal.ZERO) > 0 |
| | | && availableBalance.compareTo(coinNumber) >= 0) { |
| | | //新增提币记录 |
| | | //新增提币记录 |
| | | MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity(); |
| | | memberCoinWithdrawEntity.setAddress(memberSubmitCoinApplyDto.getAddress()); |
| | | memberCoinWithdrawEntity.setAmount(coinNumber); |
| | |
| | | memberCoinWithdrawEntity.setMemberId(memberId); |
| | | memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING); |
| | | |
| | | if ("TRC20".equals(memberSubmitCoinApplyDto.getLable()) && CoinTypeEnum.USDT.name().equals(memberSubmitCoinApplyDto.getSymbol())) { |
| | | // String orderNo = commonservice.generateOrderNo(memberId); |
| | | // TRC20ApiUtils.coinApply(orderNo, memberId.toString(), CoinTypeEnum.USDT.name(), coinNumber.toPlainString(), memberSubmitCoinApplyDto.getAddress()); |
| | | // memberCoinWithdrawEntity.setTag(orderNo); |
| | | memberCoinWithdrawEntity.setLabel("TRC20"); |
| | | } |
| | | |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("symbol", memberSubmitCoinApplyDto.getSymbol()); |
| | | columnMap.put("address", memberSubmitCoinApplyDto.getAddress()); |
| | | columnMap.put("is_biyict", MemberCoinAddressEntity.IS_BIYICT_YES); |
| | | List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectByMap(columnMap); |
| | | if (CollUtil.isEmpty(selectByMap)) { |
| | | TdCoinWallet tdCoinWallet = memberCoinAddressDao.selectTdCoinWalletByAddress(memberSubmitCoinApplyDto.getAddress(), CoinTypeEnum.USDT.name()); |
| | | TrcAddressEntity trcAddressEntity = trcAddressDao.selectTrcAddressByAddress(memberSubmitCoinApplyDto.getAddress()); |
| | | if (CollUtil.isEmpty(selectByMap) && tdCoinWallet == null && trcAddressEntity == null) { |
| | | memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO); |
| | | } else { |
| | | memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES); |