function actionLike() { header('Content-type: application/json'); if (!Yii::app()->request->isPostRequest) { IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT); return; } if (!IjoyPlusServiceUtils::validateAPPKey()) { IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID); return; } if (IjoyPlusServiceUtils::validateUserID()) { IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID); return; } $prod_id = Yii::app()->request->getParam("prod_id"); if (!isset($prod_id) || is_null($prod_id)) { IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID); return; } $program = Program::model()->findByPk($prod_id); if ($program !== null) { $owner_id = Yii::app()->user->id; $transaction = Yii::app()->db->beginTransaction(); try { $program->love_user_count = $program->love_user_count + 1; // $program->save(); Program::model()->incLoveUserCount($prod_id); CacheManager::synProgramCache($program); $dynamic = new Dynamic(); $dynamic->author_id = $owner_id; $dynamic->content_id = $program->d_id; $dynamic->status = Constants::OBJECT_APPROVAL; $dynamic->create_date = new CDbExpression('NOW()'); $dynamic->content_type = $program->d_type; $dynamic->content_name = $program->d_name; $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_LIKE; $dynamic->content_pic_url = $program->d_pic; $dynamic->save(); if (isset($program->publish_owner_id) && !is_null($program->publish_owner_id)) { if ($program->publish_owner_id !== $owner_id) { // add notify msg $msg = new NotifyMsg(); $msg->author_id = $program->publish_owner_id; $msg->nofity_user_id = Yii::app()->user->id; $msg->notify_user_name = Yii::app()->user->getState("nickname"); $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url"); $msg->content_id = $program->d_id; $msg->content_info = $program->d_name; $msg->content_type = $program->d_type; $msg->created_date = new CDbExpression('NOW()'); $msg->status = Constants::OBJECT_APPROVAL; $msg->notify_type = Constants::NOTIFY_TYPE_LIKE_PROGRAM; $msg->save(); } } $transaction->commit(); IjoyPlusServiceUtils::exportServiceError(Constants::SUCC); } catch (Exception $e) { $transaction->rollback(); IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR); } } else { IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND); } }
public function createComments() { $transaction = Yii::app()->db->beginTransaction(); try { if ($this->save()) { $program = CacheManager::getProgramVOByID($this->content_id); Program::model()->incCommentCount($this->content_id); if ($program !== null) { // var_dump(($program->name)); $dynamic = new Dynamic(); $dynamic->author_id = $this->author_id; $dynamic->content_id = $program->id; $dynamic->status = Constants::OBJECT_APPROVAL; $dynamic->create_date = new CDbExpression('NOW()'); $dynamic->content_desc = $this->comments; $dynamic->content_type = $program->pro_type; $dynamic->content_name = $program->name; $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_COMMENTS; $dynamic->content_pic_url = $program->poster; $dynamic->save(); $recommendOwnerId = Dynamic::model()->getRecommendOwnsForProd($this->content_id); if (isset($recommendOwnerId) && is_array($recommendOwnerId)) { foreach ($recommendOwnerId as $id) { if ($id['author_id'] !== Yii::app()->user->id) { // add notify msg $msg = new NotifyMsg(); $msg->author_id = $id['author_id']; $msg->nofity_user_id = Yii::app()->user->id; $msg->notify_user_name = Yii::app()->user->getState("nickname"); $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url"); $msg->content_id = $program->id; $msg->content_info = $program->name; $msg->content_type = $program->pro_type; $msg->created_date = new CDbExpression('NOW()'); $msg->status = Constants::OBJECT_APPROVAL; $msg->notify_type = Constants::NOTIFY_TYPE_COMMENT; $msg->content_desc = $this->comments; $msg->save(); } } } } $transaction->commit(); return true; } else { $transaction->commit(); return false; } } catch (Exception $e) { $transaction->rollback(); return false; } }
function actionReply() { header('Content-type: application/json'); if (!Yii::app()->request->isPostRequest) { IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT); return; } if (!IjoyPlusServiceUtils::validateAPPKey()) { IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID); return; } if (IjoyPlusServiceUtils::validateUserID()) { IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID); return; } if (!IjoyPlusServiceUtils::checkCSRCToken()) { IjoyPlusServiceUtils::exportServiceError(Constants::DUPLICAT_REQUEST); return; } $transaction = Yii::app()->db->beginTransaction(); try { $thread_id = Yii::app()->request->getParam("thread_id"); $parentComm = Comment::model()->findByPk($thread_id); if (isset($parentComm) && !is_null($parentComm)) { $model = new Comment(); $model->status = Constants::OBJECT_APPROVAL; $model->create_date = new CDbExpression('NOW()'); $model->comments = Yii::app()->request->getParam("content"); $model->thread_id = Yii::app()->request->getParam("thread_id"); $model->author_id = Yii::app()->user->id; $model->author_username = Yii::app()->user->getState("nickname"); $model->author_photo_url = Yii::app()->user->getState("pic_url"); $model->save(); //add dynamic $dynamic = new Dynamic(); $dynamic->author_id = Yii::app()->user->id; $dynamic->content_id = $thread_id; $dynamic->status = Constants::OBJECT_APPROVAL; $dynamic->create_date = new CDbExpression('NOW()'); $dynamic->content_desc = $model->comments; $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_COMMENT_REPLI; $dynamic->content_name = $parentComm->content_name; $dynamic->content_type = $parentComm->content_type; $dynamic->content_pic_url = $parentComm->content_pic_url; $dynamic->save(); if ($parentComm->author_id !== Yii::app()->user->id) { // add notify msg $msg = new NotifyMsg(); $msg->author_id = $parentComm->author_id; $msg->nofity_user_id = Yii::app()->user->id; $msg->notify_user_name = Yii::app()->user->getState("nickname"); $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url"); $msg->content_id = $thread_id; $msg->content_desc = $model->comments; $msg->content_type = $parentComm->content_type; $msg->content_info = $parentComm->content_name; $msg->created_date = new CDbExpression('NOW()'); $msg->status = Constants::OBJECT_APPROVAL; $msg->notify_type = Constants::NOTIFY_TYPE_REPLIE_COMMENT; $msg->save(); } } $transaction->commit(); IjoyPlusServiceUtils::exportServiceError(Constants::SUCC); } catch (Exception $e) { $transaction->rollback(); IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR); } }
public function followFriends($friends) { if (isset($friends) && is_array($friends)) { $transaction = Yii::app()->db->beginTransaction(); try { $userid = Yii::app()->user->id; $count = 0; foreach ($friends as $id) { if ($id === $userid) { continue; } $user = User::model()->findByPk($id); if (isset($user) && !is_null($user)) { $friendt = $this->getFriend($userid, $id); if (!(isset($friendt) && !is_null($friendt) && $friendt->status == Constants::OBJECT_APPROVAL)) { if (isset($friendt) && !is_null($friendt)) { $friendt->status = Constants::OBJECT_APPROVAL; $friendt->save(); } else { $friend = new Friend(); $friend->author_id = $userid; $friend->friend_id = $id; $friend->friend_photo_url = $user->user_photo_url; $friend->friend_username = $user->nickname; $friend->create_date = new CDbExpression('NOW()'); $friend->status = Constants::OBJECT_APPROVAL; $friend->save(); } $count++; $user->fan_number = $user->fan_number + 1; $user->save(); //add dynamic $dynamic = new Dynamic(); $dynamic->author_id = $userid; $dynamic->content_id = $id; $dynamic->status = Constants::OBJECT_APPROVAL; $dynamic->create_date = new CDbExpression('NOW()'); $dynamic->content_name = $user->nickname; $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_FOLLOW; $dynamic->content_pic_url = $user->user_photo_url; $dynamic->save(); //ADD NOTIFY MSG $msg = new NotifyMsg(); $msg->author_id = $id; $msg->nofity_user_id = Yii::app()->user->id; $msg->notify_user_name = Yii::app()->user->getState("nickname"); $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url"); $msg->created_date = new CDbExpression('NOW()'); $msg->status = Constants::OBJECT_APPROVAL; $msg->notify_type = Constants::NOTIFY_TYPE_FOLLOW; $msg->save(); } } } if ($count > 0) { User::model()->updateFollowUserCount($userid, $count); } $transaction->commit(); return true; } catch (Exception $e) { $transaction->rollback(); return false; } } return true; }
public function actionLike() { header('Content-type: application/json'); if (!Yii::app()->request->isPostRequest) { IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT); return; } if (!IjoyPlusServiceUtils::validateAPPKey()) { IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID); return; } if (IjoyPlusServiceUtils::validateUserID()) { IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID); return; } $user_id = Yii::app()->request->getParam("user_id"); $ownerid = Yii::app()->user->id; if (!isset($user_id) || is_null($user_id) || $ownerid === $user_id) { IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID); return; } try { $transaction = Yii::app()->db->beginTransaction(); $user = User::model()->findByPk($user_id); if (isset($user) && !is_null($user)) { IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND); } $dynamicObj = Dynamic::model()->find(array('condition' => 'author_id=:author_id and content_id=:friend_id and status=:status and dynamic_type=:type', 'params' => array(':author_id' => $userid, ':friend_id' => $user_id, ':type' => Constants::DYNAMIC_TYPE_LIKE_FRIEND, ':status' => Constants::OBJECT_APPROVAL))); if (!(isset($dynamicObj) && !is_null($dynamicObj))) { $user->like_number = $user->like_number + 1; $user->save(); //add dynamic $dynamic = new Dynamic(); $dynamic->author_id = $userid; $dynamic->content_id = $user_id; $dynamic->status = Constants::OBJECT_APPROVAL; $dynamic->create_date = new CDbExpression('NOW()'); $dynamic->content_name = $user->nickname; $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_LIKE_FRIEND; $dynamic->content_pic_url = $user->user_photo_url; $dynamic->save(); //ADD NOTIFY MSG $msg = new NotifyMsg(); $msg->author_id = $user_id; $msg->nofity_user_id = Yii::app()->user->id; $msg->notify_user_name = Yii::app()->user->getState("nickname"); $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url"); $msg->created_date = new CDbExpression('NOW()'); $msg->status = Constants::OBJECT_APPROVAL; $msg->notify_type = Constants::NOTIFY_TYPE_LIKE_FRIEND; $msg->save(); $transaction->commit(); IjoyPlusServiceUtils::exportServiceError(Constants::SUCC); } else { IjoyPlusServiceUtils::exportServiceError(Constants::PERSON_IS_LIKED); } } catch (Exception $e) { $transaction->rollback(); IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR); } }