package com.yiqi.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yiqi.system.domain.SysStore;
import com.yiqi.system.domain.dto.weapp.WeAppOrgQueryDTO;
import com.yiqi.system.domain.vo.OrgVO;
import com.yiqi.system.domain.vo.SysStoreVo;

/**
 * 门店Service接口
 *
 * @author ruoyi
 * @date 2023-07-25
 */
public interface ISysStoreService extends IService<SysStore> {

    /**
     * 查询所有组织信息
     * @return
     */
    public List<OrgVO> allOrg(String sourceType);

    /**
     * 根据门店id获取门店名称
     * @param storeId
     * @return
     */
    public String getStoreNameById(Long storeId);

    /**
     * 查询门店
     *
     * @param id 门店主键
     * @return 门店
     */
    public SysStore selectSysStoreById(Long id);

    /**
     * 查询门店
     *
     * @return 门店
     */
    public SysStore selectSysStoreInfoById();

    /**
     * 查询门店列表
     *
     * @param sysStore 门店
     * @return 门店集合
     */
    public List<SysStoreVo> selectSysStoreList(SysStore sysStore);

    /**
     * 查询门店列表
     * @param weAppOrgQueryDTO
     * @return
     */
    List<SysStoreVo> findStoreByDistance(WeAppOrgQueryDTO weAppOrgQueryDTO);

    /**
     * 新增门店
     *
     * @param sysStore 门店
     * @return 结果
     */
    public int insertSysStore(SysStore sysStore);

    /**
     * 修改门店
     *
     * @param sysStore 门店
     * @return 结果
     */
    public int updateSysStore(SysStore sysStore);

    /**
     * 批量删除门店
     *
     * @param ids 需要删除的门店主键集合
     * @return 结果
     */
    public int deleteSysStoreByIds(Long[] ids);

    /**
     * 删除门店信息
     *
     * @param id 门店主键
     * @return 结果
     */
    public int deleteSysStoreById(Long id);

    /**
     * 修改门店状态
     *
     * @param sysStore 门店
     * @return 结果
     */
    public int updateStoreStatus(SysStore sysStore);

}
