package com.gic.haoban.manage.service.dao.mapper;

import com.gic.haoban.manage.service.entity.TabStoreRelation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

@Mapper
public interface TabHaobanStoreRelationMapper {

    /**
     *
     */
    int insertBatch(@Param("list") List<TabStoreRelation> list);

    /**
     *
     */
    TabStoreRelation selectByPrimaryKey(String storeRelationId);

    /**
     * 门店搜索
     */
    List<TabStoreRelation> searchStoreRange(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("enterpriseId") String enterpriseId, @Param("search") String search);

    /**
     * 门店搜索
     */
    List<TabStoreRelation> listStoreRange(@Param("enterpriseId") String enterpriseId);

    List<TabStoreRelation> listStoreRangeByStorId(@Param("enterpriseId") String enterpriseId , @Param("storeId") String storeId);

    /**
     * 删除门店
     *
     * @param enterpriseId
     * @return
     */
    public int deleteStoreRalationByStoreIds(@Param("enterpriseId") String enterpriseId, @Param("storeIds") Set<String> storeIds);

    /**
     * 所有门店id
     *
     * @param wxEnterpriseId
     * @param enterpriseId
     * @return
     */
    List<String> listStoreIdByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("enterpriseId") String enterpriseId);

    /**
     * 更新门店名称
     *
     * @param enterpriseId
     * @return
     */
    public int updateStoreName(@Param("enterpriseId") String enterpriseId, @Param("storeId") String storeId, @Param("storeName") String storeName);


    /**
     * 门店查询列表
     *
     * @param storeId        存储id
     * @param wxEnterpriseId wx企业标识
     * @param enterpriseId   企业标识
     * @return {@link List }<{@link String }>
     * @author mozhu
     * @date 2022-05-30 16:00:47
     */
    List<String> listStoreIdByStoreIdWxEnterpriseId(@Param("storeId") String storeId,
                                                    @Param("wxEnterpriseId") String wxEnterpriseId,
                                                    @Param("enterpriseId") String enterpriseId);


    /**
     * 查询所有门店分组id
     *
     * @param wxEnterpriseId wx企业标识
     * @param enterpriseId   企业标识
     * @return {@link List }<{@link String }>
     * @author mozhu
     * @date 2022-06-01 10:34:17
     */
    List<String> listStoreGroupIdByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId,
                                                  @Param("enterpriseId") String enterpriseId);


    List<String> listStoreIdByName(@Param("wxEnterpriseId") String wxEnterpriseId,
                                   @Param("enterpriseId") String enterpriseId,
                                   @Param("storeName") String storeName);

}