Files
baiyue-firstleg/lastleg-service/src/main/resources/openapi/fleet-resource-photos-v1.yaml
T

83 lines
3.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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]*$'}