| | |
| | | } |
| | | |
| | | /** |
| | | * 按微信 openid 查询本地 APP 用户。 |
| | | * 按微信 openid 查询本地 APP 用户,重复脏数据场景优先返回启用且已绑定手机号的账号。 |
| | | */ |
| | | private AppUser findUserByWechatOpenid(String openid) { |
| | | return userMapper.selectOne(new LambdaQueryWrapper<AppUser>() |
| | | .eq(AppUser::getWechatOpenid, openid) |
| | | .eq(AppUser::getDeleted, 0) |
| | | .last("limit 1")); |
| | | .last("ORDER BY CASE WHEN status = 1 THEN 0 ELSE 1 END, " |
| | | + "CASE WHEN phone IS NOT NULL AND TRIM(phone) <> '' THEN 0 ELSE 1 END, " |
| | | + "updated_at DESC, id DESC LIMIT 1")); |
| | | } |
| | | |
| | | /** |
| | | * 按苹果 subject 查询本地 APP 用户。 |
| | | * 按苹果 subject 查询本地 APP 用户,重复脏数据场景优先返回启用且已绑定手机号的账号。 |
| | | */ |
| | | private AppUser findUserByAppleSubject(String subject) { |
| | | return userMapper.selectOne(new LambdaQueryWrapper<AppUser>() |
| | | .eq(AppUser::getAppleIdentitySubject, subject) |
| | | .eq(AppUser::getDeleted, 0) |
| | | .last("limit 1")); |
| | | .last("ORDER BY CASE WHEN status = 1 THEN 0 ELSE 1 END, " |
| | | + "CASE WHEN phone IS NOT NULL AND TRIM(phone) <> '' THEN 0 ELSE 1 END, " |
| | | + "updated_at DESC, id DESC LIMIT 1")); |
| | | } |
| | | |
| | | /** |