store-manage/routes/api.php

84 lines
3.7 KiB
PHP

<?php
use App\Http\Controllers\Api\Account\StoreMasterCommissionController;
use App\Http\Controllers\Api\Auth\AccessTokenController;
use App\Http\Controllers\Api\ComplaintController;
use App\Http\Controllers\Api\FeedbackController;
use App\Http\Controllers\Api\FileUploadController;
use App\Http\Controllers\Api\KeywordController;
use App\Http\Controllers\Api\LedgerController;
use App\Http\Controllers\Api\ReimbursementController;
use App\Http\Controllers\Api\StatisticsController;
use Illuminate\Support\Facades\Route;
Route::post('/auth/login', [AccessTokenController::class, 'store']);
Route::delete('/auth/logout', [AccessTokenController::class, 'destroy']);
// 数据字典
Route::get('keyword', [\App\Http\Controllers\Api\KeywordController::class, 'index']);
// 字典表
Route::get('keywords', [KeywordController::class, 'index']);
Route::group([
'middleware' => ['auth:api'],
], function () {
// 文件上传
Route::post('fileupload', FileUploadController::class);
// 当前账户信息
Route::get('auth/profile', [\App\Http\Controllers\Api\Auth\UserController::class, 'profile']);
// 修改账户信息
Route::post('auth/profile', [\App\Http\Controllers\Api\Auth\UserController::class, 'update']);
// 我的门店列表
Route::get('auth/stores', [\App\Http\Controllers\Api\Auth\UserController::class, 'storeList']);
// 个人账户 - 佣金提成
Route::get('/account/store-master-commissions', [StoreMasterCommissionController::class, 'index']);
// 统计数据 - 首页统计
Route::get('/statistics/dashboard', [StatisticsController::class, 'dashboard']);
// 统计数据 - 门店统计
Route::get('/statistics/stores', [StatisticsController::class, 'stores']);
// 数据上报
Route::apiResource('/ledgers', LedgerController::class)->only(['store', 'show']);
// 举报投诉
Route::post('complaints', [ComplaintController::class, 'store']);
// 意见箱
Route::post('feedback', [FeedbackController::class, 'store']);
// 员工管理
Route::group(['middleware' => ['user_role:admin,store']], function () {
Route::post('hr/employee/{id}/leave', [\App\Http\Controllers\Api\Hr\EmployeeController::class, 'leave']);
Route::apiResource('hr/employee', \App\Http\Controllers\Api\Hr\EmployeeController::class);
});
// 考勤打卡
Route::get('hr/sign/info', [\App\Http\Controllers\Api\Hr\SignController::class, 'info']);
Route::get('hr/sign', [\App\Http\Controllers\Api\Hr\SignController::class, 'index']);
Route::post('hr/sign', [\App\Http\Controllers\Api\Hr\SignController::class, 'store']);
// 补卡申请
Route::apiResource('hr/sign-repairs', \App\Http\Controllers\Api\Hr\SignRepairController::class);
// 请假管理
Route::apiResource('hr/holidays', \App\Http\Controllers\Api\Hr\HolidayController::class);
// 加班申请
Route::apiResource('hr/overtimes', \App\Http\Controllers\Api\Hr\OvertimeController::class);
// 报销管理
Route::apiResource('reimbursements', \App\Http\Controllers\Api\ReimbursementController::class);
// 合同管理
Route::apiResource('agreements', \App\Http\Controllers\Api\AgreementController::class);
// 审核流程
Route::get('workflow', [\App\Http\Controllers\Api\WorkflowController::class, 'index']);
Route::get('workflow/{id}', [\App\Http\Controllers\Api\WorkflowController::class, 'show']);
Route::get('workflow/{id}/logs', [\App\Http\Controllers\Api\WorkflowController::class, 'logs']);
Route::post('workflow/{id}/check', [\App\Http\Controllers\Api\WorkflowController::class, 'check']);
Route::post('workflow/{id}/cancel', [\App\Http\Controllers\Api\WorkflowController::class, 'cancel']);
});