/**
* Copyright 2018 人人开源 https://www.renren.io
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.epmet.service;
import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.RolesUsersListFormDTO;
import com.epmet.dto.result.CustomerStaffRoleResultDTO;
import com.epmet.dto.result.CustomerStaffRoleListResultDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.StaffRolesResultDTO;
import com.epmet.entity.StaffRoleEntity;
import java.util.List;
import java.util.Map;
/**
* 工作人员-角色关系表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-22
*/
public interface StaffRoleService extends BaseService {
/**
* 默认分页
*
* @param params
* @return PageData
* @author generator
* @date 2020-04-22
*/
PageData page(Map params);
/**
* 默认查询
*
* @param params
* @return java.util.List
* @author generator
* @date 2020-04-22
*/
List list(Map params);
/**
* 单条查询
*
* @param id
* @return StaffRoleDTO
* @author generator
* @date 2020-04-22
*/
StaffRoleDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-04-22
*/
void save(StaffRoleDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-04-22
*/
void update(StaffRoleDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-04-22
*/
void delete(String[] ids);
/**
* 查询具有某角色的staff列表
* @param roleKey
* @param orgId
* @return
*/
List listStaffsInRole(String roleKey, String orgId, DataScope dataScope);
/**
* 清空工作人员权限
* @param dto
*/
void clearStaffRoles(StaffRoleDTO dto);
/**
* @Description 得到某一个员工在一个客户下的所有角色
* @Param CommonUserFormDTO :: getUserId :: getCustomerId
* @return Result
* @Author wangc
* @Date 2020.04.26 10:59
**/
Result getStaffRoles(CommonUserFormDTO userParam);
/**
* @Description 查找具有特定角色的人员Id(可用)
* @param rolesUsersListFormDTO
* @return Result
* @author wangc
* @date 2020.04.29 23:44
**/
Result> getSpecificRolesStaffs(RolesUsersListFormDTO rolesUsersListFormDTO);
/**
* @Description 根据客户Id和staffId查询一个员工在指定客户下的角色列表
* @Author sun
**/
List getCustomerStaffRoleList(CustomerStaffRoleListFormDTO formDTO);
/**
* 根据staffId查询人员拥有的所有角色信息
* @author zhaoqifeng
* @date 2020/6/2 15:54
* @param staffId
* @return java.util.List
*/
List getStaffRoles(String staffId);
List getStaffRoleEntytiesByStaffIdAndOrgId(String agencyId, String staffId);
}