Refactor user account management by replacing User entity with UserAccount, updating UserController and UserService for CRUD operations, and modifying MyBatis mappers accordingly.
This commit is contained in:
@@ -28,4 +28,61 @@
|
||||
WHERE username = #{username}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="findById" parameterType="long" resultMap="UserAccountMap">
|
||||
SELECT id, user_type, username, display_name, password_hash, role, status, points_balance, created_at, updated_at
|
||||
FROM user_account
|
||||
WHERE id = #{id}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="com.gameplatform.server.model.entity.account.UserAccount" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO user_account (user_type, username, display_name, password_hash, role, status, points_balance)
|
||||
VALUES (#{userType}, #{username}, #{displayName}, #{passwordHash}, #{role}, #{status}, #{pointsBalance})
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="com.gameplatform.server.model.entity.account.UserAccount">
|
||||
UPDATE user_account
|
||||
<set>
|
||||
<if test="displayName != null">display_name = #{displayName},</if>
|
||||
<if test="role != null">role = #{role},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="setStatus">
|
||||
UPDATE user_account SET status = #{status} WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updatePassword">
|
||||
UPDATE user_account SET password_hash = #{passwordHash} WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="countByFilter" resultType="long">
|
||||
SELECT COUNT(1) FROM user_account
|
||||
<where>
|
||||
<if test="userType != null and userType != ''">AND user_type = #{userType}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
<if test="role != null and role != ''">AND role = #{role}</if>
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND (username LIKE CONCAT('%', #{keyword}, '%') OR display_name LIKE CONCAT('%', #{keyword}, '%'))
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByFilter" resultMap="UserAccountMap">
|
||||
SELECT id, user_type, username, display_name, password_hash, role, status, points_balance, created_at, updated_at
|
||||
FROM user_account
|
||||
<where>
|
||||
<if test="userType != null and userType != ''">AND user_type = #{userType}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
<if test="role != null and role != ''">AND role = #{role}</if>
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND (username LIKE CONCAT('%', #{keyword}, '%') OR display_name LIKE CONCAT('%', #{keyword}, '%'))
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY id DESC
|
||||
LIMIT #{size} OFFSET #{offset}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user