package com.gxwebsoft.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.shop.entity.Merchant;
import com.gxwebsoft.shop.param.MerchantParam;

import java.util.List;

/**
 * 商户管理Service
 *
 * @author 科技小王子
 * @since 2022-11-30 15:10:54
 */
public interface MerchantService extends IService<Merchant> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<Merchant>
     */
    PageResult<Merchant> pageRel(MerchantParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<Merchant>
     */
    List<Merchant> listRel(MerchantParam param);

    /**
     * 根据id查询
     *
     * @param merchantId 商户ID
     * @return Merchant
     */
    Merchant getByIdRel(Integer merchantId);

    /**
     *
     * @param merchantOwner 店主绑定的userId
     * @return 商户编号
     */
    String getMerchantCodeByOwner(Integer merchantOwner);

    Merchant getMerchantByCode(String merchantCode);

    List<Merchant> listByGeo(MerchantParam param);

    void saveGeoPointToRedis();
}
