| | |
| | | import com.xcong.excoin.utils.ThreadPoolUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.security.core.context.SecurityContextHolder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | @Resource |
| | | AppVersionDao appVersionDao; |
| | | @Resource |
| | | private MemberSettingDao memberSettingDao; |
| | | |
| | | @Resource |
| | | private MemberWalletContractSimulateDao memberWalletContractSimulateDao; |
| | |
| | | // } |
| | | if (!AppContants.SYSTEM_REFERER.equals(registerDto.getRefererId())) { |
| | | MemberEntity isExist = memberDao.selectMemberInfoByInviteId(registerDto.getRefererId()); |
| | | if (isExist == null) { |
| | | return Result.fail("推荐人不存在"); |
| | | if (isExist != null) { |
| | | member.setRefererId(registerDto.getRefererId()); |
| | | } |
| | | } |
| | | |
| | | member.setRefererId(registerDto.getRefererId()); |
| | | member.setAccountStatus(MemberEntity.ACCOUNT_STATUS_ENABLE); |
| | | member.setAccountType(MemberEntity.ACCOUNT_TYPE_NORMAL); |
| | | member.setAgentLevel(MemberEntity.ACCOUNT_AGENT_LEVEL); |
| | | member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT); |
| | | member.setIsForce(1); |
| | | member.setIsProfit(0); |
| | | member.setSpread(BigDecimal.ONE); |
| | | member.setClosingSpread(BigDecimal.ONE); |
| | | 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); |
| | |
| | | boolean flag = false; |
| | | String parentId = member.getRefererId(); |
| | | String ids = ""; |
| | | while (!flag) { |
| | | while (!flag && StringUtils.isNotBlank(parentId)) { |
| | | ids += ("," + parentId); |
| | | MemberEntity parentMember = memberDao.selectMemberInfoByInviteId(parentId); |
| | | if (parentMember == null) { |
| | | break; |
| | | } |
| | | parentId = parentMember.getRefererId(); |
| | | if(StringUtils.isBlank(parentId)){ |
| | | break; |
| | | } |
| | | if (parentMember.getRefererId().equals(parentMember.getInviteId())) { |
| | | flag = true; |
| | | } |
| | |
| | | //获取用户ID |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | MemberEntity member = memberDao.selectById(memberId); |
| | | if(MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_4000")); |
| | | } |
| | | if (MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_4000")); |
| | | } |
| | | if (ObjectUtil.isNotEmpty(member)) { |
| | | |
| | | MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity(); |
| | | MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity(); |
| | | |
| | | if (MemberEntity.CERTIFY_STATUS_Y == member.getCertifyStatus()) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0055")); |
| | |
| | | |
| | | String idCardNo = memberAuthenticationDto.getIdCardNo(); |
| | | if (StrUtil.isBlank(idCardNo)) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0060")); |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0060")); |
| | | } |
| | | memberAuthenticationEntity.setIdcardNo(idCardNo); |
| | | //同一个身份证号码不能重复实名认证 |
| | | int count = memberAuthenticationDao.findMemberbyIdCardNoCount(idCardNo); |
| | | if (count > 0) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0060")); |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0060")); |
| | | } |
| | | // 同一个人只能认证一次 |
| | | int authenByMemberId = memberAuthenticationDao.findAuthenByMemberId(memberId); |
| | | if (authenByMemberId > 0) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0055")); |
| | | } |
| | | if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront()) |
| | | || StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse()) |
| | |
| | | memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage()); |
| | | |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("member_id", memberId); |
| | | List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap); |
| | | if(CollUtil.isEmpty(selectByMap)) { |
| | | memberAuthenticationDao.insert(memberAuthenticationEntity); |
| | | }else { |
| | | memberAuthenticationEntity.setId(selectByMap.get(0).getId()); |
| | | memberAuthenticationDao.updateById(memberAuthenticationEntity); |
| | | } |
| | | columnMap.put("member_id", memberId); |
| | | List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap); |
| | | if (CollUtil.isEmpty(selectByMap)) { |
| | | memberAuthenticationDao.insert(memberAuthenticationEntity); |
| | | } else { |
| | | memberAuthenticationEntity.setId(selectByMap.get(0).getId()); |
| | | memberAuthenticationDao.updateById(memberAuthenticationEntity); |
| | | } |
| | | |
| | | member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING); |
| | | member.setIdcardNo(idCardNo); |
| | |
| | | @Transactional |
| | | public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) { |
| | | //获取用户ID |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | MemberEntity memberEntity = memberDao.selectById(memberId); |
| | | |
| | | String code = memberForgetPwdDto.getCode(); |
| | | String password = memberForgetPwdDto.getPassword(); |
| | |
| | | |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("member_id", memberId); |
| | | List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap); |
| | | if(CollUtil.isNotEmpty(selectByMap)) { |
| | | for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) { |
| | | if(memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0097")); |
| | | } |
| | | } |
| | | } |
| | | List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap); |
| | | if (CollUtil.isNotEmpty(selectByMap)) { |
| | | for (MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) { |
| | | if (memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0097")); |
| | | } |
| | | } |
| | | } |
| | | String account = memberPaymethodDto.getAccount(); |
| | | String bank = memberPaymethodDto.getBank(); |
| | | String name = memberPaymethodDto.getName(); |
| | |
| | | @Override |
| | | @Transactional |
| | | public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto) { |
| | | //获取用户ID |
| | | //获取用户ID |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | String phone = memberBindPhoneDto.getPhone(); |
| | | String code = memberBindPhoneDto.getCode(); |
| | |
| | | MemberEntity member = memberDao.selectById(memberId); |
| | | |
| | | if (ObjectUtil.isNotEmpty(member)) { |
| | | if (!commonservice.verifyCode(phone, code)) { |
| | | if (!commonservice.mutiVerifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode(), phone, code)) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0013")); |
| | | } |
| | | // 验证邮箱验证码 |
| | | // if (!commonservice.verifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode())) { |
| | | // return Result.fail("邮箱"+MessageSourceUtils.getString("member_service_0013")); |
| | | // } |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("phone", phone); |
| | | List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap ); |
| | | if(CollUtil.isEmpty(selectByMap)) { |
| | | member.setPhone(phone); |
| | | memberDao.updateById(member); |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0014")); |
| | | }else { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_1400")); |
| | | List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap); |
| | | if (CollUtil.isEmpty(selectByMap)) { |
| | | member.setPhone(phone); |
| | | memberDao.updateById(member); |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0014")); |
| | | } else { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_1400")); |
| | | } |
| | | } |
| | | |
| | |
| | | @Transactional |
| | | public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto) { |
| | | |
| | | //获取用户ID |
| | | //获取用户ID |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | String email = memberBindEmailDto.getEmail(); |
| | | String code = memberBindEmailDto.getCode(); |
| | | |
| | | MemberEntity member = memberDao.selectById(memberId); |
| | | boolean flag = commonservice.verifyCode(email, code); |
| | | boolean flag = commonservice.mutiVerifyCode(email, code, member.getPhone(), memberBindEmailDto.getOtherCode()); |
| | | // boolean flag2 = commonservice.verifyCode(member.getPhone(), memberBindEmailDto.getOtherCode()); |
| | | if(!flag){ |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0013")); |
| | | } |
| | | // if(!flag2){ |
| | | // return Result.fail("手机"+MessageSourceUtils.getString("member_service_0013")); |
| | | // } |
| | | if (ObjectUtil.isNotEmpty(member)) { |
| | | if (flag) { |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("email", email); |
| | | List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap ); |
| | | if(CollUtil.isEmpty(selectByMap)) { |
| | | member.setEmail(email); |
| | | List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap); |
| | | if (CollUtil.isEmpty(selectByMap)) { |
| | | member.setEmail(email); |
| | | memberDao.updateById(member); |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0018")); |
| | | }else { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_1400")); |
| | | } else { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_1400")); |
| | | } |
| | | } |
| | | } |
| | |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("member_id", memberId); |
| | | List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap); |
| | | if(CollUtil.isEmpty(selectByMap)) { |
| | | memberPersonCenterInfoVo.setMemberPaymentMethod(0); |
| | | }else { |
| | | memberPersonCenterInfoVo.setMemberPaymentMethod(1); |
| | | if (CollUtil.isEmpty(selectByMap)) { |
| | | memberPersonCenterInfoVo.setMemberPaymentMethod(0); |
| | | } else { |
| | | memberPersonCenterInfoVo.setMemberPaymentMethod(1); |
| | | } |
| | | |
| | | if (StrUtil.isNotEmpty(member.getPhone())) { |
| | |
| | | List<MemberAvivableCoinInfoVo> arrayList = new ArrayList<>(); |
| | | |
| | | |
| | | List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol); |
| | | List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol); |
| | | if (CollUtil.isEmpty(feeSettingByTypeAndSymbolLable)) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0087")); |
| | | } |
| | | for(PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) { |
| | | MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo(); |
| | | memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance()); |
| | | memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice()); |
| | | memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable()); |
| | | arrayList.add(memberAvivableCoinInfoVo); |
| | | for (PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) { |
| | | MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo(); |
| | | memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance()); |
| | | memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice()); |
| | | memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable()); |
| | | arrayList.add(memberAvivableCoinInfoVo); |
| | | } |
| | | |
| | | return Result.ok(arrayList); |
| | |
| | | //获取用户ID |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | MemberEntity member = memberDao.selectById(memberId); |
| | | String golden_limit_transfer = redisUtils.getString("GOLDEN_LIMIT_TRANSFER"); |
| | | // 判断是否限制 |
| | | if(StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getPhone())){ |
| | | return Result.fail("此账号有财务问题,需联系客服"); |
| | | } |
| | | if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) { |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0077")); |
| | | } |
| | |
| | | return Result.ok(""); |
| | | } |
| | | |
| | | @Override |
| | | public Result getAppVersionInfo() { |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap); |
| | | List<Object> arrayList = new ArrayList<>(); |
| | | if(CollUtil.isNotEmpty(selectByMap)) { |
| | | for(AppVersionEntity appVersionEntity : selectByMap) { |
| | | AppVersionVo appVersionVo = new AppVersionVo(); |
| | | appVersionVo.setAddress(appVersionEntity.getAddress()); |
| | | appVersionVo.setType(appVersionEntity.getType()); |
| | | appVersionVo.setVersion(appVersionEntity.getVersion()); |
| | | arrayList.add(appVersionVo); |
| | | } |
| | | } |
| | | return Result.ok(arrayList); |
| | | } |
| | | @Override |
| | | public Result getAppVersionInfo() { |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap); |
| | | List<Object> arrayList = new ArrayList<>(); |
| | | if (CollUtil.isNotEmpty(selectByMap)) { |
| | | for (AppVersionEntity appVersionEntity : selectByMap) { |
| | | AppVersionVo appVersionVo = new AppVersionVo(); |
| | | appVersionVo.setAddress(appVersionEntity.getAddress()); |
| | | appVersionVo.setType(appVersionEntity.getType()); |
| | | appVersionVo.setVersion(appVersionEntity.getVersion()); |
| | | arrayList.add(appVersionVo); |
| | | } |
| | | } |
| | | return Result.ok(arrayList); |
| | | } |
| | | |
| | | @Override |
| | | public Result getPcVersionInfo() { |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap); |
| | | List<Object> arrayList = new ArrayList<>(); |
| | | if (CollUtil.isNotEmpty(selectByMap)) { |
| | | for (AppVersionEntity appVersionEntity : selectByMap) { |
| | | AppVersionVo appVersionVo = new AppVersionVo(); |
| | | appVersionVo.setAddress(appVersionEntity.getAddress()); |
| | | appVersionVo.setType(appVersionEntity.getType()); |
| | | appVersionVo.setVersion(appVersionEntity.getVersion()); |
| | | arrayList.add(appVersionVo); |
| | | } |
| | | } |
| | | return Result.ok(arrayList); |
| | | } |
| | | } |
| | | |
| | | |