package com.hfkj.service.agent;

import com.hfkj.entity.BsAgentApiParam;
import com.hfkj.entity.BsAgentMer;
import com.hfkj.model.AgentMerAllot;
import com.hfkj.openapi.model.response.ResponseQueryGasInfoModel;

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

/**
 * @className: BsAgentMerService
 * @author: HuRui
 * @date: 2024/6/15
 **/
public interface BsAgentMerService {

    /**
     * 编辑数据
     * @param data
     */
    void editData(BsAgentMer data);

    /**
     * 批量增加
     * @param dataList
     */
    void addData(List<BsAgentMer> dataList);

    /**
     * 分配代理商
     * @param agentId
     * @param merNoArray
     */
    void assignAgent(Long agentId, List<String> merNoArray);

    /**
     * 解绑代理商
     * @param agentId
     * @param merNoArray
     */
    void unbindAgent(Long agentId, List<String> merNoArray);

    /**
     *
     * @param param
     * @return
     */
    List<AgentMerAllot> getAllotList(Map<String,Object> param);

    /**
     * 查询列表
     * @param param
     * @return
     */
    List<BsAgentMer> getList(Map<String,Object> param);

    /**
     * 查询商户号列表
     * @param agentId
     * @return
     */
    List<ResponseQueryGasInfoModel> getMerNoList(Long agentId);

    /**
     * 查询详情
     * @param agentId
     * @param merNo
     * @return
     */
    BsAgentMer getDetailByAgent(Long agentId,String merNo);

    /**
     * 查询下详情
     * @param id
     * @return
     */
    BsAgentMer getDetail(Long id);

    /**
     * 查询详情
     * @param agentStaffId
     * @param merNo
     * @return
     */
    BsAgentMer getDetailByAgentStaff(Long agentStaffId,String merNo);
    /**
     * 分配工作人员
     * @param staffId
     * @param merNoArray
     */
    void assignStaff(Long staffId, List<String> merNoArray);

    /**
     * 解绑工作人员
     * @param staffId
     * @param merNoArray
     */
    void unbindStaff(Long staffId, List<String> merNoArray);

    /**
     * 通知代理
     * @param merNo
     */
    void agentNotify(Long agentId,String merNo);

}
