ソースを参照

批量注册用户接口bug修复

dsx 2 年 前
コミット
a8930b43bb

+ 1 - 0
src/main/java/com/fdkankan/ucenter/service/impl/LoginService.java

@@ -331,6 +331,7 @@ public class LoginService {
             if(StringUtils.isEmpty(param.getPhoneNum())){
                 continue;
             }
+            param.setPhoneNum(param.getPhoneNum().trim());
             if(StringUtils.isEmpty(param.getPassword())){
                 param.setPassword("gh123456");
             }

+ 14 - 0
src/main/java/com/fdkankan/ucenter/service/impl/UserServiceImpl.java

@@ -1,5 +1,7 @@
 package com.fdkankan.ucenter.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -7,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.ConstantRegex;
 import com.fdkankan.common.constant.ConstantUrl;
+import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.*;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
@@ -109,8 +112,19 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
 
     @Override
     public int registerBatch(List<RegisterParam> paramList) {
+
+        List<String> phoneNumList = paramList.stream().map(param -> param.getPhoneNum()).collect(Collectors.toList());
+        List<User> list = this.list(new LambdaQueryWrapper<User>().in(User::getUserName, phoneNumList));
+        if(CollUtil.isNotEmpty(list)){
+            List<String> collect = list.stream().map(user -> user.getUserName()).collect(Collectors.toList());
+            throw new BusinessException(ErrorCode.PHONE_EXIST.code(), "账号已被注册:" + JSONObject.toJSONString(collect));
+        }
+
         List<User> users = new ArrayList<>();
         for (RegisterParam param : paramList) {
+            if(StrUtil.isEmpty(param.getPhoneNum())){
+                continue;
+            }
             User userEntity = new User();
             userEntity.setPassword(SecurityUtil.MD5(param.getPassword()));
             userEntity.setEmail(param.getEmail());