package com.iamberry.wechat.service.member.dao;

import java.util.List;

import com.iamberry.wechat.core.entity.Page;
import com.iamberry.wechat.core.entity.member.Member;
/**
 * 
 * description: 会员信息接口
 * 	    author： 张应真
 * 	createDate： 2016年4月18日
 */
public interface MemberDao {
	/**
	 * 根据userid得到会员信息
	 * @param userId
	 * @return
	 */
	Member getMemberByUserId(Integer userId);

	/**
	 * 根据 openid 查询一个member
	 * 2016年4月28日
	 * @author 穆再兴
	 * @return
	 */
	public Member getMemberByUserOpenId(String openid);
	Integer getCount();
	/**
	 * 会员信息分页
	 * @param paper
	 * @return
	 */
	List<Member> getMemberByPage(Page page);

	/**
	 * 修改用可用积分
	 * @param member
	 * @return
	 */
	public Integer updateUserIntegral(Member member);
	
	/**
	 * 根据 userid 修改会员信息
	 * 2016年4月21日
	 * @author 穆再兴
	 * @param userId
	 * @return
	 */
	public Integer updateMemberByUserId(Member member);

	/**
	 * 修改用户已用积分
	 * @param member
	 * @return
	 */
	public Integer updateUserUseIntegral(Member member);

	/**
	 * 分页查询微代理下线会员信息
	 * @param page
	 * @return
	 */
	public List<Member> selectUserIntegralByWechatProxyId(Page page);

	/**
	 * 根据用户ID，获取用户身份、用户二维码信息
	 * @param openid
	 * @return
	 */
	public Member selectUserIdentityAndQrcodeByOpenId(String openid);

	/**
	 * 根据用户openid，获取用户来源、用户身份
	 * @param openid
	 * @return
	 */
	public Member selectUserResAndIdSByOpenId(String openid);
	
	/**
	 * 根据 openid 修改用户可用金额
	 * 2016年5月4日
	 * @param member
	 * @return
	 */
	public Integer updateUserIncomeByOpenId(Member member);

	
	/**
	 * 根据用户openid，修改用户绑定状态
	 * @param openId
	 * @return
	 */
	public Integer updateUserFlagByOpenId(String openId);
	
	/**
	 * 根据userid获取当前用户的“下线人数”和“已购买人数”
	 * 2016年5月11日
	 * @param openId
	 * @return
	 */
	public List<Integer> selectDownCountByUserId(Integer userId);
}
