package com.persagy.proxy.dictionary.service;

import com.persagy.proxy.adm.service.IAdmBaseService;
import com.persagy.proxy.common.entity.InstanceUrlParam;
import com.persagy.proxy.dictionary.model.AdmModelRel;
import com.persagy.proxy.object.model.AdmFloor;
import org.springframework.scheduling.annotation.Async;

/**
 * @ClassName IAdmModelRelService
 * @Description: 模型修改设备元空间的建筑楼层信息
 * @Author linhuili
 * @Date 2021/8/31 14:30
 * @Version V1.0
 **/
public interface IAdmModelRelService extends IAdmBaseService<AdmModelRel> {

    /**
     * 修改
     * @param context:上下文
     * @param clazz:模型关系class
     * @param vo:模型关系对象
     */
    void doUpdateModelInfo(InstanceUrlParam context, Class<AdmModelRel> clazz, AdmModelRel vo);
    /**
     * 处理在用模型文件的楼层计算状态
     * @param context:上下文对象
     * @param modelId:模型id
     */
    void processFloorCalState(InstanceUrlParam context, String modelId);
    /**
     * 处理关联的元空间和设备
     * @param context:上下文对象
     * @param oldBimId:旧的bimId
     * @param bimId:新的bimId
     * @param floor:楼层对象
     */
    void processRelObjects(InstanceUrlParam context, String oldBimId, String bimId, AdmFloor floor);
}
