package cn.iocoder.yudao.module.system.api.kingdee;

import cn.iocoder.yudao.module.system.api.kingdee.dto.customer.BDCustomerModelDTO;
import cn.iocoder.yudao.module.system.api.wechat.dto.CorpSendMessage;
import cn.iocoder.yudao.module.system.api.wechat.dto.CorpUserResponse;
import com.kingdee.bos.webapi.entity.RepoRet;
import com.kingdee.bos.webapi.sdk.K3CloudApi;

import java.util.List;

public interface KingdeeApi {

    // 应收单
    Integer syncArReceivable(Long tenantId, String billingMonth,Long elderId);
    Integer syncArReceivable(Long tenantId, String billingMonth);


    String syncArReceivebillNew(Long expenseOrderId);
    String syncArReceivebillNewBatch(List<Long> expenseOrderId);

    K3CloudApi getK3CloudApi(Long tenantId);

    String arReceivableSave(K3CloudApi api, String json, String fBillNo, Long elderId,Long tenantId) throws Exception;

    String arReceivebillSave(K3CloudApi api, String json, String fBillNo, Long elderId,Long tenantId) throws Exception;

    String arReceivebillBatchSave(K3CloudApi api, String json) throws Exception;

    Integer syncBDCustomer(Long tenantId);
    Integer syncBDCustomer(Long tenantId,Long elderId);
    String bDCustomerSave(K3CloudApi api, String json, Long id) throws Exception;

    /**
     * 同步机构编码
     * 具体实现可参考 {@link #syncBDCustomer(Long)} 的同步逻辑
     */
    Integer syncBDOrg(Long tenantId);

}
