'ID', 'mall_id' => '商城id', 'course_id' => '课程id', 'user_id' => '用户id', 'is_likes' => '是否点赞,1:是,0:不是', 'status' => '状态 0禁用,1启用,-1是删除', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } /** * 判断用户是否点赞课程 * @param $course_id int 课程ID * @return int 0:未点赞 1:已点赞 */ public static function getUserIsLikes($course_id, $user_id) { $result = 0; $userChapterLikes = self::findOne(["course_id" => $course_id, "user_id" => $user_id]); if (!empty($userChapterLikes)) { $result = $userChapterLikes->is_likes; } return $result; } public static function setData(int $mall_id, array $data) { // 判断课程是否可以点赞 $where[] = ['id' => $data['course_id']]; $where[] = ['status' => StatusEnum::ENABLED]; $where[] = ['mall_id' => $mall_id]; $course_info = AddonsCourse::getOne($where); if (empty($course_info)) { self::$static_error = '课程不存在或已下架'; return false; } $msg = '点赞成功'; array_shift($where); $where[] = ['user_id' => $data['user_id']]; $where[] = ['course_id' => $data['course_id']]; $user_course_like_model = AddonsCourseChapterLikes::getOne($where); $like = 1; if (!$user_course_like_model) { $user_course_like_model = new self(); $user_course_like_model->loadDefaultValues(); $user_course_like_model->load($data, ''); $user_course_like_model->mall_id = $mall_id; $user_course_like_model->is_likes = CourseEnum::IS_LIKES_ONE; $user_course_like_model->status = StatusEnum::ENABLED; } else { if ($user_course_like_model->is_likes == CourseEnum::IS_LIKES_ZERO) { $user_course_like_model->is_likes = CourseEnum::IS_LIKES_ONE; } else { $like = -1; $msg = '取消点赞成功'; $user_course_like_model->is_likes = CourseEnum::IS_LIKES_ZERO; } } if (!$user_course_like_model->save()) { self::$static_error = '保存数据失败:' . $user_course_like_model->getErrorMessage(); return false; } $course_info->updateCounters(['likes' => $like]); return $msg; } }