package com.estate.expert.admin.service; import com.estate.expert.admin.service.common.CrudServiceBase; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.user.UserDto; import com.estate.expert.admin.domain.user.UserState; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.common.option.SelectOptionVo; import java.util.List; /** * 用户服务 */ public interface UserService extends CrudServiceBase { /** * 获取用户列表 * @param keyword 关键词 * @param roleId 角色ID * @param pageReq 分页请求 * @return 用户列表 */ PageResp list(String keyword, Integer roleId, PageReq pageReq); /** * 获取用户列表 * @param keyword 关键词 * @param pageReq 分页请求 * @return 用户列表 */ PageResp list(String keyword, PageReq pageReq); /** * 重置密码 * @param userId 用户ID */ void resetPass(Integer userId); /** * 修改用户状态 * @param userId 用户ID * @param state 用户状态 */ void modifyState(Integer userId, UserState state); /** * 更新个人信息 * @param user 用户 * @param dto 用户DTO */ void updatePersonalInfo(User user, UserDto dto); /** * 更新密码 * @param user 用户 * @param oldPassword 旧密码 * @param newPassword 新密码 */ void updatePassword(User user, String oldPassword, String newPassword); /** * 根据用户名获取用户 * @param name 用户名 * @return 用户 */ User getUserByName(String name); /** * 获取用户选项 * @param title 标题 * @return 用户选项 */ List options(String title); /** * 获取系统用户 * @return 系统用户 */ User getSystemUser(); /** * 创建系统用户 */ void createSystemUser(); /** * 获取活跃用户列表 * @param keyword 关键词 * @return 活跃用户列表 */ List listActiveUsers(String keyword); }