package com.bocloud.ims.interfaces.resource;

import com.bocloud.cmp.entity.enums.SyncType;
import com.bocloud.cmp.model.TaskMsgModel;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.common.model.RequestContext;
import com.bocloud.ims.entity.resource.CloudVendor;

import java.util.List;

/**
 * 同步云平台service接口
 *
 * @author weiwei
 * @since 2017.02.27
 */
public interface SyncService {

    /**
     * 通过平台ID同步
     *
     * @param id
     * @param context
     * @param isAuto
     * @return
     */
    BocloudResult sync(Long id, RequestContext context, boolean isAuto);

    BocloudResult sync(Long id, RequestContext context, SyncType syncType);

    /**
     * @return com.bocloud.common.model.BocloudResult
     * @Author: lxy
     * @Description: 同步历史平台任务
     * @Date 2021/8/26 9:57
     * @Param vendorId
     * @throws:
     **/
    default BocloudResult syncContentVendorTaskMsg(Long vendorId) {
        return null;
    }

    /**
     * @param id
     * @return void
     * @Author: lxy
     * @Description: 同步平台任务
     * @Date 2021/8/31 9:57
     * @Param data
     * @throws:
     **/
    void syncVendorTaskMsg(List<TaskMsgModel> data, Long id);
}
