feat: 시스템 알림 관리 페이지 (Phase 5)
- sam_stat DB 연결 추가 (config/database.php) - StatAlert 모델 생성 (sam_stat 연결, 읽기+상태변경) - SystemAlertController 생성 (목록/읽음/해결/전체읽음) - 시스템 알림 Blade 페이지 (필터/페이지네이션/HTMX) - /system/alerts 라우트 등록 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
70
app/Models/Stats/StatAlert.php
Normal file
70
app/Models/Stats/StatAlert.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Stats;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class StatAlert extends Model
|
||||
{
|
||||
protected $connection = 'sam_stat';
|
||||
|
||||
protected $table = 'stat_alerts';
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'is_read',
|
||||
'is_resolved',
|
||||
'resolved_at',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'current_value' => 'decimal:2',
|
||||
'threshold_value' => 'decimal:2',
|
||||
'is_read' => 'boolean',
|
||||
'is_resolved' => 'boolean',
|
||||
'resolved_at' => 'datetime',
|
||||
'created_at' => 'datetime',
|
||||
];
|
||||
|
||||
/**
|
||||
* 심각도 라벨
|
||||
*/
|
||||
public function getSeverityLabelAttribute(): string
|
||||
{
|
||||
return match ($this->severity) {
|
||||
'critical' => '긴급',
|
||||
'warning' => '경고',
|
||||
'info' => '정보',
|
||||
default => $this->severity,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 심각도 색상 클래스
|
||||
*/
|
||||
public function getSeverityColorAttribute(): string
|
||||
{
|
||||
return match ($this->severity) {
|
||||
'critical' => 'text-red-600 bg-red-100',
|
||||
'warning' => 'text-yellow-600 bg-yellow-100',
|
||||
'info' => 'text-blue-600 bg-blue-100',
|
||||
default => 'text-gray-600 bg-gray-100',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 도메인 라벨
|
||||
*/
|
||||
public function getDomainLabelAttribute(): string
|
||||
{
|
||||
return match ($this->domain) {
|
||||
'backup' => '백업',
|
||||
'sales' => '매출',
|
||||
'finance' => '재무',
|
||||
'production' => '생산',
|
||||
'system' => '시스템',
|
||||
default => $this->domain,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user