package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxLevelConfig;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxMerchantVo;

import java.util.HashMap;
import java.util.List;

/**
 * @author gongbiao
 */
public interface WxMerchantService {

	/**
     * 根据实体查询分页列表
     *
     * @param record
     * @param pageIndex
     * @param pageSize
     * @return
     */
	PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize);
    PageInfo<WxMerchantVo> listAsPageCVo(WxMerchantVo record, Integer pageIndex, Integer pageSize);
    /**
     * 根据code查询
     *
     * @param params
     * @return
     */
    WxMerchantVo getMerchantInfo(HashMap<String, String> params);

    /**
     * 根据实体查询分页列表
     *
     * @param record
     * @return
     */
    List<WxMerchant> etcpList(WxMerchant record);
	
	/**
     * 根据Id获得实体
     *
     * @param id
     * @return
     */
    WxMerchant getById(Long id);

    /**
     * 根据Id删除实体
     *
     * @param id
     */
    void deleteById(Long id);


    void disable(Long id);

    ResultData addMerchant(WxMerchant wxMerchant, Long userId);

    ResultData updateMerchant(WxMerchant wxMerchant);

    ResultData updateMerchantAccount(WxMerchant wxMerchant);

    ResultData updateMerchantAdmin(WxMerchant wxMerchant);

    ResultData updateMerchantCorp(WxMerchant wxMerchant);

    ResultData updateMerchantTax(WxMerchant wxMerchant);

    ResultData updateMerchantLevel(WxMerchant wxMerchant);
}
