package com.happy.dao;

import com.happy.Model.HotelCoupon;
import com.happy.vo.*;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

public interface HotelCouponDao {

    /**
     * 描述：新增
     * @param hotelCoupon
     * @return
     */
    int insert(HotelCoupon hotelCoupon);

    /**
     * 描述：修改
     * @param hotelCoupon
     * @return
     */
    int update(HotelCoupon hotelCoupon);

    /**
     * 描述：删除
     * @param id
     * @return
     */
    int delete(Integer id);

    /**
     * 描述：根据id查询
     * @param id
     * @return
     */
    HotelCoupon getById(String id);

    /**
     * 描述：分页查询
     * @param sqlx
     * @param page
     * @param rows
     * @return
     */
    List<HotelCoupon> queryPage(String sqlx, int page, int rows);

    /**
     * 描述：获取总条数
     * @param sqlx
     * @return
     */
    int queryTotal(String sqlx);

    /**
     * 描述：查询列表
     * @param sqlx
     * @return
     */
    List<HotelCoupon> queryList(String sqlx);

    int updateExpire();

    int updateLapse(List<String> coupomIds);

    List<CouponCollectionVo> couponCollection(String date, int page, int rows,String userId);

    int couponCollectionTotal(String date);

    DesignatedHotelVo designatedHotel(String hotelIds);

    QuotaVo quota(String complaintId,String userId);


    int updateRemainderNumber(String complaintId, String modifyDate);

    List<CardCouponPageVo> cardCouponPage(String types, String userId, int page, int rows);

    int cardCouponPageTotal(String types, String userId);

    List<UsefulCouponVo> usefulCoupon(String hotelId, String userId, int page, int rows, Double totalPrice, String format);

    int usefulCouponTotal(String hotelId, String userId,Double totalPrice,String format);

    int updatReversedNumber(HotelCoupon hotelCoupon);

    List<CouponModel> getCoupon(String strs);

    List<HotelCoupon> advertisingCouponPage(String sqlx, Integer page, Integer rows);

    int advertisingCouponPageTotal(String sqlx);
}
