package com.fufan.mtsaas.modules.sysmgr.syuser.service;

import com.baomidou.mybatisplus.service.IService;
import com.fufan.mtsaas.modules.common.bo.response.RequestPojo;
import com.fufan.mtsaas.modules.common.bo.response.Result;
import com.fufan.mtsaas.modules.sysmgr.syuser.bo.request.*;
import com.fufan.mtsaas.modules.sysmgr.syuser.model.SYuser;

import java.util.Map;

/**
 *  服务类
 *
 * @author Liby
 * @since 2019-08-14
 */
public interface SYuserSvc extends IService<SYuser> {

    Result doQueryUserRole(UserGroupQueryRequest map, RequestPojo requestPojo);

    Result doQueryRoleUser(UserGroupQueryRequest map, RequestPojo requestPojo);

    Result doQueryPage(UserQueryRequest map);

    Result doSave(SYuser entity, RequestPojo requestPojo, UserSaveRequest map);

    Result doUpdate(SYuser entity, RequestPojo requestPojo, UserSaveRequest map);

    Result doDelete(UserQueryRequest map, RequestPojo requestPojo);

    Result doSaveMap(UserSaveRequest map, RequestPojo requestPojo);

    Result doUpdateMap(UserSaveRequest map, RequestPojo requestPojo);

    Result doUpdatePass(UserResetPassRequest map, RequestPojo requestPojo);

    String queryDeptInfo(Map<String, String> map);

    Result doResetPass(String map, RequestPojo requestPojo);

    Result doQueryAllRole(RequestPojo requestPojo);

    Result getUserList(UserQueryRequest map);

    //保存一个用户管理多个角色
    Result doSaveRole(UserGroupSaveRequest map, RequestPojo requestPojo);

    //保存一个角色关联多个用户
    Result doSaveGroup(GroupUserSaveRequest map, RequestPojo requestPojo);

    Result doUpdatePassword(UserResetPassRequest map, RequestPojo requestPojo) throws Exception;

    Result isFirstPws(RequestPojo requestPojo);
}
