package com.cool.store.service;

import com.cool.store.dto.StoreDTO;
import com.cool.store.dto.StoreNameDTO;
import com.cool.store.dto.store.AuthStoreUserDTO;
import com.cool.store.dto.store.StoreUserPositionDTO;
import com.cool.store.request.store.StoreListRequest;
import com.cool.store.response.MiniShopsResponse;
import com.cool.store.vo.store.StoreListVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Author suzhuhong
 * @Date 2025/5/13 9:56
 * @Version 1.0
 */
public interface StoreService {


    /**
     * 分页查询门店信息 包括扩展信息
     * @param pageSize
     * @param pageNum
     * @return
     */
    PageInfo<StoreDTO> getStoreExtendFieldInfo(Integer pageSize,Integer pageNum, Boolean queryOperations);

    /**
     * 分页查询接入物联网的门店
     */
    PageInfo<StoreNameDTO> getIotStoreList(Integer pageNum, Integer pageSize);

    PageInfo<MiniShopsResponse> getStoreListByMobile(String mobile,Integer pageNum,Integer pageSize,String storeName,String storeNum);

    List<StoreUserPositionDTO> getStoreUser(List<String> storeCodeList);

    List<AuthStoreUserDTO> authStoreUser(List<String> storeIdList, String positionType);

    List<AuthStoreUserDTO> getStorePositionUserList(List<String> storeIds,
                                                    List<String> positionIds,
                                                    List<String> nodePersonList,
                                                    List<String> groupIdList,
                                                    List<String> regionIdList);

    /**
     * 获取当前用户权限区域下的门店列表
     */
    PageInfo<StoreListVO> getAuthStoreList(StoreListRequest request);

    Boolean handleStoreLogLai(Integer flag,String specialStoreCode);

}
