package com.hfkj.service.gas;

import com.hfkj.model.GasListModel;
import com.hfkj.model.GasModel;
import com.hfkj.model.GasPayPriceModel;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @className: BsGasService
 * @author: HuRui
 * @date: 2024/6/4
 **/
public interface BsGasService {

    /**
     * 更新缓存
     * @param data
     */
    void cache(GasModel data);

    /**
     * 清除缓存
     * @param merNo
     */
    void clean(String merNo);

    /**
     * 加油计算
     * @param refuelPrice
     * @param merNo
     * @param oilNo
     * @param agentMerId 代理商商户id
     * @param userDiscountId 用户优惠券id
     * @return
     * @throws Exception
     */
    GasPayPriceModel refuelPriceCompute(BigDecimal refuelPrice, String merNo, String oilNo, Long agentMerId, Long userDiscountId) ;

    /**
     * 查询油站信息
     * @param merNo 商户号
     * @return
     */
    GasModel getGasDetail(String merNo);

    /**
     * 查询油站列表
     * @param
     * @return
     */
    List<GasListModel> getGasList(String longitude,String latitude,String oilNo,String gasName,Integer distanceLimit, Boolean listShow);

    /**
     * 查询优惠券可用油站列表
     * @param discountNo
     * @param longitude
     * @param latitude
     * @param oilNo
     * @param gasName
     * @param distanceLimit
     * @param listShow
     * @return
     */
    List<GasListModel> getGasListByDiscount(String discountNo,String longitude,String latitude,String oilNo,String gasName,Integer distanceLimit, Boolean listShow);
}
