package com.xiaoniu.system.operation.coupon.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoniu.common.core.resdata.RowsData;
import com.xiaoniu.system.operation.coupon.domain.TbCoupon;
import com.xiaoniu.system.operation.coupon.dto.AddCouponDTO;
import com.xiaoniu.system.operation.coupon.dto.CouponListQueryDTO;
import com.xiaoniu.system.operation.coupon.dto.EditCouponDTO;
import com.xiaoniu.system.operation.coupon.vo.CouponDetailsVO;
import com.xiaoniu.system.operation.coupon.vo.CouponListVO;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author haoxuyang
 * @since 2024-10-17 02:30:09
 */
public interface ITbCouponService extends IService<TbCoupon> {

    /**
     * 优惠券列表
     *
     * @param dto dto
     * @return RowsData<CouponListVO>
     */
    RowsData<CouponListVO> couponList(CouponListQueryDTO dto);

    /**
     * 新增优惠券
     *
     * @param dto dto
     */
    void addCoupon(AddCouponDTO dto);

    /**
     * 修改优惠券
     *
     * @param dto dto
     */
    void editCoupon(EditCouponDTO dto);

    /**
     * 优惠券详情
     *
     * @param id id
     * @return CouponDetailsVO
     */
    CouponDetailsVO details(Long id);

    /**
     * 删除优惠券
     *
     * @param id id
     */
    void delCoupon(Long id);
}
