package com.kiisoo.ic.domain.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kiisoo.ic.domain.entity.PrivilageDomainDO;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 数据权限域表  服务类
 * @author jinchaofan
 * @since 2020-02-26
 */
public interface PrivilageDomainService extends IService<PrivilageDomainDO> {

    /**
     * 保存用户域
     * @param userId 用户id
     * @param domainId 域id
     */
    void saveUserDomain(long userId, long domainId);

    /**
     * 删除用户域
     * @param userId 用户id
     */
    void removeUserDomain(long userId);

    /**
     * 删除用户数据权限关系
     * @param userId 用户id
     */
    void removeUserEntity(Long userId);

    /**
     * 数据权限-维护全部
     * @param userId 用户id
     * @param roleId 角色id-此处应该是运营人员的角色id
     */
    void saveAllDate(Long userId, long roleId);

    /**
     * 数据权限-维护单店权限
     * @param staffCode
     * @param shopId
     */
    void saveOneShop(long userId,String staffCode, long shopId,Long type);

    /**
     * 查询用户数据权限
     * @param userId 用户id
     * @return 店铺id集合
     */
    List<Long> listUserDatePermission(Long userId);

}
