package com.erp.user.service;

import com.erp.user.entity.User;

import java.util.List;

/**
 * 用户服务接口
 */
public interface UserService {
    
    /**
     * 获取用户列表
     */
    List<User> listUsers(Long tenantId, String username, Integer page, Integer size);
    
    /**
     * 根据ID获取用户
     */
    User getUserById(Long id);
    
    /**
     * 创建用户
     */
    User createUser(User user);
    
    /**
     * 更新用户
     */
    User updateUser(User user);
    
    /**
     * 删除用户
     */
    void deleteUser(Long id);
    
    /**
     * 切换用户状态
     */
    User toggleUserStatus(Long id);
    
    /**
     * 根据用户名查找用户
     */
    User findByUsername(String username);
    
    /**
     * 根据邮箱查找用户
     */
    User findByEmail(String email);
    
    /**
     * 验证用户密码
     */
    boolean verifyPassword(User user, String password);
}