From 28f0aa6728abd49e6789179ef43c213d42a750b0 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 28 Aug 2020 11:31:42 +0800 Subject: [PATCH] 20200828 --- src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 104 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index 434c237..591f214 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -26,6 +26,7 @@ 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; @@ -106,6 +107,8 @@ @Resource AppVersionDao appVersionDao; + @Resource + private MemberSettingDao memberSettingDao; @Resource private MemberWalletContractSimulateDao memberWalletContractSimulateDao; @@ -154,10 +157,14 @@ member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT); member.setIsForce(1); member.setIsProfit(0); - member.setSpread(BigDecimal.ONE); - member.setClosingSpread(BigDecimal.ONE); - member.setForceParam(BigDecimal.valueOf(0.0015)); memberDao.insert(member); + + MemberSettingEntity memberSettingEntity = new MemberSettingEntity(); + memberSettingEntity.setSpread(BigDecimal.ONE); + memberSettingEntity.setClosingSpread(BigDecimal.valueOf(5)); + memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0030)); + memberSettingEntity.setMemberId(member.getId()); + memberSettingDao.insert(memberSettingEntity); String inviteId = ShareCodeUtil.toSerialCode(member.getId()); member.setInviteId(inviteId); @@ -179,16 +186,6 @@ member.setRefererIds(ids); memberDao.updateById(member); - //初始化合约钱包 - MemberWalletContractEntity walletContract = new MemberWalletContractEntity(); - walletContract.setMemberId(member.getId()); - walletContract.setAvailableBalance(AppContants.INIT_MONEY); - walletContract.setFrozenBalance(AppContants.INIT_MONEY); - walletContract.setTotalBalance(AppContants.INIT_MONEY); - walletContract.setBorrowedFund(AppContants.INIT_MONEY); - walletContract.setWalletCode(CoinTypeEnum.USDT.name()); - memberWalletContractDao.insert(walletContract); - MemberWalletContractSimulateEntity walletContractSimulate = new MemberWalletContractSimulateEntity(); walletContractSimulate.setMemberId(member.getId()); walletContractSimulate.setAvailableBalance(new BigDecimal(AppContants.INIT_SIMULATE_MONEY)); @@ -199,8 +196,18 @@ memberWalletContractSimulateDao.insert(walletContractSimulate); - // 初始化币币钱包 for (CoinTypeEnum coinTypeEnum : CoinTypeEnum.values()) { + //初始化合约钱包 + MemberWalletContractEntity walletContract = new MemberWalletContractEntity(); + walletContract.setMemberId(member.getId()); + walletContract.setAvailableBalance(AppContants.INIT_MONEY); + walletContract.setFrozenBalance(AppContants.INIT_MONEY); + walletContract.setTotalBalance(AppContants.INIT_MONEY); + walletContract.setBorrowedFund(AppContants.INIT_MONEY); + walletContract.setWalletCode(coinTypeEnum.name()); + memberWalletContractDao.insert(walletContract); + + // 初始化币币钱包 MemberWalletCoinEntity walletCoin = new MemberWalletCoinEntity(); walletCoin.setWalletCode(coinTypeEnum.name()); walletCoin.setMemberId(member.getId()); @@ -964,7 +971,7 @@ if (CollUtil.isNotEmpty(selectByMap)) { for (AppVersionEntity appVersionEntity : selectByMap) { AppVersionVo appVersionVo = new AppVersionVo(); - if ("31087493".equals(memberEntity.getInviteId())) { + if ("37059551".equals(memberEntity.getInviteId())) { appVersionVo.setAddress("www.baidu.com"); appVersionVo.setType(appVersionEntity.getType()); appVersionVo.setVersion(appVersionEntity.getVersion()); @@ -995,6 +1002,88 @@ } 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")); + } + } } -- Gitblit v1.9.1