diff --git a/app/Builders/CourseUserList.php b/app/Builders/CourseUserList.php index 07c1fada..1d7836fc 100644 --- a/app/Builders/CourseUserList.php +++ b/app/Builders/CourseUserList.php @@ -55,11 +55,9 @@ class CourseUserList extends Builder $result = []; foreach ($courses->toArray() as $course) { - if ($course['deleted'] == 0) { - $course['cover'] = $baseUrl . $course['cover']; - $course['attrs'] = json_decode($course['attrs'], true); - $result[$course['id']] = $course; - } + $course['cover'] = $baseUrl . $course['cover']; + $course['attrs'] = json_decode($course['attrs'], true); + $result[$course['id']] = $course; } return $result; diff --git a/app/Builders/ResourceList.php b/app/Builders/ResourceList.php index 1d47ba79..f767cef5 100644 --- a/app/Builders/ResourceList.php +++ b/app/Builders/ResourceList.php @@ -36,6 +36,11 @@ class ResourceList extends Builder $result = []; foreach ($uploads->toArray() as $upload) { + + $id = $this->crypt->encryptBase64($upload['id'], null, true); + + $upload['url'] = $this->url->get(['for' => 'home.download', 'id' => $id]); + $result[$upload['id']] = $upload; } diff --git a/app/Console/Tasks/DeliverTask.php b/app/Console/Tasks/DeliverTask.php index 5308cbc0..fd868471 100644 --- a/app/Console/Tasks/DeliverTask.php +++ b/app/Console/Tasks/DeliverTask.php @@ -17,6 +17,7 @@ use App\Models\Trade as TradeModel; use App\Repos\Course as CourseRepo; use App\Repos\ImGroup as ImGroupRepo; use App\Repos\ImGroupUser as ImGroupUserRepo; +use App\Repos\ImUser as ImUserRepo; use App\Repos\Order as OrderRepo; use App\Repos\User as UserRepo; use App\Services\Logic\Notice\OrderFinish as OrderFinishNotice; @@ -134,9 +135,7 @@ class DeliverTask extends Task $courseUser->role_type = CourseUserModel::ROLE_STUDENT; $courseUser->source_type = CourseUserModel::SOURCE_CHARGE; - if ($courseUser->create() === false) { - throw new \RuntimeException('Create Course User Failed'); - } + $courseUser->create(); $courseRepo = new CourseRepo(); @@ -150,6 +149,10 @@ class DeliverTask extends Task $group = $groupRepo->findByCourseId($course->id); + $imUserRepo = new ImUserRepo(); + + $imUser = $imUserRepo->findById($order->owner_id); + $groupUserRepo = new ImGroupUserRepo(); $groupUser = $groupUserRepo->findGroupUser($group->id, $order->owner_id); @@ -160,10 +163,13 @@ class DeliverTask extends Task $groupUser->group_id = $group->id; $groupUser->user_id = $order->owner_id; + $groupUser->create(); - if ($groupUser->create() === false) { - throw new \RuntimeException('Create Group User Failed'); - } + $imUser->group_count += 1; + $imUser->update(); + + $group->user_count += 1; + $group->update(); } } @@ -181,9 +187,7 @@ class DeliverTask extends Task $courseUser->role_type = CourseUserModel::ROLE_STUDENT; $courseUser->source_type = CourseUserModel::SOURCE_CHARGE; - if ($courseUser->create() === false) { - throw new \RuntimeException('Create Course User Failed'); - } + $courseUser->create(); $courseRepo = new CourseRepo(); @@ -197,6 +201,10 @@ class DeliverTask extends Task $group = $groupRepo->findByCourseId($course->id); + $imUserRepo = new ImUserRepo(); + + $imUser = $imUserRepo->findById($order->owner_id); + $groupUserRepo = new ImGroupUserRepo(); $groupUser = $groupUserRepo->findGroupUser($group->id, $order->owner_id); @@ -207,10 +215,13 @@ class DeliverTask extends Task $groupUser->group_id = $group->id; $groupUser->user_id = $order->owner_id; + $groupUser->create(); - if ($groupUser->create() === false) { - throw new \RuntimeException('Create Group User Failed'); - } + $imUser->group_count += 1; + $imUser->update(); + + $group->user_count += 1; + $group->update(); } } } @@ -224,11 +235,10 @@ class DeliverTask extends Task $user = $userRepo->findById($order->owner_id); $user->vip_expiry_time = $itemInfo['vip']['expiry_time']; + $user->vip = 1; - if ($user->update() === false) { - throw new \RuntimeException('Update Vip Expiry Failed'); - } + $user->update(); } protected function handleOrderConsumePoint(OrderModel $order) diff --git a/app/Console/Tasks/VodEventTask.php b/app/Console/Tasks/VodEventTask.php index 87fb06f9..5dd243d5 100644 --- a/app/Console/Tasks/VodEventTask.php +++ b/app/Console/Tasks/VodEventTask.php @@ -23,8 +23,6 @@ class VodEventTask extends Task $handles = []; - $count = 0; - foreach ($events as $event) { $handles[] = $event['EventHandle']; @@ -36,10 +34,6 @@ class VodEventTask extends Task } elseif ($event['EventType'] == 'FileDeleted') { $this->handleFileDeletedEvent($event); } - - $count++; - - if ($count >= 12) break; } $this->confirmEvents($handles); diff --git a/app/Http/Admin/Services/Resource.php b/app/Http/Admin/Services/Resource.php index ef7c2838..692fb173 100644 --- a/app/Http/Admin/Services/Resource.php +++ b/app/Http/Admin/Services/Resource.php @@ -124,6 +124,20 @@ class Resource extends Service $chapter->resource_count = $chapterRepo->countResources($chapter->id); $chapter->update(); + + $parent = $chapterRepo->findById($chapter->parent_id); + + $lessons = $chapterRepo->findLessons($parent->id); + + $resourceCount = 0; + + foreach ($lessons as $lesson) { + $resourceCount += $chapterRepo->countResources($lesson->id); + } + + $parent->resource_count = $resourceCount; + + $parent->update(); } protected function recountCourseResources(CourseModel $course) diff --git a/app/Http/Admin/Services/Student.php b/app/Http/Admin/Services/Student.php index c3205ac5..7c80e3bb 100644 --- a/app/Http/Admin/Services/Student.php +++ b/app/Http/Admin/Services/Student.php @@ -103,7 +103,7 @@ class Student extends Service $data['user_id'] = $user->id; $data['expiry_time'] = $expiryTime; - $validator->checkIfJoined($post['course_id'], $post['user_id']); + $validator->checkIfImported($post['course_id'], $post['user_id']); $courseUser = new CourseUserModel(); diff --git a/app/Http/Api/Controllers/ChapterController.php b/app/Http/Api/Controllers/ChapterController.php index 975d76d1..63ca974f 100644 --- a/app/Http/Api/Controllers/ChapterController.php +++ b/app/Http/Api/Controllers/ChapterController.php @@ -7,12 +7,12 @@ namespace App\Http\Api\Controllers; -use App\Services\Logic\Article\CommentList as CommentListService; use App\Services\Logic\Chapter\ChapterInfo as ChapterInfoService; use App\Services\Logic\Chapter\ChapterLike as ChapterLikeService; -use App\Services\Logic\Chapter\ConsultList as ChapterConsultListService; -use App\Services\Logic\Chapter\Learning as ChapterLearningService; -use App\Services\Logic\Chapter\ResourceList as ChapterResourceListService; +use App\Services\Logic\Chapter\CommentList as CommentListService; +use App\Services\Logic\Chapter\ConsultList as ConsultListService; +use App\Services\Logic\Chapter\Learning as LearningService; +use App\Services\Logic\Chapter\ResourceList as ResourceListService; /** * @RoutePrefix("/api/chapter") @@ -37,7 +37,7 @@ class ChapterController extends Controller */ public function consultsAction($id) { - $service = new ChapterConsultListService(); + $service = new ConsultListService(); $pager = $service->handle($id); @@ -49,7 +49,7 @@ class ChapterController extends Controller */ public function resourcesAction($id) { - $service = new ChapterResourceListService(); + $service = new ResourceListService(); $resources = $service->handle($id); @@ -91,7 +91,7 @@ class ChapterController extends Controller */ public function learningAction($id) { - $service = new ChapterLearningService(); + $service = new LearningService(); $service->handle($id); diff --git a/app/Http/Home/Controllers/PublicController.php b/app/Http/Home/Controllers/PublicController.php index 637321d9..1cb5a608 100644 --- a/app/Http/Home/Controllers/PublicController.php +++ b/app/Http/Home/Controllers/PublicController.php @@ -25,13 +25,15 @@ class PublicController extends \Phalcon\Mvc\Controller use SecurityTrait; /** - * @Get("/download/{md5}", name="home.download") + * @Get("/download/{id}", name="home.download") */ - public function downloadAction($md5) + public function downloadAction($id) { + $id = $this->crypt->decryptBase64($id, null, true); + $repo = new UploadRepo(); - $file = $repo->findByMd5($md5); + $file = $repo->findById($id); if ($file) { diff --git a/app/Http/Home/Views/chapter/resources.volt b/app/Http/Home/Views/chapter/resources.volt index 71cbd243..67c32c57 100644 --- a/app/Http/Home/Views/chapter/resources.volt +++ b/app/Http/Home/Views/chapter/resources.volt @@ -9,11 +9,10 @@