83 lines
3.6 KiB
YAML
83 lines
3.6 KiB
YAML
openapi: 3.0.3
|
||
info:
|
||
title: 车辆与司机档案照片
|
||
version: 1.0.0
|
||
description: >-
|
||
档案照片使用独立版本并保留历史。车辆读取沿vehicle:list、上传沿vehicle:edit;
|
||
司机读取沿driver:list、上传沿driver:upload,均位于platform:overseas-master-data权限域。
|
||
只接受非空JPG/PNG,最大10MiB。排车保存时仅对缺失的车辆/司机照片复制当趟附件;
|
||
后续更换档案照片不覆盖已有排车照片,不创建临时外配主档,不改变驾驶证审核。
|
||
驾驶证仍走既有license接口;排车审核与主档统一接受PDF/JPG/PNG。
|
||
security:
|
||
- bearerAuth: []
|
||
paths:
|
||
/api/platform/v1/last-leg/fleet/resource-photos/{kind}/{id}:
|
||
parameters:
|
||
- {$ref: '#/components/parameters/Kind'}
|
||
- {$ref: '#/components/parameters/Id'}
|
||
get:
|
||
summary: 读取当前档案照片,未上传时版本为0且photo为空
|
||
responses:
|
||
'200': {$ref: '#/components/responses/Detail'}
|
||
'403': {description: 缺少该类档案list权限}
|
||
post:
|
||
summary: 上传或替换档案照片,照片版本冲突时不覆盖
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
multipart/form-data:
|
||
schema:
|
||
type: object
|
||
required: [recordVersion, file]
|
||
properties:
|
||
recordVersion: {type: string, pattern: '^(0|[1-9][0-9]*)$'}
|
||
file: {type: string, format: binary}
|
||
responses:
|
||
'200': {$ref: '#/components/responses/Detail'}
|
||
'403': {description: 缺少车辆edit或司机upload权限}
|
||
/api/platform/v1/last-leg/fleet/resource-photos/{kind}/{id}/{fileId}/content:
|
||
parameters:
|
||
- {$ref: '#/components/parameters/Kind'}
|
||
- {$ref: '#/components/parameters/Id'}
|
||
- {name: fileId, in: path, required: true, schema: {type: string, pattern: '^[1-9][0-9]*$'}}
|
||
get:
|
||
summary: 读取本档案已关联的当前或历史图片,no-store且无匿名URL
|
||
responses:
|
||
'200':
|
||
description: 图片内容;业务错误为统一JSON响应,不可当成图片
|
||
content:
|
||
image/jpeg: {schema: {type: string, format: binary}}
|
||
image/png: {schema: {type: string, format: binary}}
|
||
'403': {description: 缺少该类档案list权限}
|
||
components:
|
||
securitySchemes:
|
||
bearerAuth: {type: http, scheme: bearer, bearerFormat: JWT}
|
||
parameters:
|
||
Kind: {name: kind, in: path, required: true, schema: {type: string, enum: [VEHICLE, DRIVER]}}
|
||
Id: {name: id, in: path, required: true, schema: {type: string, pattern: '^[1-9][0-9]*$'}}
|
||
responses:
|
||
Detail:
|
||
description: 业务成功code为200;版本冲突或归属无效通过业务错误返回
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
required: [code, data]
|
||
properties:
|
||
code: {type: string}
|
||
message: {type: string}
|
||
data:
|
||
type: object
|
||
required: [recordVersion, photo]
|
||
properties:
|
||
recordVersion: {type: string, pattern: '^(0|[1-9][0-9]*)$'}
|
||
photo:
|
||
type: object
|
||
nullable: true
|
||
required: [fileId, fileName, contentType, sizeBytes]
|
||
properties:
|
||
fileId: {type: string, pattern: '^[1-9][0-9]*$'}
|
||
fileName: {type: string}
|
||
contentType: {type: string, enum: [image/jpeg, image/png]}
|
||
sizeBytes: {type: string, pattern: '^[1-9][0-9]*$'}
|