package com.aurora.service; import com.aurora.model.dto.PageResultDTO; import com.aurora.model.dto.UserInfoDTO; import com.aurora.model.dto.UserOnlineDTO;// 导入在线用户数据传输对象(UserOnlineDTO),用于管理在线用户信息,通常包含会话信息等 import com.aurora.entity.UserInfo; import com.aurora.model.vo.*; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile;// 导入 Spring 的文件上传类,用于处理用户头像等文件上传 //主要用于处理用户信息的更新、头像管理、邮箱订阅、角色权限和在线用户管理等核心业务 public interface UserInfoService extends IService { void updateUserInfo(UserInfoVO userInfoVO); /** * 更新用户头像(处理图片文件上传并更新头像链接),该方法接收图片文件,进行格式验证、大小限制检查,然后上传到服务器或云存储 * @param file 用户上传的头像图片文件(MultipartFile 类型) * @return String 新头像的访问URL路径,返回新头像的访问路径,便于前端更新显示 */ String updateUserAvatar(MultipartFile file); void saveUserEmail(EmailVO emailVO); void updateUserSubscribe(SubscribeVO subscribeVO);// 导入订阅值对象(SubscribeVO),用于处理用户订阅相关的参数 void updateUserRole(UserRoleVO userRoleVO);//该方法通常需要权限校验,确保只有管理员可以操作用户角色 void updateUserDisable(UserDisableVO userDisableVO);//导入用户禁用值对象(UserDisableVO),用于处理用户账户禁用状态参数 PageResultDTO listOnlineUsers(ConditionVO conditionVO); void removeOnlineUser(Integer userInfoId);//强制下线指定用户(根据用户ID移除在线会话),该方法使指定用户的登录会话立即失效,用户需要重新登录 UserInfoDTO getUserInfoById(Integer id); }