package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.vo.WxCouponCVo;
import com.iformall.domain.vo.WxCouponChannelVo;

import java.util.Date;
import java.util.List;

public interface WxCouponChannelService {

	/**
     * 根据实体查询分页列表
     *
     * @param record
     * @param pageIndex
     * @param pageSize
     * @return
     */
	PageInfo<WxCouponChannel> listAsPage(WxCouponChannel record, Integer pageIndex, Integer pageSize);

    /**
     * 根据实体查询Vo分页列表
     *
     * @param record
     * @param pageIndex
     * @param pageSize
     * @return
     */
    PageInfo<WxCouponChannelVo> listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize);


    /**
     * 查询商户的卷信息
     * @param record
     * @param pageIndex
     * @param pageSize
     * @return
     */
    PageInfo<WxCouponChannelVo> listByMerchant(WxCouponChannel record, Integer pageIndex, Integer pageSize);

    WxCouponCVo findDetailVo(Long id);

    WxCouponCVo findVoStatusDetail(Long id);

    /**
     * 根据实体查询Vo分页列表
     *
     * @param record
     * @return
     */
    List<WxCouponChannelVo> listVo(WxCouponChannel record);

	/**
     * 根据Id获得实体
     *
     * @param id
     * @return
     */
    WxCouponChannel getById(Long id);
    
        /**
     * 保存或更新实体
     *
     * @param record
     */
    ResultData saveOrUpdate(WxCouponChannel record);

    ResultData addBatch(String[] ids, String[] channelId, String tanantId, Date beginTime, Date endTime);

    void updateStatusByCouponId(Long couponId,String tenantId,int status);

    ResultData change(WxCouponChannel wxCouponChannel);

}
