Parcourir la source

微信小程序用户登录(优化登录的个人数据)

panzhilin il y a 2 mois
Parent
commit
c60793fdbe

+ 9 - 2
alien-dining/src/main/java/shop/alien/dining/service/impl/DiningUserServiceImpl.java

@@ -25,6 +25,7 @@ import shop.alien.util.common.JwtUtil;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.ThreadLocalRandom;
 
 /**
  * 点餐用户服务实现类(新方式:仅 phoneCode,无需 wx.login)
@@ -67,12 +68,18 @@ public class DiningUserServiceImpl implements DiningUserService {
         queryWrapper.eq(LifeUser::getUserPhone, phone);
         LifeUser user = lifeUserMapper.selectOne(queryWrapper);
 
-        // 4. 用户不存在则创建
+        // 4. 用户不存在则创建,并自动填默认/随机资料
         if (user == null) {
             user = new LifeUser();
             user.setUserPhone(phone);
-            user.setUserName(phone);
+            // 昵称:微信用户 + 6位随机数 + 时间戳后缀,避免重复
+            String nickSuffix = ThreadLocalRandom.current().nextInt(100000, 1000000)
+                    + "_" + (System.currentTimeMillis() % 10000);
+            user.setUserName("微信用户" + nickSuffix);
             user.setRealName(phone);
+            // 性别:随机 "男" 或 "女",存 user_sex(varchar),默认男
+            user.setUserSex(ThreadLocalRandom.current().nextBoolean() ? "女" : "男");
+            // 生日:先不填,保持 null
             user.setCreatedTime(new Date());
             int ret = lifeUserMapper.insert(user);
             if (ret != 1) {