package com.snack.server.module.user.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.snack.server.module.user.dto.req.UserPageReq;
import com.snack.server.module.user.dto.req.UserSaveReq;
import com.snack.server.module.user.vo.UserVO;

/**
 * 普通用户（C 端）管理 Service（管理端调用）
 */
public interface UserService {

    /** 分页查询 */
    Page<UserVO> pageUsers(UserPageReq req);

    /** 详情 */
    UserVO getUserById(Long id);

    /** 创建 */
    Long createUser(UserSaveReq req);

    /** 更新（密码留空表示不修改） */
    void updateUser(UserSaveReq req);

    /** 删除 */
    void deleteUser(Long id);

    /** 重置密码（管理端代为重置，绕过原密码校验） */
    void resetPassword(Long id, String newPassword);

    /** 启用 / 禁用 */
    void updateStatus(Long id, Integer status);
}
