guardia-mall/backend/src/main/resources/mapper/UserMapper.xml
DESKTOP-TKLFCPR\ython b33337c6ee feat(uiws): UIWS 업무모듈(업무일지·일정·쪽지·통계)+2FA 이식
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 20:27:13 +09:00

41 lines
1.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zioinfo.mall.auth.mapper.UserMapper">
<resultMap id="userMap" type="com.zioinfo.mall.auth.MallUser">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="passwordHash" column="password_hash"/>
<result property="role" column="role"/>
<result property="displayName" column="display_name"/>
<result property="active" column="is_active"/>
<result property="createdAt" column="created_at"/>
<!-- UIWS 2FA 이식 컬럼 (mall_account ALTER, db/91_uiws_port.sql) -->
<result property="email" column="email"/>
<result property="emailVerifyCode" column="email_verify_code"/>
<result property="emailVerifyExpire" column="email_verify_expire"/>
<result property="loginFailCount" column="login_fail_count"/>
<result property="locked" column="locked"/>
<result property="otpSecret" column="otp_secret"/>
</resultMap>
<select id="findByUsername" resultMap="userMap">
SELECT id, username, password_hash, role, display_name, is_active, created_at,
email, email_verify_code, email_verify_expire, login_fail_count, locked, otp_secret
FROM mall_account
WHERE username = #{username}
</select>
<insert id="insert" parameterType="com.zioinfo.mall.auth.MallUser"
useGeneratedKeys="true" keyProperty="id">
INSERT INTO mall_account (username, password_hash, role, display_name, is_active)
VALUES (#{username}, #{passwordHash}, #{role}, #{displayName}, #{active})
</insert>
<select id="countByUsername" resultType="int">
SELECT COUNT(*) FROM mall_account WHERE username = #{username}
</select>
</mapper>