| | |
| | | DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId); |
| | | ApiMemberWalletCoinVo apiMemberWalletCoinVo = new ApiMemberWalletCoinVo(); |
| | | if(ObjectUtil.isNotEmpty(dappWalletCoinEntity)){ |
| | | apiMemberWalletCoinVo.setTotalAmount(dappWalletCoinEntity.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN)); |
| | | apiMemberWalletCoinVo.setFrozenAmount(dappWalletCoinEntity.getFrozenAmount().setScale(2,BigDecimal.ROUND_DOWN)); |
| | | apiMemberWalletCoinVo.setAvailableAmount(dappWalletCoinEntity.getAvailableAmount().setScale(2,BigDecimal.ROUND_DOWN)); |
| | | apiMemberWalletCoinVo.setTotalAmount(dappWalletCoinEntity.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN)); |
| | | apiMemberWalletCoinVo.setFrozenAmount(dappWalletCoinEntity.getFrozenAmount().setScale(4,BigDecimal.ROUND_DOWN)); |
| | | apiMemberWalletCoinVo.setAvailableAmount(dappWalletCoinEntity.getAvailableAmount().setScale(4,BigDecimal.ROUND_DOWN)); |
| | | } |
| | | return new FebsResponse().success().data(apiMemberWalletCoinVo); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public FebsResponse transferInside(ApiTransferInsideDto apiTransferInsideDto) { |
| | | //判断入参 |
| | | BigDecimal balance = apiTransferInsideDto.getBalance() == null ? BigDecimal.ZERO : apiTransferInsideDto.getBalance().setScale(2,BigDecimal.ROUND_DOWN); |
| | | BigDecimal balance = apiTransferInsideDto.getBalance() == null ? BigDecimal.ZERO : apiTransferInsideDto.getBalance().setScale(4,BigDecimal.ROUND_DOWN); |
| | | if(BigDecimal.ZERO.compareTo(balance) >= 0){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("balance_err_001")); |
| | | } |
| | | if(ObjectUtil.isEmpty(apiTransferInsideDto.getInviteId())){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_001")); |
| | | // if(ObjectUtil.isEmpty(apiTransferInsideDto.getInviteId())){ |
| | | // return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_001")); |
| | | // } |
| | | if(ObjectUtil.isEmpty(apiTransferInsideDto.getUsername())){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_0011")); |
| | | } |
| | | if(ObjectUtil.isEmpty(apiTransferInsideDto.getTransferCode())){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_006")); |
| | | } |
| | | //每日挂机时间段内禁止内转 |
| | | DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.START_TIME.getType(), DataDictionaryEnum.START_TIME.getCode()); |
| | | DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.END_TIME.getType(), DataDictionaryEnum.END_TIME.getCode()); |
| | | //获取时间对应的秒数 |
| | | Integer dateNow = DateUtil.timeToSecond(DateUtil.formatTime(DateUtil.date())); |
| | | Integer startTime = DateUtil.timeToSecond(startTimeDic.getValue()); |
| | | Integer endTime = DateUtil.timeToSecond(endTimeDic.getValue()); |
| | | if(startTime <= dateNow && endTime >= dateNow){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_0012")); |
| | | } |
| | | |
| | | |
| | | DappMemberEntity dappMemberEntityOut = LoginUserUtil.getAppUser(); |
| | | Long memberIdOut = dappMemberEntityOut.getId(); |
| | |
| | | if(!isMemberOut){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_002")); |
| | | } |
| | | String inviteIdIn = apiTransferInsideDto.getInviteId(); |
| | | Boolean isMemberIn = dappMemberService.isMember(apiTransferInsideDto.getInviteId()); |
| | | String username = apiTransferInsideDto.getUsername(); |
| | | DappMemberEntity memberEntityIn = dappMemberDao.selectMemberInfoByUsername(username); |
| | | if (ObjectUtil.isEmpty(memberEntityIn)) { |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_003")); |
| | | } |
| | | |
| | | String inviteIdIn = memberEntityIn.getInviteId(); |
| | | Boolean isMemberIn = dappMemberService.isMember(inviteIdIn); |
| | | // Boolean isMemberIn = dappMemberService.isMember(apiTransferInsideDto.getInviteId()); |
| | | if(!isMemberIn){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_003")); |
| | | } |
| | |
| | | //查询转出会员 |
| | | //转出会员当前余额要大于等于划转金额 |
| | | DappWalletCoinEntity dappWalletCoinEntityOut = dappWalletCoinDao.selectByMemberId(memberIdOut); |
| | | BigDecimal availableAmountOut = dappWalletCoinEntityOut.getAvailableAmount().setScale(2,BigDecimal.ROUND_DOWN); |
| | | BigDecimal availableAmountOut = dappWalletCoinEntityOut.getAvailableAmount().setScale(4,BigDecimal.ROUND_DOWN); |
| | | if(availableAmountOut.compareTo(balance) < 0){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("balance_err_002")); |
| | | } |
| | |
| | | //转出账户生成一条内部转账记录 |
| | | MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity(); |
| | | memberCoinWithdrawEntity.setAddress(address); |
| | | memberCoinWithdrawEntity.setTag(apiTransferOutsideDto.getType()); |
| | | memberCoinWithdrawEntity.setAmount(balance); |
| | | memberCoinWithdrawEntity.setFeeAmount(serviceFee); |
| | | memberCoinWithdrawEntity.setSymbol("USDT"); |
| | | if(1 == apiTransferOutsideDto.getType()){ |
| | | memberCoinWithdrawEntity.setTag("银行卡"); |
| | | memberCoinWithdrawEntity.setSymbol("$"); |
| | | }else{ |
| | | memberCoinWithdrawEntity.setTag("钱包"); |
| | | memberCoinWithdrawEntity.setSymbol("USDT"); |
| | | } |
| | | memberCoinWithdrawEntity.setMemberId(memberId); |
| | | memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING); |
| | | memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO); |
| | |
| | | return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001")); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse updatePassword(ApiUpdatePasswordDto apiUpdatePasswordDto) { |
| | | if(ObjectUtil.isEmpty(apiUpdatePasswordDto.getOldTransferPassword())){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_007")); |
| | | } |
| | | if(ObjectUtil.isEmpty(apiUpdatePasswordDto.getNewTransferPassword()) |
| | | || ObjectUtil.isEmpty(apiUpdatePasswordDto.getNewTransferPasswordAgain())){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_008")); |
| | | } |
| | | String newTransferPassword = apiUpdatePasswordDto.getNewTransferPassword(); |
| | | String newTransferPasswordAgain = apiUpdatePasswordDto.getNewTransferPasswordAgain(); |
| | | if(!newTransferPassword.equals(newTransferPasswordAgain)){ |
| | | return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_009")); |
| | | } |
| | | |
| | | DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser(); |
| | | Long memberId = dappMemberEntity.getId(); |
| | | DappMemberEntity memberEntity = dappMemberDao.selectById(memberId); |
| | | memberEntity.setPassword(SecureUtil.md5(apiUpdatePasswordDto.getNewTransferPassword())); |
| | | dappMemberDao.updateById(memberEntity); |
| | | |
| | | String redisKey = AppContants.REDIS_KEY_SIGN + memberId; |
| | | redisUtils.del(redisKey); |
| | | |
| | | return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001")); |
| | | } |
| | | |
| | | } |