ruleengineApi.ts 2.6 KB
import { defHttp } from '/@/utils/http/axios';
import {
  // ScreenParamModel,
  ScreenAddModel,
  ScreenUpdateModel,
  ScreenLinkPageQueryParam,
  ScreenByDeptIdParams,
  IChangeStatus,
} from '/@/api/ruleengine/model/ruleengineModel';

enum ScreenManagerApi {
  /**
   * 场景URL
   */
  SCREEN_GET_URL = '/sceneLinkage',
  SCREEN_ADD_URL = '/sceneLinkage',
  SCREEN_DELETE_URL = '/sceneLinkage',
  SCREEN_UPDATE_URL = '/sceneLinkage/update',
  SCREEN_ORGANIZATION_URL = '/organization/me/list',
  SCREEN_CHANGE_STATUS = '/convert/update/scene',
  SCREEN_GET_BY_DEPTID = '/sceneLinkage/device/',
  SCREEN_BYDEVICEID_GET_ATTRBUTELIST = '/plugins/telemetry/',
}

/**
 * 获取部门id
 * @param 无参数
 */
export const screenLinkOrganizationGetApi = () => {
  return defHttp.get({
    url: ScreenManagerApi.SCREEN_ORGANIZATION_URL,
  });
};

/**
 * 分页查询场景联动表格页面
 * @param params pageSize page name
 */
export const screenLinkPageGetApi = (params?: ScreenLinkPageQueryParam) => {
  return defHttp.get({
    url: ScreenManagerApi.SCREEN_GET_URL,
    params,
  });
};

/**
 * 新增场景联动
 * @param params pageSize page name
 */
export const screenLinkPageAddApi = (params: ScreenAddModel) => {
  return defHttp.post<ScreenAddModel>({
    url: ScreenManagerApi.SCREEN_ADD_URL,
    params,
  });
};

/**
 * 更新场景联动
 * @param params pageSize page name
 */
export const screenLinkPageUpdateApi = (params: ScreenUpdateModel) => {
  return defHttp.post<ScreenUpdateModel>({
    url: ScreenManagerApi.SCREEN_UPDATE_URL,
    params,
  });
};

/**
 * 删除场景联动
 * @param params pageSize page name
 */
export const screenLinkPageDeleteApi = (ids: string[]) => {
  return defHttp.delete({
    url: ScreenManagerApi.SCREEN_DELETE_URL,
    data: {
      ids: ids,
    },
  });
};

/**
 * 改变场景联动状态
 * @param params id status
 */
export const screenLinkPagePutApi = (params: IChangeStatus) =>
  defHttp.post({
    url: ScreenManagerApi.SCREEN_CHANGE_STATUS,
    data: params,
  });

/**
 * 根据部门id获取设备列表
 */
export const screenLinkPageByDeptIdGetDevice = (params: ScreenByDeptIdParams) => {
  return defHttp.get({
    url: ScreenManagerApi.SCREEN_GET_BY_DEPTID,
    params,
  });
};

/**
 * 根据设备id获取属性列表
 */
export const screenLinkPageByDeviceIdGetAttribut = (entityType, entityId) => {
  return defHttp.get(
    {
      url:
        ScreenManagerApi.SCREEN_BYDEVICEID_GET_ATTRBUTELIST +
        `${entityType}` +
        '/' +
        `${entityId}` +
        '/' +
        'keys' +
        '/' +
        'timeseries',
    },
    {
      joinPrefix: false,
    }
  );
};