package com.ruoyi.cai.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
import com.ruoyi.cai.dto.app.query.index.GreetQuery;
import com.ruoyi.cai.dto.app.query.index.UserQuery;
import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.List;

/**
 * 用户Service接口
 *
 * @author 77
 * @date 2023-12-19
 */
public interface UserService extends IService<User> {

    User getByUsername(String username);

    Page<UserAdminVo> pageAdmin(PageQuery pageQuery, User query);

    Page<UserListVo> pageApp(PageQuery page, UserQuery query);
    Page<UserListVo> greetPageApp(PageQuery page, GreetQuery query);

    UserInfoVo info(Long userId);

    User getByUserCode(String userCode);

    void updateVideoStatus(Long userId, int videoStatus);

    boolean agreeProtocol(Long userId);

    void checkFinishStatus(Long userId);

    void resetPassword(String mobile, String password);

}
