package com.hai.service;

import com.hai.entity.HighGoodsPriceRefer;

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

/**
 * @Auther: 胡锐
 * @Description:  产品销售价格配置
 * @Date: 2021/3/14 16:25
 */
public interface HighGoodsPriceReferService {

    /**
     * @Author 胡锐
     * @Description 增加
     * @Date 2021/3/14 16:26
     **/
    void insertPriceRefer(HighGoodsPriceRefer highGoodsPriceRefer);

    /**
     *
     * @Title: updatePriceRefer
     * @Author 胡锐
     * @Description: 修改
     * @Date 16:12 2021/3/16
     * @Param [highGoodsPriceRefer]
     * @return void
     **/
    void updatePriceRefer(HighGoodsPriceRefer highGoodsPriceRefer);

    /**
     * @Author 胡锐
     * @Description 提交审批
     * @Date 2021/3/24 16:16
     **/
    void submitApprove(HighGoodsPriceRefer highGoodsPriceRefer) throws Exception;

    void submitApproveList(List<HighGoodsPriceRefer> highGoodsPriceReferList) throws Exception;

    /**
     * @Author 胡锐
     * @Description 根据id查询
     * @Date 2021/3/21 22:15
     **/
    HighGoodsPriceRefer getPriceReferById(Long id);

    /**
     * @Author 胡锐
     * @Description 卡卷原价价格 处于待编辑、已生效、待生效、审批中 全部失效
     * @Date 2021/3/14 20:14
     **/
    void couponAllSalesPriceInvalid(Long couponId);

    /**
     * @Author 胡锐
     * @Description 卡卷折扣价格 处于待编辑、已生效、待生效、审批中 全部失效
     * @Date 2021/3/24 14:37
     **/
    void couponAllDiscountPriceInvalid(Long couponId);

    /**
     * @Author 胡锐
     * @Description 卡卷价格 处于待编辑、待生效、审批中 全部失效。但保留当前生效的价格
     * @Date 2021/3/14 21:00
     **/
    void couponAllInvalidKeepCurrent(Long couponId);

    /**
     *
     * @Title: getPriceList
     * @Author 胡锐
     * @Description: 查询价格列表
     * @Date 16:04 2021/3/16
     * @Param [map]
     * @return java.util.List<com.hai.entity.HighGoodsPriceRefer>
     **/
    List<HighGoodsPriceRefer> getPriceList(Map<String, Object> map);

    /**
     * @Author 胡锐
     * @Description 是否满足增加价格条件
     * @Date 2021/3/24 15:50
     **/
    Boolean isAddCondition(Integer objectType,Long objectId,Integer priceType);

}
