public function afterRegister(PwUserInfoDm $userDm) { if ($this->bp->config['type'] != 2) { return false; } /* @var $inviteDs PwInviteCode */ $inviteDs = Wekit::load('invite.PwInviteCode'); if ($this->inviteInfo['created_userid']) { $codeDm = new PwInviteCodeDm(); $codeDm->setInvitedUid($userDm->uid)->setModifiedTime(Pw::getTime())->setIfused(1)->setCode($this->code); //别人赠送的邀请码 $inviteDs->updateCode($codeDm); $creditType = $this->bp->config['invite.reward.credit.type']; $creditNum = $this->bp->config['invite.reward.credit.num']; //邀请人获得加奖励 //[积分日志] 成功邀请好友积分奖励 /* @var $creditBo PwCreditBo */ $creditBo = PwCreditBo::getInstance(); $creditBo->addLog('invite_reward', array($creditType => $creditNum), new PwUserBo($this->inviteInfo['created_userid']), array('friend' => $userDm->getField('username'))); $creditBo->set($this->inviteInfo['created_userid'], $creditType, $creditNum); //邀请成功相互关注 被邀请者关注邀请者 /* @var $attention PwAttentionService */ $attention = Wekit::load('attention.srv.PwAttentionService'); $attention->addFollow($userDm->uid, $this->inviteInfo['created_userid']); // $attention->addFollow($this->inviteInfo['created_userid'], $userDm->uid); } else { $codeDm = new PwInviteCodeDm(); $codeDm->setInvitedUid($userDm->uid)->setIfused(1)->setModifiedTime(Pw::getTime())->setCreateUid($userDm->uid)->setCode($this->code); //自己购买的邀请码 $inviteDs->updateCode($codeDm); } return true; }
public function gainReward($uid, $reward, $taskname) { $userBo = Wekit::getLoginUser(); list($id) = explode('-', $reward['value'], 2); $time = abs(intval($reward['time'])); /* @var $userBelongDs PwUserBelong */ $userBelongDs = Wekit::load('user.PwUserBelong'); $info = $userBelongDs->getUserBelongs($uid); $_groups = array(); foreach ($info as $_item) { $_groups[$_item['gid']] = $_item['endtime']; } $_groups[$id] = $time ? Pw::getTime() + 24 * 3600 * $time : 0; /* @var $userService PwUserService */ $userService = Wekit::load('user.srv.PwUserService'); list($gid, $groups) = $userService->caculateUserGroupid($userBo->gid, $_groups); $dm = new PwUserInfoDm($uid); $dm->setGroupid($gid)->setGroups($groups); /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $result = $userDs->editUser($dm, PwUser::FETCH_MAIN); if ($result instanceof PwError) { return $result; } return true; }
public function afterRegister(PwUserInfoDm $userDm) { Wind::import('SRV:site.dm.PwBbsinfoDm'); $dm = new PwBbsinfoDm(); $dm->setNewmember($userDm->getField('username'))->addTotalmember(1); Wekit::load('site.PwBbsinfo')->updateInfo($dm); return true; }
public function run($ids) { if ($this->record) { foreach ($this->record as $key => $value) { $dm = new PwUserInfoDm($key); $dm->addPostnum(-$value); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA); } PwCreditBo::getInstance()->execute(); } }
public function checkVerify($check) { Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($check['uid']); $data = $check['data'] ? unserialize($check['data']) : array(); if (!$data['realname']) { return false; } $dm->setRealname($data['realname']); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN); return true; }
/** * 编辑用户信息 * * @param PwUserInfoDm $dm * @return boolean|PwError */ public function editUser($dm) { $belongs = $dm->getUserBelongs(); if ($belongs === null) { return true; } /* @var $belongDs PwUserBelong */ $belongDs = Wekit::load('user.PwUserBelong'); if (!$belongs) { return $belongDs->deleteByUid($dm->uid); } return $belongDs->update($dm->uid, $belongs); }
/** * 设置安全问题 */ public function dosetQAction() { list($oldPwd, $question, $answer) = $this->getInput(array('oldPwd', 'question', 'answer'), 'post'); if (!$oldPwd) { $this->showError('USER:pwd.error'); } $userDm = new PwUserInfoDm($this->loginUser->uid); $userDm->setOldPwd($oldPwd); switch ($question) { case -2: //取消安全问题和答案 //取消安全问题和答案 case -3: //无安全问题 $question = $answer = ''; $userDm->setQuestion('', ''); break; case -4: //自定义安全问题 $myquestion = $this->getInput('myquestion', 'post'); if (!$myquestion || !$answer) { $this->showError('USER:login.question.setting'); } $userDm->setQuestion($myquestion, $answer); break; case -1: //不修改安全问题和答案 // $this->showMessage('USER:pwd.change.success', 'profile/password/question'); break; default: if (!$answer) { $this->showError('USER:login.question.setting.answer.require'); } $userDm->setQuestion($question, $answer); break; } /* @var $userService PwUserService */ $userService = Wekit::load('user.srv.PwUserService'); //如果该用户必须设置安全问题 if ($userService->mustSettingSafeQuestion($this->loginUser->uid)) { if (!$question || $question == -1 && !$userService->isSetSafecv()) { $this->showError('USER:user.error.safequestion.need'); } } /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); if (($result = $userDs->editUser($userDm, PwUser::FETCH_MAIN)) instanceof PwError) { $this->showError($result->getError()); } $this->showMessage('USER:login.question.setting.success', 'profile/password/question'); }
/** * 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(); } } }
protected function _check(PwUserInfoDm $userDm) { if (!$userDm->uid) { return false; } $config = Wekit::C('register'); if (!$config['active.phone']) { return false; } $mobile = $userDm->getField('mobile'); $mobileCode = $userDm->getField('mobileCode'); if (($mobileCheck = Wekit::load('mobile.srv.PwMobileService')->checkVerify($mobile, $mobileCode)) instanceof PwError) { return false; } return true; }
public function beforeLogout(PwUserBo $bo) { if (!$bo->isExists()) { return true; } $onlineTime = intval(Wekit::C('site', 'onlinetime')); if ($onlineTime <= 0) { return true; } $newLastVisit = $bo->info['lastvisit'] - $onlineTime * 60; Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($bo->uid); $dm->setLastvisit($newLastVisit); /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $userDs->editUser($dm, PwUser::FETCH_DATA); return true; }
/** * @param PwUserInfoDm $dm */ public function doPunch($dm) { if (!Wekit::C('site', 'task.isOpen')) { return true; } $punchData = @unserialize($dm->getField('punch')); if (!$punchData || !is_array($punchData)) { return false; } /* @var $bo PwUserBo */ $bo = Wekit::getLoginUser(); //帮别人打卡不算完成任务 if ($dm->uid != $bo->uid) { return false; } $bp = new PwTaskComplete($bo->uid, $this); $bp->doTask('member', 'punch'); }
public function deleteBan($uid) { /* @var $userDs PwUser */ $userDs = Wekit::load('SRV:user.PwUser'); $info = $userDs->getUserByUid($uid, PwUser::FETCH_MAIN); if (!Pw::getstatus($info['status'], PwUser::STATUS_BAN_SIGN)) { return $info['status']; } //已经解禁不需要再次更改 $userDm = new PwUserInfoDm($uid); $userDm->setBanSign(false); // ->setBbsSign('') /* @var $userDs PwUser */ $userDs = Wekit::load('SRV:user.PwUser'); $userDs->editUser($userDm, PwUser::FETCH_MAIN | PwUser::FETCH_INFO); $s = 1 << PwUser::STATUS_BAN_SIGN - 1; return intval($info['status'] - $s); }
public function deleteBan($uid) { if (!$uid) { return false; } $userDm = new PwUserInfoDm($uid); $userDm->setGroupid(0)->setGroups(array()); /* @var $groupService PwUserGroupsService */ $groupService = Wekit::load('usergroup.srv.PwUserGroupsService'); $strategy = Wekit::C('site', 'upgradestrategy'); $_credit = $this->_getUserDs()->getUserByUid($uid, PwUser::FETCH_DATA); $credit = $groupService->calculateCredit($strategy, $_credit); $memberid = $groupService->calculateLevel($credit, 'member'); $userDm->setMemberid($memberid); /* @var $userDs PwUser */ $userDs = Wekit::load('SRV:user.PwUser'); $userDs->editUser($userDm, PwUser::FETCH_MAIN); return $memberid; }
/** * 全局积分变动,请求及清理 */ public function showcreditAction() { if (!$this->loginUser->isExists()) { $this->showError("login.not"); } $log = $this->loginUser->info['last_credit_affect_log']; if ($log) { Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($this->loginUser->uid); $dm->setLastCreditAffectLog(''); /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $userDs->editUser($dm, PwUser::FETCH_DATA); $_log = unserialize($log); $log = array('name' => $_log[0], 'credit' => $_log[1]); } $this->setOutput($log, 'data'); $this->showMessage(); }
/** * 根据版主名单更新数据<1.pw_user_belong 2.pw_user中的groups字段> * * @param array $manager 所有的版主名单 */ public function updateManager($manager) { $newManager = Wekit::load('user.PwUser')->fetchUserByName($manager); $uids = array_keys(Wekit::load('user.PwUserBelong')->getUserByGid(5)); $oldManager = Wekit::load('user.PwUser')->fetchUserByUid($uids); if (!$newManager && !$oldManager) { return; } $newUids = array_keys($newManager); $oldUids = array_keys($oldManager); $add = array_diff($newUids, $oldUids); $del = array_diff($oldUids, $newUids); if (!$add && !$del) { return; } Wind::import('SRV:user.dm.PwUserInfoDm'); $belongs = $this->getBelongs(array_merge($add, $del)); foreach ($add as $uid) { $dm = new PwUserInfoDm($uid); $belong = isset($belongs[$uid]) ? $belongs[$uid] : array(); if ($newManager[$uid]['groupid']) { $belong[5] = 0; $dm->setGroupid($newManager[$uid]['groupid']); } else { $dm->setGroupid(5); } $dm->setGroups($belong); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN); } foreach ($del as $uid) { $dm = new PwUserInfoDm($uid); $belong = isset($belongs[$uid]) ? $belongs[$uid] : array(); unset($belong[5]); if ($oldManager[$uid]['groupid'] == 5) { $dm->setGroupid(0); } else { $dm->setGroupid($oldManager[$uid]['groupid']); } $dm->setGroups($belong); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN); } }
public function deleteBan($uid) { /* @var $userDs PwUser */ $userDs = Wekit::load('SRV:user.PwUser'); $info = $userDs->getUserByUid($uid, PwUser::FETCH_MAIN); if (!Pw::getstatus($info['status'], PwUser::STATUS_BAN_AVATAR)) { return $info['status']; } //已经解禁不需要再次更改 $userDm = new PwUserInfoDm($uid); $userDm->setBanAvatar(false); /* @var $userDs PwUser */ $userDs = Wekit::load('SRV:user.PwUser'); $userDs->editUser($userDm, PwUser::FETCH_MAIN); /* @var $userSrv PwUserService */ $userSrv = Wekit::load('SRV:user.srv.PwUserService'); $userSrv->restoreDefualtAvatar($uid); $p = 1 << PwUser::STATUS_BAN_AVATAR - 1; return intval($info['status'] - $p); }
public function welcome(PwUserBo $userBo, $ip) { if (0 != $userBo->info['groupid'] || $userBo->info['groups']) { /* @var $_userBelong PwUserBelong */ $_userBelong = Wekit::load('user.PwUserBelong'); $belongs = $_userBelong->getUserBelongs($userBo->uid); $_groups = array(); $gid = 0; foreach ($belongs as $_gid => $_item) { $_groups[$_gid] = $_item['endtime']; } if ($_groups) { /* @var $userService PwUserService */ $userService = Wekit::load('user.srv.PwUserService'); list($gid, $_groups) = $userService->caculateUserGroupid($userBo->info['groupid'], $_groups); } $dm = new PwUserInfoDm($userBo->uid); $dm->setGroupid($gid)->setGroups($_groups); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN); } return true; }
public function dorunAction() { $_array = array(); $model = $this->getProfileMenu(); unset($model['profile'], $model['contact'], $model['tag']); if (count($model) > 1) { $post = array_keys($model); } $array = array('space', 'constellation', 'local', 'nation', 'aliwangwang', 'qq', 'msn', 'mobile'); $array = array_merge($array, $post); foreach ($array as $value) { $_array[$value] = (int) $this->getInput($value, 'post'); } Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($this->loginUser->uid); $dm->setSecret($_array); $resource = Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_INFO); if ($resource instanceof PwError) { $this->showError($resource->getError()); } $this->showMessage("MEDAL:success"); }
public function registerTmpUser($from = 1, $key = '') { //need to check if registered user exists or not if (empty($key) == false) { //if has key, then check if this key has user or not $tmpFound = $this->getbyKey($from, $key); if (empty($tmpFound) == false) { //if has user info, then return user's information $userid = $tmpFound['userid']; return Windid::load('user.WindidUser')->getUserByUid($userid, WindidUser::FETCH_MAIN); } } Wind::import('SRC:service.user.dm.PwUserInfoDm'); $userDm = new PwUserInfoDm(); $password = substr(md5(rand() . '123456'), 0, 15); //order number: 13 number and 3 random number $currentTimeStamp = strtotime("+0 day"); $prefix = 'tmp'; if ($from == 1) { $prefix = 'web'; } else { if ($from == 2) { $prefix = 'app'; } else { if ($from == 3) { $prefix = 'wx'; } } } $username = $prefix . rand(10, 99) . $currentTimeStamp; $userDm->setUsername($username); $userDm->setPassword($password); $userDm->setRegdate(Pw::getTime()); $userDm->setLastvisit(Pw::getTime()); $userDm->setRegip(Wekit::app()->clientIp); Wind::import('SRV:user.srv.PwRegisterService'); Wind::import('APPS:u.service.helper.PwUserHelper'); Wind::import('SRV:user.validator.PwUserValidator'); Wind::import('Wind:utility.WindValidator'); Wind::import('SRV:user.srv.PwLoginService'); $registerService = new PwRegisterService(); $registerService->setUserDm($userDm); $info = $registerService->register(); $userService = Wekit::load('user.srv.PwUserService'); $userService->updateLastLoginData($info['uid'], Wekit::app()->clientIp); $userService->createIdentity($info['uid'], $password); $dm = new App_Tmpuser_Dm(); $dm->setUserId($info['uid']); $dm->setFrom($from); $dm->setKey($key); $this->add($dm); return $info; }
public function setUser($username, $password, $email, $groupid = 3, $uid = 0) { if (!$email) { return new PwError('ADMIN:founder.edit.fail.email.empty'); } Wind::import('SRV:user.dm.PwUserInfoDm'); $userDm = new PwUserInfoDm($uid); $userDm->setEmail($email); $userDm->setGroupid($groupid); $password && $userDm->setPassword($password); if (!$uid) { $userDm->setUsername($username); return $this->loadUser()->addUser($userDm); } else { return $this->loadUser()->editUser($userDm); } }
public function setUser($username, $password, $email, $groupid = 3, $uid = 0) { if (!$email) { return new PwError('ADMIN:founder.edit.fail.email.empty'); } Wind::import('SRV:user.dm.PwUserInfoDm'); $userDm = new PwUserInfoDm($uid); $userDm->setUsername($username); $userDm->setEmail($email); $userDm->setGroupid($groupid); $password && $userDm->setPassword($password); if (!$uid) { $uid = $this->loadUser()->addUser($userDm); //默认头像处理 windid处理 //Wekit::load('SRV:user.srv.PwUserService')->restoreDefualtAvatar($uid); return $uid; } else { return $this->loadUser()->editUser($userDm); } }
public function writeLog() { if (!empty($this->_log)) { Wekit::load('credit.PwCreditLog')->batchAdd($this->_log); } if (!empty($this->_num)) { $tmp = array(); $t = Pw::getTime(); foreach ($this->_num as $uid => $ops) { foreach ($ops as $op => $n) { $tmp[] = array($uid, $op, $n, $t); } } Wekit::load('credit.PwCreditLog')->batchAddOperate($tmp); } //TODO 记录用户的积分变动情况--用户表字段last_credit_affect_log if (!empty($this->_userLog)) { /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); Wind::import('SRV:user.dm.PwUserInfoDm'); foreach ($this->_userLog as $_uid => $_log) { $_dm = new PwUserInfoDm($_uid); $_dm->setLastCreditAffectLog(serialize($_log)); $userDs->editUser($_dm, PwUser::FETCH_DATA); } } $this->_userLog = array(); $this->_log = array(); $this->_num = array(); }
public function updateCountOnlineTime($uid, $startTime, $endTime) { $onlineTime = (int) $endTime - (int) $startTime; $uid = (int) $uid; if ($uid < 0) { return false; } Wind::import('SRV:user.dm.PwUserInfoDm'); $userDm = new PwUserInfoDm($uid); $userDm->setOnline($onlineTime); $ds = Wekit::load('user.PwUser'); $ds->editUser($userDm, PwUser::FETCH_DATA); }
/** * 更新用户表未读消息计数 * * @param int $uid * @param int $num * @return void */ private function _updateMessageCount($uid, $num) { //更新用户表未读数 Wind::import('SRV:user.dm.PwUserInfoDm'); $user = Wekit::load('user.PwUser'); $dm = new PwUserInfoDm($uid); $dm->addMessages($num); $user->editUser($dm, PwUser::FETCH_DATA); }
/** * 过滤用户DM同时设置用户的相关信息 * * @param PwUserInfoDm $userDm * @param array $hasCredit * @return PwUserInfoDm */ protected function filterUserDm(PwUserInfoDm $userDm, $hasCredit = array()) { //如果开启邮箱激活,则设置该状态为0,否则设置该状态为1 $_uncheckGid = false; if ($this->config['active.mail']) { $userDm->setUnactive(true); $_uncheckGid = true; } //如果开启审核,则设置该状态为0,否则设置该状态为1 if ($this->config['active.check']) { $userDm->setUncheck(true); $_uncheckGid = true; } //【用户注册】未验证用户组 if ($_uncheckGid) { $userDm->setGroupid(7); $userDm->setGroups(array()); } $_credit = $this->_getRegisterAddCredit($hasCredit); //【用户注册】计算memberid /* @var $groupService PwUserGroupsService */ $groupService = Wekit::load('usergroup.srv.PwUserGroupsService'); $credit = $groupService->calculateCredit(Wekit::C('site', 'upgradestrategy'), $_credit); $memberid = $groupService->calculateLevel($credit); $userDm->setMemberid($memberid); return $userDm; }
/** * 更新用户勋章统计 * * @param int $uid */ public function updateMedalUser($uid) { $expireds = $medalids = array(); $time = Pw::getTime(); $logs = $this->_getMedalLogDs()->getInfoListByUidStatus($uid, 4); foreach ($logs as $log) { if ($log['expired_time'] > 0 && $log['expired_time'] < $time) { $this->_getMedalLogDs()->deleteInfo($log['log_id']); $this->sendNotice($uid, $log['log_id'], $log['medal_id'], 5); } else { $medalids[] = $log['medal_id']; $log['expired_time'] > 0 && ($expireds[] = $log['expired_time']); //$expired = $expired < $log['expired_time'] ? $log['expired_time'] : $expired; } } $expireds = array_filter($expireds); sort($expireds, SORT_NUMERIC); $expired = array_shift($expireds); /*user_data冗余*/ $dm = Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($uid); $dm->setMedalIds($medalids); Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA); /*end*/ $dm = Wind::import('SRV:medal.dm.PwMedalUserDm'); $dm = new PwMedalUserDm($uid); $dm->setMedals($medalids)->setCounts(count($medalids))->setExpiredTime($expired); return $this->_getMedalUserDs()->replaceInfo($dm); }
/** * 重置密码 */ public function doresetpwdAction() { if ($this->getInput('step', 'post') == 'end') { list($userInfo, $value, $type) = $this->checkState(); list($password, $repassword) = $this->getInput(array('password', 'repassword'), 'post'); if ($password != $repassword) { $this->showError('USER:user.error.-20'); } $userDm = new PwUserInfoDm($userInfo['uid']); $userDm->setUsername($userInfo['username']); $userDm->setPassword($password); $userDm->setQuestion('', ''); /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $result = $userDs->editUser($userDm, PwUser::FETCH_MAIN); if ($result instanceof PwError) { $this->showError($result->getError()); } else { //检查找回密码次数及更新 $findPasswordBp = new PwFindPassword($userInfo['username']); $findPasswordBp->success($type); } $this->showMessage('USER:findpwd.success', 'u/login/run?backurl=' . WindUrlHelper::createUrl('bbs/index/run')); } }
/** * 批量激活用户 * */ public function doactiveAction() { $uids = $this->getInput('uid', 'post'); if (!$uids) { $this->showError('operate.select'); } /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $infos = $userDs->fetchUserByUid($uids, PwUser::FETCH_MAIN); /* @var $groupService PwUserGroupsService */ $groupService = Wekit::load('usergroup.srv.PwUserGroupsService'); $strategy = Wekit::C('site', 'upgradestrategy'); $clearUid = array(); foreach ($infos as $_temp) { $clearUid[] = $_temp['uid']; if (Pw::getstatus($_temp['status'], PwUser::STATUS_UNACTIVE)) { $userDm = new PwUserInfoDm($_temp['uid']); $userDm->setUnactive(false); if (!Pw::getstatus($_temp['status'], PwUser::STATUS_UNCHECK)) { $userDm->setGroupid(0); $_credit = $userDs->getUserByUid($_temp['uid'], PwUser::FETCH_DATA); $credit = $groupService->calculateCredit($strategy, $_credit); $memberid = $groupService->calculateLevel($credit, 'member'); $userDm->setMemberid($memberid); } $userDs->editUser($userDm, PwUser::FETCH_MAIN); } } $this->_getDs()->batchActiveUser($clearUid); $this->showMessage('operate.success'); }
/** * 打卡 - 更新用户数据 * * @param int $uid * @return bool */ private function _punchBehavior($userInfo, $awardNum, $behaviorNum = '') { $reward = $this->config['punch.reward']; $punchData = array('username' => $this->loginUser->username, 'time' => Pw::getTime(), 'cNum' => $awardNum, 'cUnit' => $this->_creditBo->cUnit[$reward['type']], 'cType' => $this->_creditBo->cType[$reward['type']], 'days' => $behaviorNum); // 更新用户data表信息 Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($userInfo['uid']); $dm->setPunch($punchData); $this->_getUserDs()->editUser($dm, PwUser::FETCH_DATA); //埋点[s_punch] PwSimpleHook::getInstance('punch')->runDo($dm); //记录行为 return $this->_getUserBehaviorDs()->replaceBehavior($userInfo['uid'], 'punch_day', $punchData['time']); }
/** * 根据uid删除通知 * * @param int $uid * @param bool */ public function deleteNoticeByUid($uid) { $this->_getNoticesDs()->deleteNoticeByUid($uid); Wind::import('SRV:user.dm.PwUserInfoDm'); $user = Wekit::load('user.PwUser'); $dm = new PwUserInfoDm($uid); $dm->setNoticeCount(0); $user->editUser($dm, PwUser::FETCH_DATA); }