From 1d0743632c39e137873960fcc76182943622719d Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 29 Sep 2021 14:44:48 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 3799ce2..c5eb694 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -64,7 +64,7 @@ public FebsResponse register(RegisterDto registerDto) { MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount()); if (mallMember != null) { - throw new FebsException("该手机号/邮箱已被占用"); + throw new FebsException("该账号已被占用"); } String account = registerDto.getAccount(); @@ -97,7 +97,7 @@ mallMember.setName(registerDto.getAccount()); mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL); - mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); + mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name()); mallMember.setSex("男"); this.baseMapper.insert(mallMember); @@ -108,6 +108,9 @@ //推荐人和推荐人链 boolean flag = false; String parentId = mallMember.getReferrerId(); + if (StrUtil.isBlank(parentId)) { + flag = true; + } String ids = ""; while (!flag) { if (StrUtil.isBlank(ids)) { @@ -164,9 +167,7 @@ redisUtils.set(redisKey, token, 360000); Map<String, Object> authInfo = new HashMap<>(); authInfo.put("token", token); - if ("dev".equals(active)) { - authInfo.put("rasToken", generateAsaToken(token)); - } + authInfo.put("rasToken", generateAsaToken(token)); return new FebsResponse().success().data(authInfo); } @@ -252,7 +253,8 @@ @Override public FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto) { - MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getAccount()); + MallMember memberId = LoginUserUtil.getLoginUser(); + MallMember mallMember = this.baseMapper.selectById(memberId); if (mallMember == null) { throw new FebsException("账号不存在"); } @@ -344,6 +346,11 @@ Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember loginMember = this.baseMapper.selectById(memberId); + + if (loginMember.getPhone().equals(transferDto.getAccount()) || loginMember.getInviteId().equals(transferDto.getAccount())) { + throw new FebsException("不能给自己转账"); + } + if (StrUtil.isBlank(loginMember.getTradePassword())) { throw new FebsException("未设置支付密码"); } @@ -381,6 +388,17 @@ throw new FebsException("未设置收款方式"); } + BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId); + MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); + if (profit != null) { + // 可提现 + BigDecimal canMoney = wallet.getBalance().subtract(profit); + + if(withdrawalDto.getAmount().compareTo(canMoney) > 0) { + throw new FebsException("提现金额不足"); + } + } + walletService.reduceBalance(withdrawalDto.getAmount(), memberId); String orderNo = MallUtils.getOrderNum("W"); this.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1); @@ -405,4 +423,33 @@ MallMember member = LoginUserUtil.getLoginUser(); return mallMemberPaymentMapper.selectByMemberId(member.getId()); } + + @Override + public void bindPhone(AccountAndCodeDto accountAndCodeDto) { + boolean b = commonService.verifyCode(accountAndCodeDto.getAccount(), accountAndCodeDto.getCode()); + if (!b) { + throw new FebsException("验证码错误"); + } + + Long id = LoginUserUtil.getLoginUser().getId(); + MallMember member = this.baseMapper.selectById(id); + + member.setBindPhone(accountAndCodeDto.getAccount()); + this.baseMapper.updateById(member); + } + + @Override + public BigDecimal canMoney() { + Long memberId = LoginUserUtil.getLoginUser().getId(); + MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); + BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId); + + BigDecimal canMoney = wallet.getBalance(); + if (profit != null) { + if(canMoney.compareTo(BigDecimal.ZERO) > 0) { + canMoney = canMoney.subtract(profit); + } + } + return canMoney; + } } -- Gitblit v1.9.1