From bd6b518aae61608ddc2d82b43ccc283dc95b9c54 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 11 三月 2026 13:59:33 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/UserMapper.xml |   96 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 95 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 40c2a71..8a8c580 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -9,10 +9,104 @@
         <result column="username" property="username" />
         <result column="mobile" property="mobile" />
         <result column="password" property="password" />
+        <result column="mfa_allow" property="mfaAllow" />
+        <result column="mfa_enabled" property="mfaEnabled" />
+        <result column="mfa_bound_time" property="mfaBoundTime" />
+        <result column="passkey_name" property="passkeyName" />
+        <result column="passkey_bound_time" property="passkeyBoundTime" />
+        <result column="passkey_last_used_time" property="passkeyLastUsedTime" />
         <result column="role_id" property="roleId" />
         <result column="create_time" property="createTime" />
         <result column="status" property="status" />
-
     </resultMap>
 
+    <resultMap id="SecurityResultMap" type="com.zy.system.entity.User" extends="BaseResultMap">
+        <result column="mfa_secret" property="mfaSecret" />
+        <result column="passkey_credential_id" property="passkeyCredentialId" />
+        <result column="passkey_public_key" property="passkeyPublicKey" />
+        <result column="passkey_algorithm" property="passkeyAlgorithm" />
+        <result column="passkey_sign_count" property="passkeySignCount" />
+        <result column="passkey_transports" property="passkeyTransports" />
+    </resultMap>
+
+    <select id="selectByMobileWithSecurity" resultMap="SecurityResultMap">
+        select
+            id,
+            host_id,
+            username,
+            mobile,
+            password,
+            mfa_allow,
+            mfa_enabled,
+            mfa_secret,
+            mfa_bound_time,
+            passkey_name,
+            passkey_credential_id,
+            passkey_public_key,
+            passkey_algorithm,
+            passkey_sign_count,
+            passkey_transports,
+            passkey_bound_time,
+            passkey_last_used_time,
+            role_id,
+            create_time,
+            status
+        from sys_user
+        where mobile = #{mobile}
+        limit 1
+    </select>
+
+    <select id="selectByIdWithSecurity" resultMap="SecurityResultMap">
+        select
+            id,
+            host_id,
+            username,
+            mobile,
+            password,
+            mfa_allow,
+            mfa_enabled,
+            mfa_secret,
+            mfa_bound_time,
+            passkey_name,
+            passkey_credential_id,
+            passkey_public_key,
+            passkey_algorithm,
+            passkey_sign_count,
+            passkey_transports,
+            passkey_bound_time,
+            passkey_last_used_time,
+            role_id,
+            create_time,
+            status
+        from sys_user
+        where id = #{id}
+        limit 1
+    </select>
+
+    <select id="selectByPasskeyCredentialId" resultMap="SecurityResultMap">
+        select
+            id,
+            host_id,
+            username,
+            mobile,
+            password,
+            mfa_allow,
+            mfa_enabled,
+            mfa_secret,
+            mfa_bound_time,
+            passkey_name,
+            passkey_credential_id,
+            passkey_public_key,
+            passkey_algorithm,
+            passkey_sign_count,
+            passkey_transports,
+            passkey_bound_time,
+            passkey_last_used_time,
+            role_id,
+            create_time,
+            status
+        from sys_user
+        where passkey_credential_id = #{credentialId}
+        limit 1
+    </select>
 </mapper>

--
Gitblit v1.9.1