package com.iamberry.wechat.service.mapper;

import java.util.List;

import com.iamberry.wechat.core.entity.giftCard.CardCashInfo;
import com.iamberry.wechat.core.entity.giftCard.GiftCardDto;
import com.iamberry.wechat.core.entity.giftCard.GiftCardInfo;

/**
 * 礼品卡Mapper
 * @company	深圳爱贝源科技有限公司
 * @website www.iamberry.com
 * @author 	献
 * @tel		18271840547
 * @date	2017年2月16日
 */
public interface GiftCardMapper {
	
	/**
	 * 根据兑换卡密码获取兑换卡信息
	 * @param card
	 * @return
	 * @author 献
	 * @Time   2017年2月16日
	 */
	public GiftCardInfo get(String card);
	
	/**
	 * 修改礼品卡售出状态、状态、售出时间
	 * @param cardInfo
	 * @return
	 * @author 献
	 * @Time   2017年2月16日
	 */
	public int update(GiftCardInfo cardInfo);
	
	/**
	 * 批量新增礼品卡信息
	 * @param cardList
	 * @return
	 */
	public Integer insertGiftCardList(List<GiftCardInfo> list);
	
	/**
	 * 根据礼品卡密码查询该密码是否已经存在
	 * @param cardPassword
	 * @return
	 */
	public Integer selectCardByPassward(String cardPassword);
	
	/**
	 * 通过cardId和openId查询礼品卡详情
	 * @param giftCardDto
	 * @return
	 */
	public GiftCardDto selectCardInfo(GiftCardDto giftCardDto);
	
	/**
	 * 根据礼品卡旧状态修改新状态
	 * @param giftCardDto
	 * @return
	 */
	public Integer updateCardStatus(GiftCardDto giftCardDto);
	
	/**
	 * 添加礼品卡兑现记录
	 * @param cardCashInfo
	 * @return
	 */
	public Integer insertCardCash(CardCashInfo cardCashInfo);
	
	/**
	 * 分页查询礼品卡兑现列表
	 * @param cardCashInfo
	 * @return
	 */
	public List<CardCashInfo> selectCardCashList(CardCashInfo cardCashInfo);
	
	/**
	 * 查询礼品卡兑现的总条目数
	 * @param cardCashInfo
	 * @return
	 */
	public Integer selectCardCashCount(CardCashInfo cardCashInfo);
	
	/**
	 * 根据状态和id修改兑现记录状态
	 * @param cardCashInfo
	 * @return
	 */
	public Integer updateCardCashStatus(CardCashInfo cardCashInfo);
	
	/**
	 * 分页查询个人所有礼品卡数据
	 * @param giftCardDto
	 * @return
	 */
	public List<GiftCardDto> selectCardList(GiftCardDto giftCardDto);
	
	/**
     * 查询个人所有礼品卡总数
     * @param giftCardDto
     * @return
     */
	public int countCard(GiftCardDto giftCardDto);
}
