package com.ruoyi.jarvis.service;

import com.ruoyi.jarvis.domain.JDOrder;

import java.util.List;

/**
 * 订单利润/售价：按分销标识规则计算并写回订单对象（由列表保存前调用）。
 */
public interface IJDOrderProfitService {

    /**
     * 根据分销标识、型号配置、手动标记等，填充售价（自动时）并计算利润。
     * F：利润 = 对客实收（直款=售价，闲鱼=扣点后的到账）-（下单付款 - 后返金额）；
     * H-TF：固定利润 15，再扣额外成本。
     * 会修改传入的 {@code order}。
     */
    void recalculate(JDOrder order);

    /**
     * 对「利润未手动锁定」的订单按当前库内数据重算售价/利润字段；仅当计算结果与库中不一致时才 UPDATE。
     *
     * @return 实际执行 UPDATE 的条数
     */
    int syncAutoProfitIfChanged(List<Long> ids);
}
