<?php

namespace App\JsonRpc;

interface UserServiceInterface
{
    /**
     * @param array $data
     * @return array
     */
    public function createUser(array $data): array;

    /**
     * @param int $id
     * @return array
     */
    public function getUserInfo(int $id): array;

    /**
     * 获取会员列表
     * @param array $data
     * @return array
     */
    public function getUserList(array $data): array;

    /**
     * @param array $data
     * @return array
     */
    public function verifyUserInfo(array $data): array;

    /**
     * @remark 创建登录日志信息
     * @param array $data
     * @return array
     */
    public function createUserLogin(array $data): array;

    /**
     * 更新用户信息
     * @param array $data
     * @return array
     */
    public function updateUser(array $data): array;

    /**
     * 更新用户
     * @param array $data
     * @return array
     */
    public function updateUserInfo(array $data): array;

    /**
     * 删除用户
     * @param int $id
     * @return array
     */
    public function delUser(int $id): array;

    /**
     * 添加角色
     * @param array $data
     * @return array
     */
    public function addRole(array $data): array;

    /**
     * 删除角色
     * @param array $data
     * @return array
     */
    public function delRole(array $data): array;

    /**
     * 更新角色
     * @param array $data
     * @return array
     */
    public function updateRole(array $data): array;

    /**
     * 角色列表
     * @param array $data
     * @return array
     */
    public function roleList(array $data): array;

    /**
     * 角色信息
     * @param array $data
     * @return array
     */
    public function roleInfo(array $data): array;

    /**
     * 查询是否注册
     * @param array $data
     * @return array
     */
    public function getWechatInfo(array $data): array;

    /**
     * 添加注册信息
     * @param array $data
     * @return array
     */
    public function addWechatInfo(array $data): array;

    /**
     * 修改密码
     * @param array $data
     * @return array
     */
    public function changePassword(array $data): array;
    /**
     * @param array $data
     * @return array
     */
    public function upUserStatus(array $data): array;
    public function updateUserAvatarNickname(array $data): array;

    /**
     * 获取网站组信息
     * @param array $data
     * @return array
     */
    public function getWebsiteGroupInfo(array $data): array;

}