package com.yc.ship.module.trade.service.contract;


import com.yc.ship.module.trade.api.contract.dto.InvokeResponse;
import com.yc.ship.module.trade.api.contract.dto.QueryContractRespDTO;
import com.yc.ship.module.trade.api.contract.dto.QueryContractResponse;
import com.yc.ship.module.trade.service.contract.bo.ContractApplyReqBO;

/**
 * @author qsl
 * @description todo
 * @date 2025/6/18 16:36
 */
public interface ContractCommonService {
    /**
     * 合同申报
     * @param reqBO
     */
    QueryContractResponse applyContract(ContractApplyReqBO reqBO);

    /**
     * 作废合同
     * @param contractNumber
     */
    InvokeResponse invalidateContract(String contractNumber);

    /**
     * 重发短信
     * @param contractNumber
     * @param mobile
     */
    boolean sendContractSms(String contractNumber, String mobile);

    /**
     * 查询合同信息
     * @param contractNumber
     * @return
     */
    QueryContractRespDTO queryContract(String contractNumber);

    /**
     * 查询合同状态
     * @param contractNumber
     * @return
     */
    Integer queryContractStatus(String contractNumber);
}
