feat:재무 모듈 8종 API 라우트 추가 (고객사/수입/지출/매출/매입/상담수수료/정산/구독)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-04 22:50:29 +09:00
parent fa45caf9d9
commit 11c95b206e

View File

@@ -756,6 +756,15 @@
return view('finance.income');
})->name('income');
// 수입 관리 API
Route::prefix('income')->name('income.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\IncomeController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\IncomeController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\IncomeController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\IncomeController::class, 'destroy'])->name('destroy');
});
Route::get('/expense', function () {
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('finance.expense'));
@@ -764,6 +773,14 @@
return view('finance.expense');
})->name('expense');
// 지출 관리 API
Route::prefix('expense')->name('expense.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\ExpenseController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\ExpenseController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\ExpenseController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\ExpenseController::class, 'destroy'])->name('destroy');
});
// 매출/매입
Route::get('/sales', function () {
if (request()->header('HX-Request')) {
@@ -772,6 +789,15 @@
return view('finance.sales');
})->name('sales');
// 매출 관리 API
Route::prefix('sales-records')->name('sales-records.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\SalesRecordController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\SalesRecordController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\SalesRecordController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\SalesRecordController::class, 'destroy'])->name('destroy');
});
Route::get('/purchase', function () {
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('finance.purchase'));
@@ -780,6 +806,14 @@
return view('finance.purchase');
})->name('purchase');
// 매입 관리 API
Route::prefix('purchases')->name('purchases.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\PurchaseController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\PurchaseController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\PurchaseController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\PurchaseController::class, 'destroy'])->name('destroy');
});
// 영업수수료정산 (실제 구현)
Route::prefix('sales-commissions')->name('sales-commissions.')->group(function () {
Route::get('/', [\App\Http\Controllers\Finance\SalesCommissionController::class, 'index'])->name('index');
@@ -806,6 +840,15 @@
return view('finance.consulting-fee');
})->name('consulting-fee');
// 상담수수료 API
Route::prefix('consulting-fees')->name('consulting-fees.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'destroy'])->name('destroy');
});
Route::get('/customer-settlement', function () {
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('finance.customer-settlement'));
@@ -813,6 +856,15 @@
return view('finance.customer-settlement');
})->name('customer-settlement');
// 고객사별 정산 API
Route::prefix('customer-settlements')->name('customer-settlements.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'destroy'])->name('destroy');
});
Route::get('/subscription', function () {
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('finance.subscription'));
@@ -821,6 +873,14 @@
return view('finance.subscription');
})->name('subscription');
// 구독 관리 API
Route::prefix('subscriptions')->name('subscriptions.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\SubscriptionController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\SubscriptionController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\SubscriptionController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\SubscriptionController::class, 'destroy'])->name('destroy');
});
// 차량관리
Route::get('/corporate-vehicles', [\App\Http\Controllers\Finance\CorporateVehicleController::class, 'index'])->name('corporate-vehicles');
Route::get('/corporate-vehicles/list', [\App\Http\Controllers\Finance\CorporateVehicleController::class, 'list'])->name('corporate-vehicles.list');
@@ -853,6 +913,15 @@
return view('finance.customers');
})->name('customers');
// 고객사 관리 API
Route::prefix('customers')->name('customers.')->group(function () {
Route::get('/list', [\App\Http\Controllers\Finance\CustomerController::class, 'index'])->name('list');
Route::post('/store', [\App\Http\Controllers\Finance\CustomerController::class, 'store'])->name('store');
Route::put('/{id}', [\App\Http\Controllers\Finance\CustomerController::class, 'update'])->name('update');
Route::delete('/{id}', [\App\Http\Controllers\Finance\CustomerController::class, 'destroy'])->name('destroy');
});
Route::get('/partners', function () {
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('finance.partners'));