|  |  | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto; | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto; | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyInDto; | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; | 
 |  |  | import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradersPwdTimeDto; | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return Result.ok(arrayList); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Result memberSubmitCoinApplyIn(@Valid MemberSubmitCoinApplyInDto memberSubmitCoinApplyInDto) { | 
 |  |  |         //获取用户ID | 
 |  |  |         Long memberId = LoginUserUtils.getAppLoginUser().getId(); | 
 |  |  |         MemberEntity member = memberDao.selectById(memberId); | 
 |  |  |         if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) { | 
 |  |  |             return Result.fail(MessageSourceUtils.getString("member_service_0077")); | 
 |  |  |         } | 
 |  |  |         if (StrUtil.isEmpty(member.getTradePassword())) { | 
 |  |  |             return Result.fail(MessageSourceUtils.getString("member_service_0081")); | 
 |  |  |         } | 
 |  |  |         if (member.getTradePassword() == null) { | 
 |  |  |             return Result.fail(MessageSourceUtils.getString("member_service_0082")); | 
 |  |  |         } | 
 |  |  |         if (!member.getTradePassword().equals(SecureUtil.md5(memberSubmitCoinApplyInDto.getTradePassword()))) { | 
 |  |  |             return Result.fail(MessageSourceUtils.getString("member_service_0082")); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         boolean flag = commonservice.verifyCode(memberSubmitCoinApplyInDto.getAccount(), memberSubmitCoinApplyInDto.getCode()); | 
 |  |  |         if (flag) { | 
 |  |  |             //获取到账地址 | 
 |  |  |             String address = memberSubmitCoinApplyInDto.getAddress(); | 
 |  |  |             //根据账号获取会员信息 | 
 |  |  |             MemberEntity selectMemberInfoByAccount = memberDao.selectMemberInfoByAccount(address); | 
 |  |  |             if(ObjectUtil.isEmpty(selectMemberInfoByAccount)) { | 
 |  |  |                 return Result.fail(MessageSourceUtils.getString("member_service_0087")); | 
 |  |  |             } | 
 |  |  |             Long memberInfoId = selectMemberInfoByAccount.getId(); | 
 |  |  |             String symbol = memberSubmitCoinApplyInDto.getSymbol(); | 
 |  |  |         	 | 
 |  |  |             Map<String, Object> columnMapAddress = new HashMap<>(); | 
 |  |  |             columnMapAddress.put("member_id", memberInfoId); | 
 |  |  |             columnMapAddress.put("symbol", symbol); | 
 |  |  |             List<MemberCoinAddressEntity> selectByMap2 = memberCoinAddressDao.selectByMap(columnMapAddress ); | 
 |  |  |             if(CollUtil.isEmpty(selectByMap2)) { | 
 |  |  |                 return Result.fail(MessageSourceUtils.getString("member_service_0087")); | 
 |  |  |             } | 
 |  |  |             MemberCoinAddressEntity memberCoinAddressEntity = selectByMap2.get(0); | 
 |  |  |             String addressIn = memberCoinAddressEntity.getAddress(); | 
 |  |  |         	 | 
 |  |  |             MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyInDto.getSymbol()); | 
 |  |  |             BigDecimal availableBalance = walletCoin.getAvailableBalance(); | 
 |  |  |             BigDecimal coinNumber = memberSubmitCoinApplyInDto.getCoinNumber(); | 
 |  |  |             if (availableBalance.compareTo(BigDecimal.ZERO) > 0 | 
 |  |  |                     && availableBalance.compareTo(coinNumber) >= 0) { | 
 |  |  |                 //新增提币记录 | 
 |  |  |                 MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity(); | 
 |  |  |                 memberCoinWithdrawEntity.setAddress(addressIn); | 
 |  |  |                 memberCoinWithdrawEntity.setAmount(coinNumber); | 
 |  |  |                 memberCoinWithdrawEntity.setFeeAmount(BigDecimal.ZERO); | 
 |  |  |                 memberCoinWithdrawEntity.setSymbol(memberSubmitCoinApplyInDto.getSymbol()); | 
 |  |  |                 memberCoinWithdrawEntity.setMemberId(memberId); | 
 |  |  |                 memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING); | 
 |  |  |                 memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES); | 
 |  |  |                 memberCoinWithdrawDao.insert(memberCoinWithdrawEntity); | 
 |  |  |                 BigDecimal subtract = walletCoin.getAvailableBalance().subtract(coinNumber); | 
 |  |  |                 walletCoin.setAvailableBalance(subtract); | 
 |  |  |                 BigDecimal add = walletCoin.getFrozenBalance().add(coinNumber); | 
 |  |  |                 walletCoin.setFrozenBalance(add); | 
 |  |  |                 memberWalletCoinDao.updateById(walletCoin); | 
 |  |  |  | 
 |  |  |                 MemberAccountMoneyChange accountRecord = new MemberAccountMoneyChange(); | 
 |  |  |                 accountRecord.setContent("提币"); | 
 |  |  |                 accountRecord.setMemberId(memberId); | 
 |  |  |                 accountRecord.setAmount(coinNumber); | 
 |  |  |                 accountRecord.setWithdrawId(memberCoinWithdrawEntity.getId()); | 
 |  |  |                 accountRecord.setStatus(MemberAccountMoneyChange.STATUS_WAIT_INTEGER); | 
 |  |  |                 accountRecord.setSymbol(memberSubmitCoinApplyInDto.getSymbol()); | 
 |  |  |                 accountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN); | 
 |  |  |                 memberAccountMoneyChangeDao.insert(accountRecord); | 
 |  |  |  | 
 |  |  |                 ThreadPoolUtils.sendDingTalk(3); | 
 |  |  |                 return Result.ok(MessageSourceUtils.getString("member_service_0086")); | 
 |  |  |             } else { | 
 |  |  |                 return Result.fail(MessageSourceUtils.getString("member_service_0005")); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } else { | 
 |  |  |             return Result.fail(MessageSourceUtils.getString("member_service_0039")); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  |