package com.hzs.sale.wares.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.vo.WaresPreSaleVo;

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

/**
 * <p>
 * 商品发布扩展表 服务类
 * </p>
 *
 * @author hzs
 * @since 2022-09-09
 */
public interface IBdWaresExtendService extends IService<BdWaresExtend> {

    /**
     * 修改销量
     * @param waresNumberParamList
     */
    void updateWaresSalesAccrual( List<WaresNumberParam> waresNumberParamList);

    /**
     * 修改上下架时间
     * @param waresId
     */
    void updatePutOnTime( Integer waresId);

    /**
     * 修改上下架时间
     * @param waresId
     */
    void updatePutOffTime(Integer waresId);

    /**
     * 根据商品id修改拓展表（可以赋值空值）
     * @param waresExtend
     */
    void updateByPkWares(BdWaresExtend waresExtend);

    /**
     * 设置上下架时间
     * @param waresId
     * @param putOnTime
     * @param putOffTime
     */
    void updatePutOnTimeAndPutOffTimeByWaresId(Integer waresId, Date putOnTime, Date putOffTime);

    /**
     * 根据商品编号查询 每个商品所剩余的预售数量
     *
     * @param waresCodeList
     * @param specialArea   专区
     * @return
     */
    List<WaresPreSaleVo> selectByWaresCodeList(Collection<String> waresCodeList, Integer specialArea);

}
