package com.sv.mapper;

import com.sv.entity.MemberEnterVenueLog;
import org.apache.ibatis.annotations.Param;
import org.omg.PortableInterceptor.INACTIVE;

import java.util.Date;
import java.util.List;

/**
 * Mapper - 篮球进场订单
 *
 * @author yechanglin
 * @since 2018-08-03
 */
public interface MemberEnterVenueLogMapper {

    /**
     * 新建篮球进场订单
     *
     * @param memberEnterVenueLog 篮球进场订单
     */
    void insert(MemberEnterVenueLog memberEnterVenueLog);

    /**
     * 更新篮球进场订单
     *
     * @param memberEnterVenueLog 篮球进场订单
     */
    void update(MemberEnterVenueLog memberEnterVenueLog);

    /**
     * 删除篮球进场订单
     *
     * @param id 编号
     * @return 删除数量
     */
    int delete(Integer id);

    /**
     * 删除篮球进场订单
     *
     * @param ids 编号数组
     * @return 删除数量
     */
    int deleteByIds(Integer[] ids);

    /**
     * 查询篮球进场订单
     *
     * @param id 编号
     * @return 篮球进场订单
     */
    MemberEnterVenueLog findById(Integer id);

    /**
     * 查询篮球进场订单
     *
     * @return 篮球进场订单集合
     */
    List<MemberEnterVenueLog> findAll();

    /**
     * 查询篮球进场订单
     *oms
     * @return 篮球进场订单集合
     */
    List<MemberEnterVenueLog> findAlls(@Param("payStatus") Integer payStatus,@Param("memberId") Integer memberId,
                                       @Param("starTime") String starTime, @Param("endTime") String endTime,
                                       @Param("orderSn") String orderSn, @Param("payType") Integer payType, @Param("venueId")Integer venueId);


    MemberEnterVenueLog findLastByMember(@Param("memberId") Integer memberId,@Param("venueId") Integer venueId);

    MemberEnterVenueLog findLastNoTypeByMember(@Param("memberId") Integer memberId,@Param("venueId") Integer venueId);

    Integer countByMemberCardId(@Param("today") String today,@Param("memberCardId") Integer memberCardId);

    List<MemberEnterVenueLog> findMemberEnterLogByDate(@Param("memberId") Integer memberId,@Param("venueId") Integer venueId,@Param("date") String date);

}