package com.persagy.proxy.calculation.service;

import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
import com.persagy.proxy.adm.request.AdmResponse;
import com.persagy.proxy.common.entity.InstanceUrlParam;

import java.util.List;

/***
 * Description: 关系计算逻辑处理接口
 * @author : lijie
 * @date :2021/8/31 12:14
 * Update By lijie 2021/8/31 12:14
 */
public interface AdmRelCalService {

    /***
     * Description: 计算关系
     * @param context : 请求参数
     * @param admRelationTypeEnums : 关系类型集合
     //* @param objectTypeStr : 参与计算的业务空间(为空表示所有业务空间类型)
     //* @param relationTypeStr : 关系类型
     * @return : void
     * @author : lijie
     * @date :2021/9/11 20:35
     * Update By lijie 2021/9/11 20:35
     */
    void calcRelation(InstanceUrlParam context, List<AdmRelationTypeEnum> admRelationTypeEnums, String relValue);
    /***
     * Description: 计算空间服务于空间的关系
     * @param context : 通用参数
     * @param buildingId : 建筑id
     * @param objectType : 对象分类
     * @param type : 对象类型
     * @param sp2spArchforarch : 空间服务关系
     * @return : void
     * @author : lijie
     * @date :2021/9/30 14:49
     * Update By lijie 2021/9/30 14:49
     */
    AdmResponse calcRelationForArchForArchSpToSp(InstanceUrlParam context, String buildingId, String objectType, String type,
                                                 AdmRelationTypeEnum sp2spArchforarch);
}
