BimFaceClient.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.fdkk.bim.client;
  2. import com.dtflys.forest.annotation.*;
  3. import com.fdkk.bim.bimEntity.vo.*;
  4. import com.fdkk.bim.Interceptor.BimFaceInterceptor;
  5. import com.fdkk.bim.bimEntity.dto.OfflineDatabagDTO;
  6. import com.fdkk.bim.bimEntity.dto.ProjectDTO;
  7. import com.fdkk.bim.bimEntity.dto.TranslateDTO;
  8. import com.fdkk.bim.bimEntity.vo.*;
  9. import com.fdkk.bim.bimEntity.BimResult;
  10. import com.fdkk.bim.retryCondition.BimRetryCondition;
  11. import java.util.List;
  12. /**
  13. * @author Xiewj
  14. * @date 2022/9/21
  15. */
  16. @BaseRequest(
  17. baseURL = "https://api.bimface.com",
  18. interceptor = {BimFaceInterceptor.class})
  19. @Retry(maxRetryCount = "1", maxRetryInterval = "10" ,condition = BimRetryCondition.class)
  20. public interface BimFaceClient {
  21. @Post("/oauth2/token")
  22. BimResult<AccessTokenBean> getToken(@Header("Authorization") String Authorization);
  23. /**
  24. * 获取文件状态
  25. */
  26. @Request(
  27. url = "/bdfs/data/v1/projects/{projectId}/fileItems/status?fileItemId={fileItemId}",
  28. type = "get"
  29. )
  30. BimResult<FileStatusBean> getFileStatusInfo(@Var("projectId")String projectId, @Var("fileItemId")String fileItemId);
  31. /**
  32. * 查询项目
  33. */
  34. @Request(
  35. url = "/bdfs/domain/v1/hubs/10000000000020001/projects?name={name}",
  36. type = "get"
  37. )
  38. BimResult<List<ProjectBean>> getProjectInfo(@Var("name")String name);
  39. /**
  40. * 创建项目
  41. */
  42. @Request(
  43. url = "/bdfs/domain/v1/hubs/10000000000020001/projects",
  44. type = "post"
  45. )
  46. BimResult<ProjectBean> saveProject(@JSONBody ProjectDTO projectDTO);
  47. /**
  48. * 发送File类型数据
  49. */
  50. @Request(
  51. url = "/bdfs/data/v1/projects/{projectId}/fileItems/sourceUrl?url={url}&parentId={parentId}&name={name}",
  52. type = "post",
  53. contentType = "application/json"
  54. )
  55. BimResult<FileBean> fileItems( @Var("url")String url,
  56. @Var("parentId")String parentId,
  57. @Var("name")String name,
  58. @Var("projectId") String projectId);
  59. /**
  60. * 发送translate转换文件请求
  61. */
  62. @Request(
  63. url = "/translate",
  64. type = "put"
  65. )
  66. BimResult<FileBean> translate(@JSONBody TranslateDTO translateDTO);
  67. /**
  68. * 获取translate转换文件的状态
  69. */
  70. @Request(
  71. url = "/translate?fileId={fileId}",
  72. type = "get"
  73. )
  74. BimResult<FileTranslateBean> getTranslateInfo(@Var("fileId")String fileId);
  75. /**
  76. * 通过文件ID创建离线数据包
  77. */
  78. @Request(
  79. url = "files/{fileId}/offlineDatabag",
  80. type = "put"
  81. )
  82. BimResult<DatabagDerivativeBean> offlineDatabag(@JSONBody OfflineDatabagDTO offlineDatabagDTO, @Var("fileId")Long fileId);
  83. /**
  84. * 查询单文件的离线数据包
  85. */
  86. @Request(
  87. url = "files/{fileId}/offlineDatabag",
  88. type = "get"
  89. )
  90. BimResult<List<DatabagDerivativeBean>> getOfflineDatabagInfo(@Var("fileId")String fileId);
  91. @Request(
  92. url = "data/databag/downloadUrl",
  93. type = "get"
  94. )
  95. BimResult<String> offlineDatabagDownloadUrl(@Query("fileId") String fileId,@Query("type") String type);
  96. }