|
|
@@ -23,6 +23,7 @@ import org.springframework.util.StringUtils;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
+import java.util.concurrent.ThreadLocalRandom;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
|
|
/**
|
|
|
@@ -60,7 +61,8 @@ public class LoginServiceImpl extends AbstractLoginService implements LoginServi
|
|
|
|
|
|
WishingUser user = userMapper.selectByMobile(query.getMobile());
|
|
|
if (user == null) {
|
|
|
- throw new BizException("用户不存在");
|
|
|
+ //throw new BizException("用户不存在");
|
|
|
+ user = this.createWishingUser(query.getMobile());
|
|
|
}
|
|
|
user.setLastLoginAt(LocalDateTime.now());
|
|
|
user.setLoginCount(user.getLoginCount() + 1);
|
|
|
@@ -82,6 +84,7 @@ public class LoginServiceImpl extends AbstractLoginService implements LoginServi
|
|
|
resp.setMobile(user.getMobile());
|
|
|
resp.setNickname(user.getNickname());
|
|
|
resp.setAvatar(user.getAvatar());
|
|
|
+ resp.setIsAdmin(user.getIsAdmin());
|
|
|
return resp;
|
|
|
}
|
|
|
|
|
|
@@ -116,4 +119,42 @@ public class LoginServiceImpl extends AbstractLoginService implements LoginServi
|
|
|
Integer userId = Integer.valueOf(CurrentUtils.getCurrentUserId());
|
|
|
return wishMapper.selectWishSummary(userId);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ private WishingUser createWishingUser(String mobile) {
|
|
|
+ WishingUser user = new WishingUser();
|
|
|
+ user.setMobile(mobile);
|
|
|
+ user.setNickname(this.createRandUerName());
|
|
|
+ user.setLoginCount(0);
|
|
|
+ user.setAvatar("");
|
|
|
+ user.setIsAdmin(1);
|
|
|
+ userMapper.insert(user);
|
|
|
+ return user;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String createRandUerName() {
|
|
|
+ // 常见单字姓氏列表(可根据需要扩充)
|
|
|
+ String[] surnames = new String[]{"李","王","张","刘","陈","杨","黄","赵","吴","周","徐","孙","胡","朱","高","林","何","郭","马","罗","梁","宋","郑","谢","唐"};
|
|
|
+
|
|
|
+ // 常见单字名字用字(男女通用,列表可扩充)
|
|
|
+ String[] nameChars = new String[]{
|
|
|
+ "伟","芳","娜","秀","英","敏","静","丽","强","磊",
|
|
|
+ "洋","勇","艳","杰","娟","涛","明","超","平","刚",
|
|
|
+ "桂","雪","飞","琳","玲","丹","萍","辉","建","华",
|
|
|
+ "晶","燕","晨","晨","鑫","彤","坤","怡","珊","瑶"
|
|
|
+ };
|
|
|
+
|
|
|
+ ThreadLocalRandom rnd = ThreadLocalRandom.current();
|
|
|
+ String surname = surnames[rnd.nextInt(surnames.length)];
|
|
|
+
|
|
|
+ // 给名长度 1 或 2
|
|
|
+ int givenLen = rnd.nextInt(1, 3); // 1 或 2
|
|
|
+ StringBuilder givenName = new StringBuilder();
|
|
|
+ for (int i = 0; i < givenLen; i++) {
|
|
|
+ givenName.append(nameChars[rnd.nextInt(nameChars.length)]);
|
|
|
+ }
|
|
|
+
|
|
|
+ return surname + givenName;
|
|
|
+ }
|
|
|
+
|
|
|
}
|