package com.hotent.portal.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.hotent.base.manager.BaseManager;
import com.hotent.base.model.CommonResult;
import com.hotent.base.query.PageList;
import com.hotent.base.query.QueryFilter;
import com.hotent.portal.model.PortalBizSystem;
import com.hotent.portal.model.PortalBizSystemOrgAuth;
import com.hotent.uc.api.impl.model.Org;
import com.hotent.uc.api.impl.model.UserFacade;

import java.util.List;

/**
 *  外部系统管理授权组织
 *
 * @company 广州宏天软件股份有限公司
 * @author cola
 * @since 2021-08-25
 */
public interface PortalBizSystemOrgAuthManager extends BaseManager<PortalBizSystemOrgAuth> {
       /**
        * @description  根据系统编码获取授权的组织
        * @author  yangzibin
        * @date    2024/7/12 15:52
        * @param	code
        * @return  java.util.List<com.hotent.portal.model.PortalBizSystemOrgAuth>
        */
       List<PortalBizSystemOrgAuth> getListByCode(String code,String tenantId,String demId);


       /**
        * @description  根据系统编码获取授权的组织
        * @author  yangzibin
        * @date    2024/7/12 15:52
        * @param	code
        * @return  java.util.List<com.hotent.portal.model.PortalBizSystemOrgAuth>
        */
       List<String> getListByCodeAsId(String code,String type,String tenantId,String demId);
       /**
        * @description  保存第三方系统编码的授权组织id
        * @author  yangzibin
        * @date    2024/7/12 15:58
        * @param	sysCode
        * @param	orgIdList
        * @return  void
        */
       void saveEntity(String sysCode,String orgIdList,String type,String tenantId,String demId);


       /**
        * @description  保存第三方系统编码的授权组织id
        * @author  yangzibin
        * @date    2024/7/12 15:58
        * @param	sysCode
        * @param	orgIdList
        * @return  void
        */
       void deleteEntity(String sysCode,String orgIdList,String type);



       PageList<Org> queryData(String sysCode, String type, QueryFilter<Org> queryFilter);

       PageList<UserFacade> queryUserData(String sysCode, String type, QueryFilter<UserFacade> queryFilter);

}
