package com.hfkj.service.discount;

import com.hfkj.entity.CouponDiscount;
import com.hfkj.entity.CouponDiscountGoodsRel;
import com.hfkj.entity.CouponDiscountPackageDetails;

import java.util.List;
import java.util.Map;

/**
 * @serviceName CouponDiscountService.java
 * @author Sum1Dream
 * @version 1.0.0
 * @Description // 优惠券管理
 * @createTime 15:07 2024/4/19
 **/
public interface CouponDiscountService {

    /**
     * @Author Sum1Dream
     * @Name create
     * @Description // 创建
     * @Date 15:11 2024/4/19
     * @Param CouponDiscount
     * @return void
     */
    void create(CouponDiscount couponDiscount);

    /**
     * @Author Sum1Dream
     * @Name update
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param CouponDiscount
     * @return void
     */
    void update(CouponDiscount couponDiscount);

    /**
     * @Author Sum1Dream
     * @Name delete
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param id
     * @return void
     */
    void delete(Long id , Boolean fullDelete);

    /**
     * @Author Sum1Dream
     * @Name queryDetail
     * @Description // 根据ID查询详情
     * @Date 15:12 2024/4/19
     * @Param id
     * @return com.hfkj.entity.CouponDiscount
     */
    CouponDiscount queryDetail(Long id);

    /**
     * @Author Sum1Dream
     * @Name queryDetailByMap
     * @Description // 根据多条件查询
     * @Date 15:12 2024/4/19
     * @Param map
     * @return com.hfkj.entity.CouponDiscount
     */
    CouponDiscount queryDetailByMap(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name getList
     * @Description // 根据多条件查询列表
     * @Date 15:13 2024/4/19
     * @Param map
     * @return java.util.List<com.hfkj.entity.CouponDiscount>
     */
    List<CouponDiscount> getList(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name getListGoodsRel
     * @Description // 根据多条件查询列表
     * @Date 15:13 2024/4/19
     * @Param map
     * @return java.util.List<com.hfkj.entity.CouponDiscountGoodsRel>
     */
    List<CouponDiscountGoodsRel> getListGoodsRel(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name create
     * @Description // 创建
     * @Date 15:11 2024/4/19
     * @Param createGoodsRel
     * @return void
     */
    void createGoodsRel(CouponDiscountGoodsRel couponDiscountGoodsRel);

    /**
     * @Author Sum1Dream
     * @Name deleteDiscountGoodsRel
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param id
     * @return void
     */
    void deleteDiscountGoodsRel(Long id);

    /**
     * @MethodName insertGoodsRelBatch
     * @Description: 批量导入
     * @param list
     * @Author: Sum1Dream
     * @Date: 2024/8/6 下午5:17
     */
    void insertGoodsRelBatch(List<CouponDiscountGoodsRel> list);

    /**
     * @Author Sum1Dream
     * @Name deleteDiscountGoodsRelDiscountId
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param id
     * @return void
     */
    void deleteDiscountGoodsRelDiscountId(Long discountId);

}
