package com.stdproject.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.stdproject.entity.AppUser;

/**
 * <p>
 * 应用系统_系统用户 服务类
 * </p>
 *
 * @author StdProject
 * @since 2023-12-07
 */
public interface IAppUserService extends IService<AppUser> {

    /**
     * 根据用户名查找用户
     * @param username 用户名
     * @return 用户实体
     */
    AppUser findByUsername(String username);
    
    /**
     * 获取当前登录用户名
     * @return 当前登录用户名，未登录则返回null
     */
    String getCurrentUsername();
    
    /**
     * 获取当前登录用户
     * @return 当前登录用户实体，未登录则返回null
     */
    AppUser getCurrentUser();

    /**
     * 修改用户密码
     * @param username 用户名
     * @param oldPassword 原密码
     * @param newPassword 新密码
     * @return 修改是否成功
     */
    boolean changePassword(String username, String oldPassword, String newPassword);
}