borrow-settings.yaml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. # 契约1.54 审批相关设置:调阅说明与调阅审批单模板(sys_setting 通用键值表,
  2. # 行不存在=未设置;模板 PDF 落盘存储根 settings/borrow-template.pdf)。
  3. BorrowSettings:
  4. get:
  5. operationId: getBorrowSettings
  6. summary: 读取审批相关设置(调阅说明与模板文件名)
  7. description: 契约1.54。任意登录用户可调(调阅对话框与系统管理页共用);响应data={notice,templateFileName},null=未设置。
  8. security:
  9. - BearerAuth: []
  10. parameters:
  11. - $ref: '../components/parameters.yaml#/XRequestId'
  12. responses:
  13. '200':
  14. description: 审批设置(null=未设置)
  15. content:
  16. application/json:
  17. schema:
  18. type: object
  19. additionalProperties: false
  20. required: [notice, templateFileName]
  21. properties:
  22. notice: {type: [string, 'null'], description: 调阅说明文本,最长4000字,null=未设置}
  23. templateFileName: {type: [string, 'null'], description: 已上传模板的原始文件名,null=未上传}
  24. '401': {$ref: '../components/responses.yaml#/AuthenticationError'}
  25. '500': {$ref: '../components/responses.yaml#/InternalError'}
  26. put:
  27. operationId: updateBorrowNotice
  28. summary: 保存调阅说明
  29. description: 契约1.54。manage_system管理位;请求体必含且仅含notice(传null或空白即清空;超过4000字返回400 INVALID_ARGUMENT「调阅说明不能超过4000字」);审计BORROW_SETTINGS_UPDATE(detail kind=notice,targetType=SYSTEM)。
  30. security:
  31. - BearerAuth: []
  32. parameters:
  33. - $ref: '../components/parameters.yaml#/XRequestId'
  34. requestBody:
  35. required: true
  36. content:
  37. application/json:
  38. schema:
  39. type: object
  40. additionalProperties: false
  41. required: [notice]
  42. properties:
  43. notice: {type: [string, 'null'], description: 调阅说明,null/空白即清空}
  44. responses:
  45. '200': {description: 已保存(data=null)}
  46. '400': {$ref: '../components/responses.yaml#/InvalidArgument'}
  47. '401': {$ref: '../components/responses.yaml#/AuthenticationError'}
  48. '403': {$ref: '../components/responses.yaml#/Forbidden'}
  49. '500': {$ref: '../components/responses.yaml#/InternalError'}
  50. BorrowTemplate:
  51. post:
  52. operationId: uploadBorrowTemplate
  53. summary: 上传调阅审批单模板(PDF,覆盖替换)
  54. description: 契约1.54。manage_system管理位;multipart file必须,仅PDF(415 UNSUPPORTED_FILE_TYPE「调阅审批单模板只允许PDF文件」)且不超过DMS_MAX_FILE_SIZE(413 PAYLOAD_TOO_LARGE,流式计量含魔数校验);落盘存储根settings/borrow-template.pdf固定路径(临时文件+原子替换),元数据(原始文件名/字节数)存sys_setting的borrow.template行;响应data={templateFileName};审计BORROW_SETTINGS_UPDATE(detail kind=template-upload,targetType=SYSTEM)。
  55. security:
  56. - BearerAuth: []
  57. parameters:
  58. - $ref: '../components/parameters.yaml#/XRequestId'
  59. requestBody:
  60. required: true
  61. content:
  62. multipart/form-data:
  63. schema:
  64. type: object
  65. additionalProperties: false
  66. required: [file]
  67. properties:
  68. file: {type: string, format: binary, description: 模板PDF文件}
  69. responses:
  70. '200':
  71. description: 上传结果
  72. content:
  73. application/json:
  74. schema:
  75. type: object
  76. additionalProperties: false
  77. required: [templateFileName]
  78. properties:
  79. templateFileName: {type: string, description: 已保存模板的原始文件名}
  80. '400': {$ref: '../components/responses.yaml#/InvalidArgument'}
  81. '401': {$ref: '../components/responses.yaml#/AuthenticationError'}
  82. '403': {$ref: '../components/responses.yaml#/Forbidden'}
  83. '413': {$ref: '../components/responses.yaml#/PayloadTooLarge'}
  84. '415': {$ref: '../components/responses.yaml#/UnsupportedMedia'}
  85. '500': {$ref: '../components/responses.yaml#/InternalError'}
  86. delete:
  87. operationId: deleteBorrowTemplate
  88. summary: 清除调阅审批单模板
  89. description: 契约1.54。manage_system管理位;删除sys_setting的borrow.template行并删除盘上模板文件(未上传视为成功);审计BORROW_SETTINGS_UPDATE(detail kind=template-delete,targetType=SYSTEM)。
  90. security:
  91. - BearerAuth: []
  92. parameters:
  93. - $ref: '../components/parameters.yaml#/XRequestId'
  94. responses:
  95. '200': {description: 已清除(data=null)}
  96. '401': {$ref: '../components/responses.yaml#/AuthenticationError'}
  97. '403': {$ref: '../components/responses.yaml#/Forbidden'}
  98. '500': {$ref: '../components/responses.yaml#/InternalError'}
  99. get:
  100. operationId: downloadBorrowTemplate
  101. summary: 下载调阅审批单模板
  102. description: 契约1.54。任意登录用户可调(调阅对话框「下载模板」入口);PDF附件直出(Content-Disposition filename*=UTF-8''编码原始文件名);未上传返回404 NOT_FOUND「调阅审批单模板未上传」。
  103. security:
  104. - BearerAuth: []
  105. parameters:
  106. - $ref: '../components/parameters.yaml#/XRequestId'
  107. responses:
  108. '200': {description: 模板PDF二进制, content: {application/pdf: {schema: {type: string, format: binary}}}}
  109. '401': {$ref: '../components/responses.yaml#/AuthenticationError'}
  110. '403': {$ref: '../components/responses.yaml#/Forbidden'}
  111. '404': {$ref: '../components/responses.yaml#/NotFound'}
  112. '500': {$ref: '../components/responses.yaml#/InternalError'}