package com.persagy.proxy.object.service;

import com.persagy.dmp.basic.model.QueryCriteria;
import com.persagy.proxy.adm.request.AdmQueryCriteria;
import com.persagy.proxy.adm.request.AdmResponse;
import com.persagy.proxy.adm.service.IAdmBaseService;
import com.persagy.proxy.common.entity.InstanceUrlParam;
import com.persagy.proxy.dictionary.model.AdmDictDeliverieInfosRequest;
import com.persagy.proxy.object.model.AdmObjectInfo;
import com.persagy.proxy.object.model.AdmSystem;

import java.util.List;
import java.util.Map;

/**
 * ADM 系统 接口
 * @author lvxy
 * @date 2021/8/18
 */
public interface IAdmSystemService extends IAdmBaseService<AdmSystem> {
    /***
     * Description: 查询系统数据
     * @param request : 请求参数
     * @return : com.persagy.proxy.adm.request.AdmResponse
     * @author : lijie
     * @date :2021/11/2 14:04
     * Update By lijie 2021/11/2 14:04
     */
    AdmResponse query(AdmQueryCriteria request);

    /**
     * 补充系统分类名称属性
     * @param context
     * @param vos
     */
    void ensureSpecialValues(InstanceUrlParam context, List<AdmSystem> vos);
    /***
     * Description: 子类重写,以便处理带buildingId
     * @param dmpRequest : 中台查询参数
     * @return : void
     */
    void processDmpCriteria(QueryCriteria dmpRequest);
    /***
     * Description: 查询系统信息-系统建筑楼层一对多
     * @param buildingId : 建筑id
     * @param floorId : 楼层id
     * @param request : 请求参数
     * @return : com.persagy.proxy.adm.request.AdmResponse  
     * @author : lijie
     * @date :2021/11/2 13:51
     * Update By lijie 2021/11/2 13:51
     */
    AdmResponse queryNewInternal(String buildingId, String floorId, AdmQueryCriteria request);
}
