src/Biz/OpenCourse/Service/Impl/OpenCourseDeleteServiceImpl.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Biz\OpenCourse\Service\Impl;
use Biz\BaseService;
use Biz\Common\CommonException;
use Biz\OpenCourse\Dao\OpenCourseLessonDao;
use Biz\OpenCourse\Dao\OpenCourseMemberDao;
use Biz\OpenCourse\Dao\RecommendedCourseDao;
use Biz\OpenCourse\Service\OpenCourseDeleteService;
class OpenCourseDeleteServiceImpl extends BaseService implements OpenCourseDeleteService
{
public function delete($courseId, $type)
{
try {
$this->beginTransaction();
$types = array('lessons', 'members', 'course', 'recommend', 'materials');
if (!in_array($type, $types)) {
$this->createNewException(CommonException::ERROR_PARAMETER());
}
$method = 'delete'.ucwords($type);
$course = $this->getOpenCourseService()->getCourse($courseId);
$result = $this->$method($course);
$this->commit();
return $result;
} catch (\Exception $e) {
$this->rollback();
throw $e;
}
}
protected function deleteLessons($course)
{
$lessonCount = $this->getOpenCourseLessonDao()->count(array('courseId' => $course['id']));
$count = 0;
if ($lessonCount > 0) {
$lessons = $this->getOpenCourseLessonDao()->search(array('courseId' => $course['id']), array('createdTime' => 'desc'), 0, 500);
foreach ($lessons as $lesson) {
if (!empty($lesson['mediaId'])) {
$this->getUploadFileService()->waveUploadFile($lesson['mediaId'], 'usedCount', -1);
}
$result = $this->getOpenCourseLessonDao()->delete($lesson['id']);
$this->dispatchEvent('open.course.lesson.delete', array('lesson' => $lesson));
$count += $result;
}
$lessonLog = "删除公开课《{$course['title']}》(#{$course['id']})的所有课时";
$this->getLogService()->info('open_course', 'delete_lesson', $lessonLog);
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。