/** * update the user info about thread * * @param array $ids [description] * @return boid */ public function run($ids) { if ($this->recode) { foreach ($this->recode as $key => $value) { $dm = new PwUserInfoDm($key); $dm->addPostnum(-$value['postnum']); if ($value['digest']) { $dm->addDigest(-$value['digest']); } Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA); } if ($this->operatorCredit) { PwCreditBo::getInstance()->execute(); } } }
/** * 用户相关操作 */ private function _operateUser() { $operation = $this->digest == 1 ? 'digest_topic' : 'remove_digest'; $digestNum = $this->digest == 1 ? 1 : -1; Wind::import('SRV:credit.bo.PwCreditBo'); Wind::import('SRV:forum.bo.PwForumBo'); /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $credit = PwCreditBo::getInstance(); foreach ($this->threads as $thread) { //更新用户精华数 $userInfo = new PwUserInfoDm($thread['created_userid']); $userInfo->addDigest($digestNum); $userDs->editUser($userInfo, PwUser::FETCH_DATA); //更新用户积分 $forum = new PwForumBo($thread['fid']); $credit->operate($operation, PwUserBo::getInstance($thread['created_userid']), true, array('forumname' => $forum->foruminfo['name']), $forum->getCreditSet($operation)); $credit->execute(); } return true; }