<?php

namespace App\JsonRpc;

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

    /**
     * @param int $id
     */
    public function getUserInfo(int $id);
    /**
     * @param array $data
     */
    public function getUserList(array $data);
    /**
     * @param array $data
     * @return array
     */
    public function verifyUserInfo(array $data);

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

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

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

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

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

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

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

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

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

    /**
     * @param array $data
     * @return mixed
     */
    public function getWechatInfo(array $data);

    /**
     * @param array $data
     * @return mixed
     */
    public function addWechatInfo(array $data);

    /**
     * @param array $data
     * @return mixed
     */

    public function changePassword(array $data);

    public function upUserStatus(array $data);

    /**
     * @param array $data
     * @return mixed
     */
    public function resetPassword(array $data);
    public function updateUserAvatarNickname(array $data);

    /**
     * @param array $data
     * @return mixed
     */
    public function getWebsiteGroupInfo(array $data);

}