mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-20 11:03:01 +08:00
218 lines
5.1 KiB
PHP
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();
|
|
}
|
|
|
|
}
|