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

import java.util.List;

import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.StoreGroupChatHmDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO;
import com.gic.haoban.manage.api.qdto.chat.LinkHmFromWxaQDTO;

/**
 * 
* @ClassName: HmLinkApiService
* @Description: 活码链接
* @author xugh
* @date 2022年7月1日 下午2:24:40
*
 */
public interface HmLinkApiService {
    
    public ServiceResponse<String> getHmLinkUrl() ;
    
    public ServiceResponse<HmLinkDTO> getByLinkId(String wxEnterpriseId, String enterprieId, Long linkId);
    
    public ServiceResponse<HmLinkDTO> getByShortCode(String shortCode);

    /**
     * 
    * @Title: listForSms
    * @Description: 营销短信-查询专用链接
    * @author xugh
    * @param wxEnterpriseId
    * @param enterprieId
    * @param linkName
    * @return
    * @throws
     */
    public ServiceResponse<List<HmLinkDTO>> listForSms(String wxEnterpriseId, String enterprieId, String linkName,
            Integer linkType);
    
    public ServiceResponse<List<HmLinkDTO>> listForSms(String wxEnterpriseId, String enterprieId, String linkName,
            Integer linkType,List<String> creatorIdList);


    public ServiceResponse<String> save(HmLinkDTO dto);

    /**
     * 
    * @Title: getLinkHm
    * @Description: 小程序获取展示活码
    * @author xugh
    * @param whitchStore 1推荐门店 2附件门店 3省市区门店
    * @return
    * @throws
     */
    public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId,
            String clerkId, String linkShortCode, String mixPhone, String unionid , String memberId);


    public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId,
                                                          String clerkId, String linkShortCode, String mixPhone, String unionid , String memberId , LinkHmFromWxaQDTO qdto);
    /**
     * 
    * @Title: getMemberClerkHm
    * @Description: 获取会员关联导购的活码
    * @author xugh
    * @param enterpriseId
    * @param memberId
    * @param unionid
    * @param linkId
    * @return
    * @throws
     */
    public ServiceResponse<HmLinkWxaDTO> getMemberClerkHm(String enterpriseId , String memberId , String unionid , Long linkId) ;

    /**
     * 获取门店详情活码
     * @param enterpriseId
     * @param storeId
     * @return
     */
    public ServiceResponse<StoreGroupChatHmDTO> getStoreGroupChatHm(String enterpriseId, String storeId);
}
