213 lines
4.9 KiB
PHP
213 lines
4.9 KiB
PHP
<?php
|
||||
|
|
declare(strict_types=1);
|
|||
|
|
/**
|
|||
|
|
*+------------------
|
|||
|
|
* madong
|
|||
|
|
*+------------------
|
|||
|
|
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
|||
|
|
*+------------------
|
|||
|
|
* Author: Mr. April (405784684@qq.com)
|
|||
|
|
*+------------------
|
|||
|
|
* Official Website: https://madong.tech
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
namespace app\adminapi\schema\response\system;
|
|||
|
|
|
|||
|
|
use OpenApi\Attributes as OA;
|
|||
|
|
|
|||
|
|
#[OA\Schema(
|
|||
|
|
title: '消息详情响应模型',
|
|||
|
|
description: '消息详情接口的返回数据结构'
|
|||
|
|
)]
|
|||
|
|
class MessageResponse
|
|||
|
|
{
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'id',
|
|||
|
|
description: '消息ID(雪花ID)',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '245329792713883648'
|
|||
|
|
)]
|
|||
|
|
public string $id;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'type',
|
|||
|
|
description: '消息类型',
|
|||
|
|
type: 'string',
|
|||
|
|
enum: ['message', 'notification', 'broadcast'],
|
|||
|
|
example: 'message'
|
|||
|
|
)]
|
|||
|
|
public string $type;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'title',
|
|||
|
|
description: '消息标题',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '111111111111111'
|
|||
|
|
)]
|
|||
|
|
public string $title;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'content',
|
|||
|
|
description: '消息内容',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '222222222222222222222'
|
|||
|
|
)]
|
|||
|
|
public string $content;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'sender_id',
|
|||
|
|
description: '发送者ID(0表示系统)',
|
|||
|
|
type: 'integer',
|
|||
|
|
example: 0
|
|||
|
|
)]
|
|||
|
|
public int $sender_id;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'receiver_id',
|
|||
|
|
description: '接收者ID',
|
|||
|
|
type: 'integer',
|
|||
|
|
example: 2
|
|||
|
|
)]
|
|||
|
|
public int $receiver_id;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'status',
|
|||
|
|
description: '阅读状态',
|
|||
|
|
type: 'string',
|
|||
|
|
enum: ['read', 'unread'],
|
|||
|
|
example: 'read'
|
|||
|
|
)]
|
|||
|
|
public string $status;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'priority',
|
|||
|
|
description: '优先级(1普通 2重要 3紧急)',
|
|||
|
|
type: 'integer',
|
|||
|
|
enum: [1, 2, 3],
|
|||
|
|
example: 1
|
|||
|
|
)]
|
|||
|
|
public int $priority;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'channel',
|
|||
|
|
description: '推送渠道',
|
|||
|
|
type: 'string',
|
|||
|
|
example: 'backend-admin-1-*'
|
|||
|
|
)]
|
|||
|
|
public string $channel;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'related_id',
|
|||
|
|
description: '关联业务ID',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '234161405304516608',
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?string $related_id;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'related_type',
|
|||
|
|
description: '关联业务类型',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '',
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?string $related_type;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'jump_params',
|
|||
|
|
description: '跳转参数',
|
|||
|
|
type: 'object',
|
|||
|
|
example: null,
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?array $jump_params;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'message_uuid',
|
|||
|
|
description: '消息唯一标识',
|
|||
|
|
type: 'string',
|
|||
|
|
example: 'a6a0ff4f-81dc-c033-083e-99611865251c'
|
|||
|
|
)]
|
|||
|
|
public string $message_uuid;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'created_at',
|
|||
|
|
description: '创建时间(UTC)',
|
|||
|
|
type: 'string',
|
|||
|
|
format: 'date-time',
|
|||
|
|
example: '2025-11-07T15:33:00.000000Z'
|
|||
|
|
)]
|
|||
|
|
public string $created_at;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'expired_at',
|
|||
|
|
description: '过期时间戳',
|
|||
|
|
type: 'integer',
|
|||
|
|
example: 152336572961580
|
|||
|
|
)]
|
|||
|
|
public int $expired_at;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'read_at',
|
|||
|
|
description: '阅读时间戳',
|
|||
|
|
type: 'integer',
|
|||
|
|
example: 1762610591,
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?int $read_at;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'updated_at',
|
|||
|
|
description: '更新时间(UTC)',
|
|||
|
|
type: 'string',
|
|||
|
|
format: 'date-time',
|
|||
|
|
example: '2025-11-08T14:03:11.000000Z'
|
|||
|
|
)]
|
|||
|
|
public string $updated_at;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'deleted_at',
|
|||
|
|
description: '删除时间',
|
|||
|
|
type: 'string',
|
|||
|
|
format: 'date-time',
|
|||
|
|
example: null,
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?string $deleted_at;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'created_date',
|
|||
|
|
description: '创建时间(本地格式化)',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '2025-11-07 23:33:00'
|
|||
|
|
)]
|
|||
|
|
public string $created_date;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'updated_date',
|
|||
|
|
description: '更新时间(本地格式化)',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '2025-11-08 22:03:11'
|
|||
|
|
)]
|
|||
|
|
public string $updated_date;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'read_date',
|
|||
|
|
description: '阅读时间(本地格式化)',
|
|||
|
|
type: 'string',
|
|||
|
|
example: '2025-11-08 22:03:11',
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?string $read_date;
|
|||
|
|
|
|||
|
|
#[OA\Property(
|
|||
|
|
property: 'sender',
|
|||
|
|
description: '发送者信息',
|
|||
|
|
type: 'object',
|
|||
|
|
example: null,
|
|||
|
|
nullable: true
|
|||
|
|
)]
|
|||
|
|
public ?array $sender;
|
|||
|
|
}
|