diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseUserServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseUserServiceImpl.java index 3fe7fc3..22887f1 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseUserServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseUserServiceImpl.java @@ -12,6 +12,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.m2pool.lease.aspect.LedgerLogService; import com.m2pool.lease.aspect.OperationLogAspect; +import com.m2pool.lease.constant.CoinCharge; import com.m2pool.lease.dto.*; import com.m2pool.lease.dto.v2.GoogleInfoDto; import com.m2pool.lease.entity.*; @@ -130,6 +131,9 @@ public class LeaseUserServiceImpl extends ServiceImpl> login(UserLoginVo userLoginVo) { - String email = userLoginVo.getEmail(); + String email = userLoginVo.getEmail().trim(); String password = userLoginVo.getPassword(); String code = userLoginVo.getCode(); //1.校验密码,邮箱等参数格式 @@ -271,14 +275,15 @@ public class LeaseUserServiceImpl extends ServiceImpl token = createToken(user); + return Result.success(token); } @Override @Transactional public Result register(UserRegisterVo userRegisterVo) { - String email = userRegisterVo.getUserEmail(); + String email = userRegisterVo.getUserEmail().trim(); String password = userRegisterVo.getPassword(); //1.校验密码,邮箱等参数格式 verifyParams(email,password); @@ -299,7 +304,7 @@ public class LeaseUserServiceImpl extends ServiceImpl updatePassword(UserLoginVo userLoginVo) { - String email = userLoginVo.getEmail(); + String email = userLoginVo.getEmail().trim(); String password = userLoginVo.getPassword(); String updatePwdCode = userLoginVo.getCode(); String updatePasswordCodeKey = RedisAuthKey.getUpdatePasswordCodeKey(email); @@ -329,7 +334,7 @@ public class LeaseUserServiceImpl extends ServiceImpl updatePasswordInCenter(RestPwdVo restPwdVo) { - String email = restPwdVo.getEmail(); + String email = restPwdVo.getEmail().trim(); String password = restPwdVo.getPassword(); String updatePwdCode = restPwdVo.getCode(); String updatePasswordCodeKey = RedisAuthKey.getUpdatePasswordCodeKey(email); @@ -391,9 +396,10 @@ public class LeaseUserServiceImpl extends ServiceImpl().eq(LeaseShop::getUserEmail, userEmail) + .eq(LeaseShop::getDel, false)); + //1.3订单,钱包,交易记录校验余额校验 + verifyUserInfo(userEmail,leaseShop.getId()); //2.删除用户信息 int update = leaseUserMapper.update(LeaseUser.builder().del(true).build(), new LambdaUpdateWrapper() @@ -401,9 +407,6 @@ public class LeaseUserServiceImpl extends ServiceImpl 0){ - LeaseShop leaseShop = leaseShopMapper.selectOne(new LambdaQueryWrapper().eq(LeaseShop::getUserEmail, userEmail) - .eq(LeaseShop::getDel, false)); - //删除购物车商品 leaseShoppingCartInfoMapper.delete(new LambdaQueryWrapper() .eq(LeaseShoppingCartInfo::getUserId, userEmail)); @@ -425,10 +428,48 @@ public class LeaseUserServiceImpl extends ServiceImpl leaseUserWalletDataList = leaseUserWalletDataMapper.selectList(new LambdaQueryWrapper() + .eq(LeaseUserWalletData::getUserId, userEmail) + .eq(LeaseUserWalletData::getDel, false)); + for (LeaseUserWalletData leaseUserWalletData : leaseUserWalletDataList) { + BigDecimal deductibleAmount = CoinCharge.getDeductibleAmountByChainAndCoin(leaseUserWalletData.getFromChain(), leaseUserWalletData.getFromSymbol()); + if (leaseUserWalletData.getBalance().compareTo(deductibleAmount) >= 0) { + throw new AuthException("注销失败:用户付款钱包余额不为0"); + } + } + //校验用户卖家钱包 + List shopConfigs = leaseShopConfigMapper.selectList(new LambdaQueryWrapper() + .eq(LeaseShopConfig::getShopId, shopId) + .eq(LeaseShopConfig::getDel, false) + ); + for (LeaseShopConfig config : shopConfigs) { + BigDecimal deductibleAmount = CoinCharge.getDeductibleAmountByChainAndCoin(config.getChain(), config.getPayCoin()); + if (config.getBalance().compareTo(deductibleAmount) >= 0) { + throw new AuthException("注销失败:用户店铺收款钱包余额不为0"); + } + } + + //订单记录 + Long l2 = leaseOrderInfoMapper.selectCount(new LambdaQueryWrapper() + .eq(LeaseOrderInfo::getUserId, userEmail) + .eq(LeaseOrderInfo::getStatus, 7) + .eq(LeaseOrderInfo::getDel, false)); + if (l2 > 0){ + throw new AuthException("您有未完成订单,请处理后再删除账户"); + } + + } + @Override public Result sendCloseAccount(EmailCodeVo emailCodeVo) { - String email = emailCodeVo.getEmail(); + String email = emailCodeVo.getEmail().trim(); //2.请求次数限制 String closeKey = RedisAuthKey.getCloseAccountKey(email); if (redisService.hasKey(closeKey)){ @@ -462,7 +503,7 @@ public class LeaseUserServiceImpl extends ServiceImpl sendRegisterCode(EmailCodeVo emailCodeVo) { - String email = emailCodeVo.getEmail(); + String email = emailCodeVo.getEmail().trim(); //2.请求次数限制 String loginCodeKey = RedisAuthKey.getRegisterCodeKey(email); if (redisService.hasKey(loginCodeKey)){ @@ -524,7 +565,7 @@ public class LeaseUserServiceImpl extends ServiceImpl sendUpdatePwdCode(EmailCodeVo emailCodeVo) { - String email = emailCodeVo.getEmail(); + String email = emailCodeVo.getEmail().trim(); LeaseUser leaseUser = leaseUserMapper.selectOne(new LambdaQueryWrapper() .eq(LeaseUser::getUserId, email).eq(LeaseUser::getDel, false)); if (leaseUser == null){