|  |  |  | 
|---|
|  |  |  | public FebsResponse register(RegisterDto registerDto) { | 
|---|
|  |  |  | MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount()); | 
|---|
|  |  |  | if (mallMember != null) { | 
|---|
|  |  |  | throw new FebsException("001-该账号已被占用"); | 
|---|
|  |  |  | throw new FebsException("该账号已被使用"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<MallMember> mallMembers = this.baseMapper.selectMemberByName(registerDto.getName()); | 
|---|
|  |  |  | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //更新会员星级 | 
|---|
|  |  |  | this.baseMapper.updateAccountLevelById(buyStarDescription,mallMember.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //直推返利 | 
|---|
|  |  |  | if(StrUtil.isNotEmpty(mallMember.getReferrerId())){ | 
|---|
|  |  |  | //下单人的直推上级 | 
|---|
|  |  |  | MallMember mallMemberOne = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId()); | 
|---|
|  |  |  | //生成直推返利的流水记录 | 
|---|
|  |  |  | if(ObjectUtil.isNotEmpty(mallMemberOne)){ | 
|---|
|  |  |  | DataDictionaryCustom rewardPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( | 
|---|
|  |  |  | DataDictionaryEnum.REWARD_PERCENT.getType(), | 
|---|
|  |  |  | DataDictionaryEnum.REWARD_PERCENT.getCode() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | buyStarPriceBigDecimal = buyStarPriceBigDecimal.compareTo(BigDecimal.ZERO) > 0 ? buyStarPriceBigDecimal : BigDecimal.ZERO; | 
|---|
|  |  |  | BigDecimal rewardPercent = new BigDecimal(rewardPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | BigDecimal directRewardAmount = buyStarPriceBigDecimal.multiply(rewardPercent).setScale(4, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Long marketSubsidyFlowId = mallMoneyFlowService.addMoneyFlow( | 
|---|
|  |  |  | mallMember.getId(), | 
|---|
|  |  |  | mallMemberStarBuy.getBuyCode(), | 
|---|
|  |  |  | directRewardAmount, | 
|---|
|  |  |  | MallMoneyFlowTypeEnum.DIRECT_REWARD.getCode(), | 
|---|
|  |  |  | MallMoneyFlow.STATUS_SUCCESS, | 
|---|
|  |  |  | MallMoneyFlow.IS_RETURN_Y, | 
|---|
|  |  |  | mallMemberOne.getId(), | 
|---|
|  |  |  | FlowTypeEnum.BALANCE.getValue(), | 
|---|
|  |  |  | MallMoneyFlowTypeEnum.DIRECT_REWARD.getName() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | memberWalletService.addBalance(directRewardAmount,mallMemberOne.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|