package com.ruoyi.ss.storeStaff.service;

import com.ruoyi.ss.store.domain.StoreVo;
import com.ruoyi.ss.storeStaff.domain.StoreStaff;
import com.ruoyi.ss.storeStaff.domain.StoreStaffVO;
import com.ruoyi.ss.storeStaff.domain.enums.StoreStaffPermissions;

import java.util.List;

/**
 * @author wjh
 * 2024/11/13
 */
public interface StoreStaffValidator {

    /**
     * 校验分成比例
     */
    void checkPoint(StoreStaff data);

    /**
     * 新增、修改后校验
     */
    void afterCheck(StoreStaffVO vo);

    /**
     * 是否是商户
     */
    boolean isMch(List<Long> employIds, Long userId);

    /**
     * 判断用户能否操作店铺
     *
     * @param storeId    店铺ID
     * @param userId     员工ID
     * @param permission
     */
    boolean hasStorePermission(Long storeId, Long userId, StoreStaffPermissions permission);

    /**
     * 校验是否重复成为店铺员工
     * @param storeId 店铺ID
     * @param userId 用户ID
     * @param employId 员工ID
     */
    void checkRepeatUser(Long storeId, Long userId, Long employId);
}
