<?php

use Webman\Route;

Route::group('/admin', function () {
    Route::group('/upload', function () {
        Route::post('/image', [\app\admin\controller\UploadFileController::class, 'image']);
        Route::post('/video', [\app\admin\controller\UploadFileController::class, 'video']);
    })->middleware([
        \app\middleware\AdminAuthCheck::class
    ]);

    /* 鉴权 */
    Route::group('/auth', function () {
        Route::post('/login', [\app\admin\controller\auth\AuthController::class, 'login']);
        Route::get('/userInfo', [\app\admin\controller\auth\AuthController::class, 'userInfo']);
        Route::get('/refreshToken', [\app\admin\controller\auth\AuthController::class, 'refreshToken']);
    })->middleware([
        \app\middleware\AdminAuthCheck::class
    ]);

    /* 系统管理中心 */
    Route::group('/sys', function () {
        /* 角色管理 */
        Route::group('/role', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\RoleController::class, 'roleList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\RoleController::class, 'roleInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\RoleController::class, 'addRole']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\RoleController::class, 'updateRole']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\RoleController::class, 'delRole']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\RoleController::class, 'updateStatus']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 部门管理 */
        Route::group('/dept', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\DeptController::class, 'deptList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\DeptController::class, 'deptInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\DeptController::class, 'addDept']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\DeptController::class, 'updateDept']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\DeptController::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\DeptController::class, 'delDept']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 用户管理 */
        Route::group('/user', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\UserController::class, 'userList']);
            Route::get('/info/{id:\w+}', [\app\admin\controller\sys_manage\UserController::class, 'userInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\UserController::class, 'addUser']);
            Route::post('/update/{id:\w+}', [\app\admin\controller\sys_manage\UserController::class, 'updateUser']);
            Route::post('/updateStatus/{id:\w+}', [\app\admin\controller\sys_manage\UserController::class, 'updateStatus']);
            Route::delete('/delete/{id:\w+}', [\app\admin\controller\sys_manage\UserController::class, 'delUser']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 分类管理 */
        Route::group('/category', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\CategoryController::class, 'categoryList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\CategoryController::class, 'categoryInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\CategoryController::class, 'addCategory']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\CategoryController::class, 'updateCategory']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\CategoryController::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\CategoryController::class, 'delCategory']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 字段管理 */
        Route::group('/field', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\FieldController::class, 'fieldList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'fieldInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\FieldController::class, 'addField']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'updateField']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'delField']);
        });
        /* 配置管理 */
        Route::group('/config', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\ConfigController::class, 'configList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'configInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\ConfigController::class, 'addConfig']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'updateConfig']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'delConfig']);
        });
        /* 运费模板管理 */
        Route::group('/postageTemplate', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'select']);
            Route::post('/add', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'delete']);
        });
        Route::group('/adv', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\AdvController::class, 'select']);
            Route::post('/add', [\app\admin\controller\sys_manage\AdvController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\sys_manage\AdvController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\sys_manage\AdvController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });

    /* 业务支撑 */
    Route::group('/life', function () {
        /* 演职人员管理 */
        Route::group('/cinemaPerformers', function () {
            Route::get('/list', [\app\admin\controller\life\CinemaPerformersController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CinemaPerformersController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CinemaPerformersController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CinemaPerformersController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 影片类型管理 */
        Route::group('/cinemaIlk', function () {
            Route::get('/list', [\app\admin\controller\life\CinemaIlkController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CinemaIlkController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CinemaIlkController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CinemaIlkController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 影片管理 */
        Route::group('/cinema', function () {
            Route::get('/list', [\app\admin\controller\life\CinemaController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CinemaController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CinemaController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CinemaController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 教师管理 */
        Route::group('/teacher', function () {
            Route::get('/list', [\app\admin\controller\life\CollegeTeacherController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CollegeTeacherController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CollegeTeacherController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CollegeTeacherController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 课程管理 */
        Route::group('/courses', function () {
            Route::get('/list', [\app\admin\controller\life\CollegeCoursesController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CollegeCoursesController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CollegeCoursesController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CollegeCoursesController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 课程安排管理 */
        Route::group('/teaching', function () {
            Route::get('/list', [\app\admin\controller\life\CollegeTeachingController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CollegeTeachingController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CollegeTeachingController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CollegeTeachingController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 地块管理 */
        Route::group('/farmLand', function () {
            Route::get('/list', [\app\admin\controller\life\FarmLandController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmLandController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmLandController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\FarmLandController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 农场商品管理 */
        Route::group('/farmGoods', function () {
            Route::get('/list', [\app\admin\controller\life\FarmGoodsController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmGoodsController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmGoodsController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\life\FarmGoodsController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\life\FarmGoodsController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 农场套餐管理 */
        Route::group('/farmPackage', function () {
            Route::get('/list', [\app\admin\controller\life\FarmPackageController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmPackageController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmPackageController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\FarmPackageController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 农场套餐商品管理 */
        Route::group('/farmPackageGoods', function () {
            Route::get('/list', [\app\admin\controller\life\FarmPackageGoodsController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmPackageGoodsController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmPackageGoodsController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\FarmPackageGoodsController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 健康美食管理 */
        Route::group('/healthyFood', function () {
            Route::get('/list', [\app\admin\controller\life\HealthyFoodController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\HealthyFoodController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\HealthyFoodController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\life\HealthyFoodController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\life\HealthyFoodController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 康旅路线管理 */
        Route::group('/travelLine', function () {
            Route::get('/list', [\app\admin\controller\life\TravelLineController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\TravelLineController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\TravelLineController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\TravelLineController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 康旅排期管理 */
        Route::group('/travelScheduling', function () {
            Route::get('/list', [\app\admin\controller\life\TravelSchedulingController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\TravelSchedulingController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\TravelSchedulingController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\TravelSchedulingController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
    /* 医疗 */
    Route::group('/medical', function () {
        /* 医生管理 */
        Route::group('/doctor', function () {
            Route::get('/list', [\app\admin\controller\medical\DoctorController::class, 'select']);
            Route::post('/add', [\app\admin\controller\medical\DoctorController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\medical\DoctorController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\medical\DoctorController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 店铺管理 */
        Route::group('/shop', function () {
            Route::get('/list', [\app\admin\controller\medical\ShopController::class, 'select']);
            Route::post('/add', [\app\admin\controller\medical\ShopController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\medical\ShopController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\medical\ShopController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 可预约的服务管理 */
        Route::group('/reservationService', function () {
            Route::get('/list', [\app\admin\controller\medical\ReservationServiceController::class, 'select']);
            Route::post('/add', [\app\admin\controller\medical\ReservationServiceController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\medical\ReservationServiceController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\medical\ReservationServiceController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\medical\ReservationServiceController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 可预约的科室管理 */
        Route::group('/dept', function () {
            Route::get('/list', [\app\admin\controller\medical\DeptController::class, 'select']);
            Route::post('/add', [\app\admin\controller\medical\DeptController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\medical\DeptController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\medical\DeptController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 预约业务员管理 */
        Route::group('/salesman', function () {
            Route::get('/list', [\app\admin\controller\medical\SalesmanController::class, 'select']);
            Route::post('/add', [\app\admin\controller\medical\SalesmanController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\medical\SalesmanController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\medical\SalesmanController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\medical\SalesmanController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
    /* 健康 */
    Route::group('/healthy', function () {
        /* 健康产品管理管理 */
        Route::group('/product', function () {
            Route::get('/list', [\app\admin\controller\healthy\ProductController::class, 'select']);
            Route::post('/add', [\app\admin\controller\healthy\ProductController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\healthy\ProductController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\healthy\ProductController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\healthy\ProductController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
    /* 居家 */
    Route::group('/atHome', function () {
        /* 商品管理 */
        Route::group('/goods', function () {
            Route::get('/list', [\app\admin\controller\at_home\GoodsController::class, 'select']);
            Route::post('/add', [\app\admin\controller\at_home\GoodsController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\at_home\GoodsController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\at_home\GoodsController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
    /* 资产管理 */
    Route::group('/asset', function () {
        /* 户型管理 */
        Route::group('/houseType', function () {
            Route::get('/list', [\app\admin\controller\asset\HouseTypeController::class, 'select']);
            Route::post('/add', [\app\admin\controller\asset\HouseTypeController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\asset\HouseTypeController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\asset\HouseTypeController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
    /* 用户管理 */
    Route::group('/member', function () {
        /* 家庭管理 */
        Route::group('/family', function () {
            Route::get('/list/{id:\w+}', [\app\admin\controller\member\FamilyController::class, 'selectList']);
            Route::get('/info/{id:\w+}', [\app\admin\controller\member\FamilyController::class, 'selectInfo']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
    /* 营销管理 */
    Route::group('/marketing', function () {
        /* 家庭管理 */
        Route::group('/premises', function () {
            Route::get('/list', [\app\admin\controller\marketing\PremisesController::class, 'select']);
            Route::post('/add', [\app\admin\controller\marketing\PremisesController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\marketing\PremisesController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\marketing\PremisesController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
});