feat(API): 입금/출금 알림 Observer 추가 및 LoanController 수정

- DepositIssueObserver, WithdrawalIssueObserver 신규 추가
- TodayIssueObserverService에 입금/출금 핸들러 및 디버그 로그 추가
- TodayIssue 모델에 입금/출금 상수 추가
- AppServiceProvider에 Observer 등록
- ApprovalService에 기존 결재선 사용 시 수동 알림 트리거 추가
- LoanController ApiResponse::handle() → ApiResponse::success() 수정

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-01-23 10:05:50 +09:00
parent fabf302e1f
commit d75f6f5bd1
9 changed files with 232 additions and 22 deletions

View File

@@ -57,6 +57,10 @@ class TodayIssue extends Model
public const SOURCE_CLIENT = 'client';
public const SOURCE_DEPOSIT = 'deposit';
public const SOURCE_WITHDRAWAL = 'withdrawal';
// 뱃지 타입 상수
public const BADGE_ORDER_REGISTER = '수주등록';
@@ -72,6 +76,10 @@ class TodayIssue extends Model
public const BADGE_NEW_CLIENT = '신규거래처';
public const BADGE_DEPOSIT = '입금';
public const BADGE_WITHDRAWAL = '출금';
// 뱃지 → notification_type 매핑
public const BADGE_TO_NOTIFICATION_TYPE = [
self::BADGE_ORDER_REGISTER => 'sales_order',
@@ -81,13 +89,17 @@ class TodayIssue extends Model
self::BADGE_SAFETY_STOCK => 'safety_stock',
self::BADGE_EXPENSE_PENDING => 'expected_expense',
self::BADGE_TAX_REPORT => 'vat_report',
self::BADGE_DEPOSIT => 'deposit',
self::BADGE_WITHDRAWAL => 'withdrawal',
];
// 중요 알림 (푸시 알림음) - 수주등록, 신규거래처, 결재요청
// 중요 알림 (푸시 알림음) - 수주등록, 신규거래처, 결재요청, 입금, 출금
public const IMPORTANT_NOTIFICATIONS = [
'sales_order',
'new_vendor',
'approval_request',
'deposit',
'withdrawal',
];
/**