package com.iformall.service;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxLevelConfig;
import com.iformall.domain.po.WxLevelMerchant;
import com.iformall.domain.vo.WxLevelMerchantCVo;

import java.util.List;

public interface WxLevelConfigService {


    public final static int DEFAULT_MERCHANT_DISCOUNT = 100;
    public final static String DEFAULT_LEVEL = "普通会员";
	/**
     * 根据实体查询分页列表
     *
     * @param record
     * @param pageIndex
     * @param pageSize
     * @return
     */
	PageInfo<WxLevelConfig> listAsPage(WxLevelConfig record, Integer pageIndex, Integer pageSize);


    List<WxLevelConfig> listByMerchantId(Long merchantId, WxLevelConfig record);
    void batchSaveByMerchantId(String tenantId, Long merchantId, List<WxLevelConfig> records);

    /**
     * getByTenantId
     * @param tenantId
     * @return
     */
    List<WxLevelConfig> getByTenantId(String tenantId);
	
	/**
     * 根据Id获得实体
     *
     * @param id
     * @return
     */
    WxLevelConfig getById(Long id);

    /**
     * 保存或更新实体
     *
     * @param record
     */
    void saveOrUpdate(WxLevelConfig record);

    /**
     * 批量保存
     */
    void batchSave(String tenantId, List<WxLevelConfig> records);


    /**
     * 批量更新
     */
    void batchUpdateCapabilities(String tenantId, List<WxLevelConfig> records);
    Long getCapabilitiesOfSendCarConpon(JSONObject jo);
    /**
     * 根据Id删除实体
     *
     * @param id
     */
    void deleteById(Long id);
    
	
	void deleteAll(String tenantId);
    /**
     * 根据积分获取会员等级
     * @param tenantId
     * @param score
     * @return
     */
    String getLevel(String tenantId,int score);


    /**
     * 根据实体查询分页列表
     *
     * @param record
     * @return
     */
    List<WxLevelConfig> findList(WxLevelConfig record);


    List<WxLevelMerchantCVo> findListCVo(WxLevelMerchant record);
	
}
