package com.cyksj.service.mange.stock;

import com.cyksj.model.entity.GoodsDonStock;
import com.cyksj.model.entity.GoodsDonStockRecord;
import com.cyksj.model.request.StockUpReq;

/**
 * @author chan
 * @date 2022/12/7 5:54 PM
 */
public interface GoodsDonStockService {

    void upStockRelate(Long stockId, Long orderId, String status);

    /**
     * 增加库存
     */
    void incr(StockUpReq stock);

    /**
     * 减少库存
     */
    void sub(StockUpReq stock);

    /**
     * 修改不可用库存
     */
    void upUnavailable(StockUpReq stock);

    /**
     * 修改可刷机
     */
    void upgrade(StockUpReq stock);

    /**
     * 新建库存商品
     */
    void save(GoodsDonStock stock);

    /**
     * 编辑备注
     */
    void upRecord(GoodsDonStockRecord record);

    /**
     * 删除库存
     */
    void del(Long stockId);

    /**
     * 更换库存绑定商品信息
     */
    void updateBindGoods(GoodsDonStock stock);

    /**
     * 撤销库存变更回滚
     */
    void undoChange(Long recordId);

}
