package com.iamberry.wechat.service.mapper;

import java.util.List;

import com.iamberry.wechat.core.entity.giftCard.AgentInfo;
import com.iamberry.wechat.core.entity.giftCard.AgentPayLogs;


/**
 * 付费代理商	mapper
 * @author muzx
 * create date : 2017年2月16日
 */
public interface AgentMapper {
    /**
     * 添加付费代理信息
     * 2017年2月28日
     * @author muzx
     * @param agentIfo
     * @return
     */
    public Integer insertAgentInfo(AgentInfo agentInfo);
	
	/**
	 * 添加代理商付款记录
	 * 2017年2月16日
	 * @author muzx
	 * @return
	 */
	public Integer insertAgentPayLog(AgentPayLogs payLogs);
	/**
	 * 查询被推荐人
	 * @param agentInfo
	 * @return
	 */
	public List<AgentInfo> beRefereesList(AgentInfo agentInfo);
	
	/**
	 * 获取当前用户未支付订单(可根据支付状态)
	 * 2017年2月16日
	 * @author muzx
	 * @param openId
	 * @return
	 */
	public AgentPayLogs selectPayLogByOpenid(AgentPayLogs agentPayLogs);
	
	/**
	 * 获取当前用户已支付订单
	 * 2017年2月16日
	 * @author LJK
	 * @param openId
	 * @return
	 */
	public List<AgentPayLogs> selectPayLogHasByOpenid(String openId);
	
	
	/**
	 * 根据ID查询支付记录
	 * 2017年2月16日
	 * @author muzx
	 * @param id
	 * @return
	 */
	public AgentPayLogs selectPayLogById(Integer id);
	
	/**
	 * 修改支付状态、微信支付订单号、微信支付时间
	 * 2017年2月17日
	 * @author muzx
	 * @return
	 */
	public Integer updatePayLogsById(AgentPayLogs payLogs);
	/**
     * 根据openId 修改推荐人openid
     * 2017年3月2日
     * @author muzx
     * @param agentInfo
     * @return
     */
    boolean updateAgentInfoByOpenId(AgentInfo agentInfo);
	/**
	 * 根据openid查询当前付费代理信息
	 * @param openId
	 * @return
	 */
	public AgentInfo selectAgentByOpenId(String openId);
	
	/**
	 * 查询所有付费代理商信息
	 * @return
	 */
	public List<AgentInfo> selectAgentList();
	
	/**
	 * 修改付费代理商中统计售出礼品卡总数
	 * @param agentInfo
	 * @return
	 */
	Integer updateAgentCardSum(AgentInfo agentInfo);
	
	/**
	 * 将付费代理商中统计售出礼品卡总数置为0
	 * @param agentInfo
	 * @return
	 */
	Integer updateAgentCardSumZero(AgentInfo agentInfo);
}
