package cn.apes.authon.mapper; import cn.apes.authon.domain.entity.UserPreference; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; /** * 用户个性化配置 Mapper接口 * * @author OpenClaw * @since 2026-08-06 */ public interface UserPreferenceMapper extends BaseMapper { /** * 更新指定用户的配置(包含已逻辑删除的行,同时恢复 is_del=0) * * @param userId 用户ID * @param uiSize UI尺寸 1-最大 2-中等 3-最小 * @return int 影响行数,0表示该用户不存在任何记录(含已删除) */ @Update("update user_preference set ui_size = #{uiSize}, is_del = 0 where user_id = #{userId}") int updateIncludeDeleted(@Param("userId") Long userId, @Param("uiSize") Integer uiSize); /** * 统计指定用户的记录数(包含已逻辑删除的行) * * @param userId 用户ID * @return int 记录数(含已删除) */ @Select("select count(1) from user_preference where user_id = #{userId}") int countIncludeDeleted(@Param("userId") Long userId); }