package com.bohuikeji.frame.module.admin.service;

import com.bohuikeji.frame.module.admin.entity.TFranchiseeInformation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bohuikeji.frame.module.admin.entity.vo.AddressVo;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 加盟商信息表 服务类
 * </p>
 *
 * @author 10552
 * @since 2019-08-22
 */
public interface ITFranchiseeInformationService extends IService<TFranchiseeInformation> {

    @Override
    TFranchiseeInformation getById(Serializable id);

    /**
     * 给定一个地理位置判断所在加盟商，如存在等级关系，返回最小级别，符合条件多个平级加盟商则返回第一个
     * @param address
     * @return
     */
    TFranchiseeInformation checkPio(AddressVo address);

    /**
     * 查询该加盟商的下级列表
     * @param id 当前加盟商ID
     * @return 返回子下级加盟商ID数组+本加盟商ID
     */
    Object[] queryLow(Integer id);

    /**
     * 查询上级加盟商ID集合
     * @param id
     * @return 返回上级加盟商ID数组+本加盟商ID
     */
    Object[] querySuper(Integer id);

    /**
     * 查询上级加盟商
     * @param id
     * @return
     */
    TFranchiseeInformation getSuper(Integer id);

}
