浏览代码

fix 重复用户数据授权容错

zoujiajian 3 年之前
父节点
当前提交
eb77a141a4
共有 1 个文件被更改,包括 12 次插入4 次删除
  1. 12 4
      netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

+ 12 - 4
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -113,14 +113,22 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             } else {
                 // 查询用户是否存在
                 user = Optional.ofNullable(
-                        this.getOne(new LambdaQueryWrapper<User>().eq(User::getUnionid, unionId)))
-                        .orElseGet(() -> this.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenId, openId)));
+                        this.getOne(new LambdaQueryWrapper<User>().eq(User::getUnionid, unionId)
+                                .orderByAsc(User::getId)
+                                .last("limit 1")))
+                        .orElseGet(() -> this.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenId, openId)
+                                .orderByAsc(User::getId)
+                                .last("limit 1")));
             }
         } else {
             // 查询用户是否存在
             user = Optional.ofNullable(
-                    this.getOne(new LambdaQueryWrapper<User>().eq(User::getUnionid, unionId)))
-                    .orElseGet(() -> this.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenId, openId)));
+                    this.getOne(new LambdaQueryWrapper<User>().eq(User::getUnionid, unionId)
+                            .orderByAsc(User::getId)
+                            .last("limit 1")))
+                    .orElseGet(() -> this.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenId, openId)
+                            .orderByAsc(User::getId)
+                            .last("limit 1")));
         }
         return user;
     }