1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-21 03:17:05 +08:00
course-tencent-cloud/app/Http/Api/Controllers/UserConsoleController.php
2022-08-01 16:43:55 +08:00

218 lines
5.1 KiB
PHP

<?php
/**
* @copyright Copyright (c) 2021 深圳市酷瓜软件有限公司
* @license https://opensource.org/licenses/GPL-2.0
* @link https://www.koogua.com
*/
namespace App\Http\Api\Controllers;
use App\Services\Logic\User\Console\AccountInfo as AccountInfoService;
use App\Services\Logic\User\Console\AnswerList as AnswerListService;
use App\Services\Logic\User\Console\ArticleList as ArticleListService;
use App\Services\Logic\User\Console\ConsultList as ConsultListService;
use App\Services\Logic\User\Console\CourseList as CourseListService;
use App\Services\Logic\User\Console\FavoriteList as FavoriteListService;
use App\Services\Logic\User\Console\NotificationList as NotificationListService;
use App\Services\Logic\User\Console\NotificationRead as NotificationReadService;
use App\Services\Logic\User\Console\NotifyStats as NotifyStatsService;
use App\Services\Logic\User\Console\Online as OnlineService;
use App\Services\Logic\User\Console\OrderList as OrderListService;
use App\Services\Logic\User\Console\ProfileInfo as ProfileInfoService;
use App\Services\Logic\User\Console\ProfileUpdate as ProfileUpdateService;
use App\Services\Logic\User\Console\QuestionList as QuestionListService;
use App\Services\Logic\User\Console\RefundList as RefundListService;
use App\Services\Logic\User\Console\ReviewList as ReviewListService;
/**
* @RoutePrefix("/api/uc")
*/
class UserConsoleController extends Controller
{
/**
* @Get("/profile", name="api.uc.profile")
*/
public function profileAction()
{
$service = new ProfileInfoService();
$profile = $service->handle();
return $this->jsonSuccess(['profile' => $profile]);
}
/**
* @Get("/account", name="api.uc.account")
*/
public function accountAction()
{
$service = new AccountInfoService();
$account = $service->handle();
return $this->jsonSuccess(['account' => $account]);
}
/**
* @Get("/courses", name="api.uc.courses")
*/
public function coursesAction()
{
$service = new CourseListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/articles", name="api.uc.articles")
*/
public function articlesAction()
{
$service = new ArticleListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/questions", name="api.uc.questions")
*/
public function questionsAction()
{
$service = new QuestionListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/answers", name="api.uc.answers")
*/
public function answersAction()
{
$service = new AnswerListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/favorites", name="api.uc.favorites")
*/
public function favoritesAction()
{
$service = new FavoriteListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/consults", name="api.uc.consults")
*/
public function consultsAction()
{
$service = new ConsultListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/reviews", name="api.uc.reviews")
*/
public function reviewsAction()
{
$service = new ReviewListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/orders", name="api.uc.orders")
*/
public function ordersAction()
{
$service = new OrderListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/refunds", name="api.uc.refunds")
*/
public function refundsAction()
{
$service = new RefundListService();
$pager = $service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/notifications", name="api.uc.notifications")
*/
public function notificationsAction()
{
$service = new NotificationListService();
$pager = $service->handle();
$service = new NotificationReadService();
$service->handle();
return $this->jsonPaginate($pager);
}
/**
* @Get("/notify/stats", name="api.uc.notify_stats")
*/
public function notifyStatsAction()
{
$service = new NotifyStatsService();
$stats = $service->handle();
return $this->jsonSuccess(['stats' => $stats]);
}
/**
* @Post("/profile/update", name="api.uc.update_profile")
*/
public function updateProfileAction()
{
$service = new ProfileUpdateService();
$service->handle();
return $this->jsonSuccess();
}
/**
* @Post("/online", name="api.uc.online")
*/
public function onlineAction()
{
$service = new OnlineService();
$service->handle();
return $this->jsonSuccess();
}
}