“mitao”
2026-05-01 74232f3f2a69a99c40a1e54854f0ae419a73a3bc
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppAuthService.java
@@ -249,23 +249,27 @@
    }
    /**
     * 按微信 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"));
    }
    /**