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

import com.iamberry.wechat.core.entity.qrcode.Qrcode;

/**
 * @author 何秀刚
 * Class Description: 二维码Dao接口
 * Create Date:2016年4月18日
 * Update Date:2016年4月18日
 */
public interface QrcodeDao {
	
	/**
	 * 根据二维码ID获取二维码实体类信息
	 * @param id
	 * @return
	 */
	public Qrcode selectQrcodeByQrcodeId(Integer id);
	
	/**
	 * 根据用户openid，修改二维码状态，不一定有
	 * @param openid
	 * @return
	 */
	public Integer updateQRcodeStatusByUserOpenid(String openid);

	/**
	 * 叠加某一个二维码的扫描次数和通过此二维码关注人数
	 * @param qrcode
	 * @return
	 */
	public Integer updateQRcodeScannNumAndSubNum(Qrcode qrcode);
	
	/**
	 * 获取正在空余的二维码
	 * @return
	 */
	public Qrcode selectSpareQrcode();

	/**
	 * 修改二维码状态为已用，当前二维码必须空余
	 * @param qrcode
	 * @return
	 */
	public Integer updateQRcodeUserAndStatusById(Qrcode qrcode);

	/**
	 * 添加二维码
	 * @param qrcode
	 * @return
	 */
	public Integer insertQrcode(Qrcode qrcode);

	/**
	 * 根据ID，修改二维码的URL
	 * @param qrcode
	 * @return
	 */
	public Integer updateQrcodeURLByOpenid(Qrcode qrcode);

	/**
	 * 根据使用的ID，获取当前使用人的二维码（status:使用中）
	 * @param replaceUserOpenid
	 * @return
	 */
	public String selectQrcodeUrlByReplaceUser(String replaceUserOpenid);
}
