feat(pricing): 단가관리 stats, bulkDestroy API 추가
- GET /pricing/stats: 단가 통계 조회 (total, draft, finalized, expired) - DELETE /pricing/bulk: 단가 일괄 삭제 (확정된 단가 제외) - PriceBulkDeleteRequest FormRequest 추가 - PricingService.stats(), bulkDestroy() 메서드 구현 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
use App\Helpers\ApiResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Pricing\PriceBulkDeleteRequest;
|
||||
use App\Http\Requests\Pricing\PriceByItemsRequest;
|
||||
use App\Http\Requests\Pricing\PriceCostRequest;
|
||||
use App\Http\Requests\Pricing\PriceIndexRequest;
|
||||
@@ -124,4 +125,29 @@ public function cost(PriceCostRequest $request)
|
||||
return ['data' => $data, 'message' => __('message.fetched')];
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 단가 통계 조회
|
||||
*/
|
||||
public function stats()
|
||||
{
|
||||
return ApiResponse::handle(function () {
|
||||
$data = $this->service->stats();
|
||||
|
||||
return ['data' => $data, 'message' => __('message.fetched')];
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 단가 일괄 삭제
|
||||
*/
|
||||
public function bulkDestroy(PriceBulkDeleteRequest $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
$validated = $request->validated();
|
||||
$deletedCount = $this->service->bulkDestroy($validated['ids']);
|
||||
|
||||
return ['data' => ['deleted_count' => $deletedCount], 'message' => __('message.deleted')];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user