public function delLike($uid, $logid) { $info = $this->allowEditLike($uid, $logid); if ($info instanceof PwError) { return false; } if (!$this->_getLikeLogDs()->deleteInfo($logid)) { return false; } $likeInfo = $this->_getLikeContentDs()->getLikeContent($info['likeid']); if (!$likeInfo) { return false; } list($beLikeUid, $isspecial, $count, $fid) = $this->_getSourceInfo($likeInfo['typeid'], $likeInfo['fromid']); $count--; $this->_updateLikeCount($likeInfo['typeid'], $likeInfo['fromid'], $count); //删除喜欢tag if ($info['tagids']) { $this->_getLikeRelationsDs()->deleteInfosBylogid($logid); $tagids = explode(',', $info['tagids']); foreach ($tagids as $tagid) { $this->_getLikeTagDs()->updateNumber($tagid, false); } } //写入喜欢统计 Wind::import('SRV:user.dm.PwUserInfoDm'); $userDs = Wekit::load('user.PwUser'); $userStatistics = $userDs->getUserByUid($uid, PwUser::FETCH_DATA); $likeNumber = isset($userStatistics['likes']) ? intval($userStatistics['likes']) : 0; $likeNumber--; $dm = new PwUserInfoDm($uid); $dm->setLikes($likeNumber); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA); //喜欢后续操作 //$this->_getHook()->runDo('delLike', $uid, $beLikeUid); PwSimpleHook::getInstance('PwLikeService_delLike')->runDo($uid, $beLikeUid); return true; }