package com.haha.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.haha.common.vo.Result;
import com.haha.entity.ShopReplenisher;

import java.util.List;

/**
 * 门店补货员服务接口
 */
public interface ShopReplenisherService extends IService<ShopReplenisher> {

    /**
     * 获取门店补货员列表
     * @param shopId 门店ID
     * @return 补货员列表
     */
    List<ShopReplenisher> getReplenishersByShopId(Long shopId);

    /**
     * 添加补货员
     * @param shopId 门店ID
     * @param adminId 管理员ID
     * @return 操作结果
     */
    Result<Void> addReplenisher(Long shopId, Long adminId);

    /**
     * 批量添加补货员
     * @param shopId 门店ID
     * @param adminIds 管理员ID列表
     * @return 成功添加数量
     */
    int batchAddReplenishers(Long shopId, List<Long> adminIds);

    /**
     * 移除补货员
     * @param shopId 门店ID
     * @param adminId 管理员ID
     * @return 操作结果
     */
    Result<Void> removeReplenisher(Long shopId, Long adminId);

    /**
     * 批量移除补货员
     * @param shopId 门店ID
     * @param adminIds 管理员ID列表
     * @return 成功移除数量
     */
    int batchRemoveReplenishers(Long shopId, List<Long> adminIds);

    /**
     * 更新补货员状态
     * @param id 补货员关联ID
     * @param status 状态
     * @return 操作结果
     */
    Result<Void> updateStatus(Long id, Integer status);

    /**
     * 检查管理员是否是某门店的补货员
     * @param shopId 门店ID
     * @param adminId 管理员ID
     * @return 是否是补货员
     */
    boolean isReplenisher(Long shopId, Long adminId);
}
