package com.chinacreator.video.restful.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.List;

/**
 * 爱奇艺20元活动
 * @author xu.zhou
 * @date 20200424
 */
@Component
public interface MangDrawDao {


	/**
	 * 根据ID获取手机号码
	 * @param id
	 * @return
	 */
	String getUser(@Param("id") String id);

	/**
	 * 添加映射记录
	 * @param id
	 * @param userid
	 */
	void addUserMapp(@Param("id") String id, @Param("userid") String userid);

	/**
	 * 添加抽取奖品记录（仅包括有资格抽奖的用户）
	 * @param hm
	 */
	void addPrizeRec(HashMap hm);

	/**
	 * 添加抽奖信息log（包括所有用户）
	 * @param hm
	 */
	void addDrawLog(HashMap hm);

	/**
	 * 添加中奖信息到表（仅中奖用户）
	 * @param hm
	 */
	void addPrize(HashMap hm);

	/**
	 * 更新抽奖log到表（仅有资格用户）
	 * @param hm
	 */
	void updatePrizeRec(HashMap hm);


	/**
	 * 更新抽奖log到表（所有用户）
	 * @param hm
	 */
	void upDrawLog(HashMap hm);
	/**
	 * 获取流水号
	 * @return
	 */
	String getNo();

	/**
	 * 获取奖品信息
	 * @return
	 */
	List<HashMap> getPrizeList(@Param("spid") String spid);


	List<HashMap> getOrderRel(@Param("userid") String userid);

	/**
	 * 获取本月是否已经抽过奖
	 * @return
	 */
	HashMap hasDraw(@Param("userid") String userid, @Param("spid") String spid, @Param("startTime") String startTime, @Param("endTime") String endTime);

	/**
	 * 获取本月是否在中奖名单内
	 * @return
	 */
	HashMap hasDrawPrizelist(@Param("userid") String userid, @Param("prizemonth") String prizemonth, @Param("spid") String spid);

	/**
	 * 获取本月是否在中奖名单内
	 * @return
	 */
	HashMap hasDrawPrizeDetail(@Param("userid") String userid, @Param("prizemonth") String prizemonth, @Param("spid") String spid);


	/**
	 * 添加中奖详细信息到表（仅中奖用户）
	 * @param hm
	 */
	void addPrizeDetail(HashMap hm);

    int isActive(@Param("userid") String userid, @Param("spid") String spid);

    int deleteDraw(@Param("userid") String userid, @Param("month") String month, @Param("spid") String spid);

}
