package com.gic.haoban.manage.api.service.hm;

import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.hm.HmClerkRelationDTO;

import java.util.List;

/**
 * 多人活码
 *
 * @author mozhu
 * @date 2022-08-05 17:02:54
 */
public interface HmClerkRelationApiService {

    /**
     * 导购解绑作废
     *
     * @param clerkId
     * @param enterpriseId   企业标识
     * @param wxEnterpriseId wx企业标识
     * @param invokingType   调用类型
     * @return {@link ServiceResponse }
     * @author mozhu
     * @date 2022-07-22 15:14:51
     */
    ServiceResponse delByClerkId(String clerkId,String enterpriseId,String wxEnterpriseId,Integer invokingType);
    
    ServiceResponse delByClerkId(String clerkId,String enterpriseId,String wxEnterpriseId,Integer invokingType , String newClerkId);

    /**
     * 根据导购信息获取hmid
     *
     * @param basePageInfo 基本信息页
     * @param hmId         hm id
     * @return {@link List }<{@link HmClerkRelationDTO }>
     * @author mozhu
     * @date 2022-07-15 14:31:03
     */
    Page<HmClerkRelationDTO> getHmClerkByHmId(BasePageInfo basePageInfo, Long hmId);


    /**
     * 根据活码id和导购id查询数据
     *
     * @param hmId    hm id
     * @param clerkId 职员id
     * @return {@link HmClerkRelationDTO }
     * @author mozhu
     * @date 2022-07-15 16:36:29
     */
    HmClerkRelationDTO getHmClerkByHmIdAndClerkId(Long hmId, String clerkId);


    /**
     * 根据活码id随机找一个
     *
     * @param hmId hm id
     * @return {@link HmClerkRelationDTO }
     * @author mozhu
     * @date 2022-07-15 16:48:42
     */
    HmClerkRelationDTO getOneHmClerkByHmId(Long hmId);


    /**
     * 根据活码id和staffId随机找一个
     *
     * @param hmId    hm id
     * @param staffId 员工id
     * @return {@link HmClerkRelationDTO }
     * @author mozhu
     * @date 2022-07-15 17:24:01
     */
    HmClerkRelationDTO getOneHmClerkByHmIdAndStaffId(Long hmId,String staffId);


}
