package com.cf.imes.module.executor.service.order;

import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;

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

/**
 * 订单信息版本控制服务 Service
 *
 * @author Gqr
 * @since 2026/4/14 14:11
 */
public interface OrderInfoVersionControlService {
    /**
     * 更新订单的板件数量和面积
     *
     * @param orderDO
     * @param delete
     */
    void updateOrderPlateNumAndArea(OrderDO orderDO, Boolean delete);

    /**
     * 更新订单柜体板件数量
     *
     * @param orderBodyIds
     * @param delete
     */
    void updateOrderBodyPlateNum(Collection<Long> orderBodyIds, Boolean delete);

    /**
     * 更新影响的订单商品的 板件数量和面积
     *
     * @param orderGoodsIds
     * @param delete
     */
    void updateOrderGoodsPlateNumAndArea(Collection<Long> orderGoodsIds, Boolean delete);

    /**
     * 更新订单的已打包板件数
     *
     * @param orderDOS
     */
    void updateOrderPackNum(List<OrderDO> orderDOS);
}
