| | |
| | | * 生成用户信息 |
| | | * 返回账号和密钥给前端 |
| | | */ |
| | | 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){ |
| | |
| | | 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(); |
| | |
| | | @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("退出登录"); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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(), |
| | |
| | | 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("操作成功"); |
| | | } |
| | | |