\App\Http\Controllers\AdminAnnouncementController

公告管理控制器

职责:系统信息「公告管理」——草稿新建/编辑、分页列表(含已读/目标统计)、 详情、物理删除(级联已读行,仅草稿/已撤回)、发布(target 快照展开 + 目标人数快照)、撤回(软操作保留已读审计);写操作统一走 callService 映射 Service 业务异常。

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 查询与草稿 index / store / show / update 分区 2 · 删除与发布 destroy / publish / revoke └────────────────────────────────────────────────────────────┘

Summary

Methods
Properties
Constants
__construct()
index()
store()
show()
update()
destroy()
publish()
revoke()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$service
N/A

Properties

Methods

__construct()

__construct(\App\Services\Admin\SysMessageService  $service) : mixed

Parameters

\App\Services\Admin\SysMessageService $service

Returns

mixed —

index()

index(\App\Http\Requests\Admin\AnnouncementIndexRequest  $request) : \Illuminate\Http\JsonResponse

公告列表

公告分页列表(搜索/状态筛选),每行含已读 n 与目标 m 统计。

Parameters

\App\Http\Requests\Admin\AnnouncementIndexRequest $request

Returns

\Illuminate\Http\JsonResponse —

store()

store(\App\Http\Requests\Admin\AnnouncementStoreRequest  $request) : \Illuminate\Http\JsonResponse

新建公告

创建草稿(发布前不产生任何用户可见数据),sender 取当前操作者。

Parameters

\App\Http\Requests\Admin\AnnouncementStoreRequest $request

Returns

\Illuminate\Http\JsonResponse —

show()

show(int  $announcement) : \Illuminate\Http\JsonResponse

公告详情

单条公告完整信息(含已读统计)。

Parameters

int $announcement

Returns

\Illuminate\Http\JsonResponse —

update()

update(\App\Http\Requests\Admin\AnnouncementUpdateRequest  $request, \App\Models\SysMessage  $announcement) : \Illuminate\Http\JsonResponse

更新公告

仅草稿可编辑(已发布请先撤回),target 范围可整体调整。

Parameters

\App\Http\Requests\Admin\AnnouncementUpdateRequest $request
\App\Models\SysMessage $announcement

Returns

\Illuminate\Http\JsonResponse —

destroy()

destroy(\App\Models\SysMessage  $announcement) : \Illuminate\Http\JsonResponse

删除公告

仅草稿/已撤回可删(已发布须先撤回);删除级联清除该公告全部已读记录。

Parameters

\App\Models\SysMessage $announcement

Returns

\Illuminate\Http\JsonResponse —

publish()

publish(\App\Models\SysMessage  $announcement) : \Illuminate\Http\JsonResponse

发布公告

草稿 → 已发布:展开 target 快照(部门含子孙)并记录目标人数, 用户端立即可见。

Parameters

\App\Models\SysMessage $announcement

Returns

\Illuminate\Http\JsonResponse —

revoke()

revoke(\App\Models\SysMessage  $announcement) : \Illuminate\Http\JsonResponse

撤回公告

已发布 → 已撤回:用户端立即不可见;已读记录保留(保留撤回前阅读审计)。

Parameters

\App\Models\SysMessage $announcement

Returns

\Illuminate\Http\JsonResponse —