package com.iamberry.wechat.face.task;

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

import com.iamberry.wechat.core.entity.order.Order;
import com.iamberry.wechat.core.entity.task.WechatTask;
import com.iamberry.wechat.core.entity.task.WechatTaskLogs;

/**
 * @company	深圳爱贝源科技有限公司
 * @website www.iamberry.com
 * @author 	献
 * @tel		18271840547
 * @date	2016年9月20日
 * @explain	微信任务service接口
 */
public interface WechatTaskService {
	/**
	 * 获取一页的任务
	 * @param bean
	 * @return
	 */
	public List<WechatTask> getAll(int pageSize, int pageNO);
	
	/**
	 * 获取总的任务数量
	 * @return
	 */
	public int getCount(int pageSize);
	
	/**
	 * 插入任务数量
	 * @param task
	 * @return
	 */
	public int insertTask(WechatTask task);
	
	/**
	 * 修改任务信息
	 * @param task
	 * @return
	 */
	public int updateTask(WechatTask task);
	
	/**
	 * 插入完成任务的日志
	 * @param logs
	 * @return
	 */
	public int insertLogs(WechatTaskLogs logs);
	
	/**
	 * 根据id，获取完成任务的数据
	 * @param taskID
	 * @return
	 */
	public List<WechatTaskLogs> getByTaskID(Integer taskID);
	
	/**
	 * 根据任务id，用户OPENID，获取完成的记录
	 * @param logs
	 * @return
	 */
	public Integer getByTaskIdAndOpenId(WechatTaskLogs logs);

	/**
	 * 获取任务
	 * @param taskID
	 * @return
	 */
	public WechatTask getOne(Integer taskID);

	/**
	 * 获取时间区间的任务
	 * @return
	 */
	public List<WechatTask> getRunTask(Date statDate, Date endDate);
	
	/**
	 * 根据时间处理
	 * @param statDate
	 * @param endDate
	 * @return
	 */
	public boolean handlerTask(String openID, int count, Integer taskID, Integer productType) throws Exception;

	/**
	 * 查詢訂單表
	 * @return
	 */
    public List<Order> selectAiberleShopOrderList();

	/**
	 * 更新訂單表
	 */
	public void updateAiberleShopOrder(Order order);
}
