package org.jeecg.modules.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.system.entity.*;

/**
 * 租户服务
 *
 * @author liushuai
 * @date 2022/04/14
 */
public interface ISysTenantService extends IService<SysTenant> {

    /**
     * 获取租户
     *
     * @param lsAdd ls添加
     * @return {@link SysTenant}
     */
    SysTenant getTenantByPermissionId(String lsAdd);

    /**
     * 推送用户信息
     * @param user 系统用户
     * @param dept      部门
     * @param type
     */
    void sendUserMsg(SysUser user, SysDepart dept, String type);


    /**
     * 推送区划信息
     *
     * @param sysArea 系统区域
     * @param type
     */
    void sendAreaMsg(SysArea sysArea, String type);

    /**
     * 推送部门信息
     *
     * @param sysDepart 系统部门
     * @param type
     */
    void sendDeptMsg(SysDepart sysDepart, String type);

    /**
     * 部门名称改变推送用户信息
     *
     * @param ls 系统部门
     */
    void sendUserByDept(SysDepart ls);

    /**
     * 推送用户角色信息
     *  @param user      用户
     * @param sysRole   角色
     * @param sysDepart 部门
     * @param type
     */
    void sendUserRoleMsg(SysUser user, SysRole sysRole, SysDepart sysDepart, String type);

    /**
     * 推送部门信息by部门改变
     *
     * @param sysDepart 部门
     */
    void sendDeptByDeptChange(SysDepart sysDepart);
}
