From 0fb3a76c8f7c161daeee597075ef1dfebc67badc Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 25 Jul 2024 11:20:50 +0800 Subject: [PATCH] 后台 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 11 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 f4abe29..fcd196b 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 @@ -94,6 +94,12 @@ * 生成用户信息 * 返回账号和密钥给前端 */ + String passwordAgain = registerDto.getPasswordAgain(); + String password = registerDto.getPassword(); + if(!passwordAgain.equals(password)){ + throw new FebsException("两次密码不一致。"); + } + String accountLogin = registerDto.getAccountLogin(); boolean isValid = validateAccount(accountLogin); if(!isValid){ @@ -179,8 +185,8 @@ if (mallMember == null) { throw new FebsException("账号或密码错误"); } - if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) { - throw new FebsException("账号限制登录"); + if (ProductEnum.MEMBER_FROZEN.getValue() == mallMember.getIsFrozen()) { + throw new FebsException("账号已冻结"); } String redisKey = AppContants.APP_LOGIN_PREFIX + mallMember.getId(); @@ -230,7 +236,15 @@ @Override public FebsResponse logout() { Long id = LoginUserUtil.getLoginUser().getId(); - redisUtils.del(AppContants.APP_LOGIN_PREFIX + id); + + String redisKey = AppContants.APP_LOGIN_PREFIX + id; + String existToken = redisUtils.getString(redisKey); + if (StrUtil.isNotBlank(existToken)) { + Object o = redisUtils.get(existToken); + if (ObjectUtil.isNotEmpty(o)) { + redisUtils.del(existToken); + } + } return new FebsResponse().success().message("退出登录"); } @@ -242,6 +256,12 @@ MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember); MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId()); mallMemberVo.setBalance(mallMemberWallet.getBalance()); + + DataDictionaryCustom chargeAddressDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.CHARGE_ADDRESS.getType(), + DataDictionaryEnum.CHARGE_ADDRESS.getCode() + ); + mallMemberVo.setSysAddress(chargeAddressDic.getValue()); return new FebsResponse().success().data(mallMemberVo); } @@ -935,6 +955,10 @@ public FebsResponse chargeBalance(ApiChargeBalanceDto apiChargeBalanceDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember mallMember = this.baseMapper.selectById(memberId); + if(ObjectUtil.isEmpty(mallMember.getBindPhone())){ + throw new FebsException("请绑定充值提取地址"); + } + String address = mallMember.getBindPhone(); BigDecimal amount = apiChargeBalanceDto.getAmount(); DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.CHARGE_AMOUNT.getType(), @@ -945,21 +969,34 @@ throw new FebsException("充值金额需要大于"+chargeAmount); } - if (StrUtil.isBlank(mallMember.getTradePassword())) { - throw new FebsException("请设置交易密码"); - } - - if (!mallMember.getTradePassword().equals(SecureUtil.md5(apiChargeBalanceDto.getTradePassword()))) { - throw new FebsException("交易密码错误"); - } MallMemberCharge mallMemberCharge = new MallMemberCharge(); mallMemberCharge.setMemberId(memberId); mallMemberCharge.setAmount(amount); - mallMemberCharge.setAddress(apiChargeBalanceDto.getAddress()); + mallMemberCharge.setAddress(address); mallMemberCharge.setState(1); mallMemberChargeMapper.insert(mallMemberCharge); + return new FebsResponse().success().message("操作成功"); + } + @Override + public FebsResponse bindAddress(ApiBindAddressDto apiBindAddressDto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + + MallMember mallMember = this.baseMapper.selectById(memberId); + if(ObjectUtil.isNotEmpty(mallMember.getBindPhone())){ + throw new FebsException("账号已绑定,请勿重复提交"); + } + + String address = apiBindAddressDto.getAddress().toLowerCase(); + QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("bind_phone",address); + List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper); + if(CollUtil.isNotEmpty(mallMembers)){ + throw new FebsException("请使用未绑定的地址"); + } + mallMember.setBindPhone(address); + this.baseMapper.updateById(mallMember); return new FebsResponse().success().message("操作成功"); } -- Gitblit v1.9.1