package com.tofly.ghrq_route.module.user.service;

import android.content.Context;

import com.tofly.ghrq_route.module.user.controller.UserCallBack;
import com.tofly.ghrq_route.module.user.domain.CompanyBean;
import com.tofly.ghrq_route.module.user.domain.CompanyUserBean;
import com.tofly.ghrq_route.module.user.domain.DeviceBean;

/**
 * Created by Amu on 2017/2/9.
 */

public interface IUserService {
    /**
     * 登录方法
     */
    public void login(String userName, String token, boolean forceLogin,
                      final UserCallBack userCallBack);

    /**
     *  获取登录账号信息
     */
    public void getAccountInfo(String username, String token, final UserCallBack userCallBack);

    /**
     *  获取用户功能权限列表
     */
    public void getUserMenus(Context context, final UserCallBack userCallBack);

    /**
     * 更新用户信息
     */
    public void updateAccountInfo(String userid, String username, String mobile, String password, String avatar, final UserCallBack userCallBack);

    /**
     *  获取其它用户账号信息
     */
    public void getUserInfo(String userid, String token, final UserCallBack userCallBack);

    /**
     * 登出方法
     */
    public void logout(String token, final UserCallBack userCallBack);

    /**
     *  获取其它用户列表
     */
    public void getUserMList(String token, final UserCallBack userCallBack);

    /**
     *  获取用户列表
     */
    public void getUserList(String token, final UserCallBack userCallBack);

    /**
     *  注册账号信息
     */
    public void registerAccount(DeviceBean deviceBean, boolean isStandBy, CompanyBean companyBean, CompanyUserBean userBean, final UserCallBack userCallBack);

    /**
     *  获取手机注册信息
     */
    public void getRegisterDeviceInfo(String imei, final UserCallBack userCallBack);

    /**
     *  获取公司列表(注册)
     */
    public void getCompanyList(final UserCallBack userCallBack);

    /**
     *  获取该公司绑定的用户列表(注册)
     */
    public void getCompanyUserList(String companyid, final UserCallBack userCallBack);

    /**
     *  获取部门列表
     */
    public void getDepartmentList(Context context, int pageindex, int pagesize, boolean filtered, final UserCallBack userCallBack);

    /**
     *  获取该部门的用户列表
     */
    public void getDepartmentUserList(Context context, String departId, int pageindex, int pagesize, final UserCallBack userCallBack);

    /**
     *  获取可用车辆列表
     */
    public void getCarList(String token, final UserCallBack userCallBack);

    /**
     * 绑定车辆信息
     */
    public void userBindCar(String token, String carid, final UserCallBack userCallBack);

    /**
     * 解绑车辆信息
     */
    public void userUnBindCar(String token, String carid, final UserCallBack userCallBack);

    /**
     *  获取用户地图配置信息
     */
    public void getMapConfigData(String userid, UserCallBack userCallBack);

    /**
     *  获取地图图层属性排序配置
     */
    public void getMapLayerIndexConfigData(String token, final UserCallBack userCallBack);


    /**
     *  获取分公司地图图层列表
     */
    public void getMapLayersData(String token, final UserCallBack userCallBack);

    /**
     * 设备绑定校验
     */
    public void checkPdaBinded(Context context, UserCallBack userCallBack);

    /**
     * 设备绑定
     */
    public void bindPdaDevice(Context context, DeviceBean deviceBean, UserCallBack userCallBack);

    /**
     *  获取用户gisToken
     */
    public void getUserGisToken(Context context, final UserCallBack userCallBack);
}
