package com.sckw.order.api.dubbo;

import com.sckw.core.web.response.HttpResult;
import com.sckw.order.api.model.ContractSignCompletedParam;
import com.sckw.order.api.model.OrderDetailRes;
import com.sckw.order.api.model.UpdateOrderAmountParam;
import com.sckw.order.api.model.UpdateOrderStatusParam;

/**
 * @desc: 贸易订单信息相关dubbo
 * @author: yzc
 * @date: 2023-07-18 18:18
 */
public interface TradeOrderInfoService {

    /**
     * @desc: 获取订单详情
     * @author: yzc
     * @date: 2023-07-18 18:25
     * @Param tOrderId:
     * @return: com.sckw.order.api.model.OrderDetailRes
     */
    OrderDetailRes getOrderDetailById(Long tOrderId);

    /**
     * @desc: 更新订单状态
     * @author: yzc
     * @date: 2023-07-18 18:31
     * @Param param:
     * @return: com.sckw.core.web.response.HttpResult
     */
    HttpResult updateOrderStatus(UpdateOrderStatusParam param);

    /**
     * @desc: 更新订单委托量、已履约量
     * @author: yzc
     * @date: 2023-07-18 18:34
     * @Param param:
     * @return: com.sckw.core.web.response.HttpResult
     */
    HttpResult updateOrderAmount(UpdateOrderAmountParam param);

    /**
     * @desc: 合同签约完成
     * @author: yzc
     * @date: 2023-07-20 11:42
     * @Param param:
     * @return: void
     */
    void contractSignCompleted(ContractSignCompletedParam param);
}
