public function run() { /* @var $groupDs PwUserGroups */ $groupDs = Wekit::load('usergroup.PwUserGroups'); $groups = $groupDs->getNonUpgradeGroups(); $groups[0] = $this->upgradeGroups; ksort($groups); list($sName, $sUid, $sEmail, $sGroup, $page) = $this->getInput(array('username', 'uid', 'email', 'gid', 'page')); $vo = new PwUserSo(); $sName && $vo->setUsername($sName); $sUid && $vo->setUid($sUid); $sEmail && $vo->setEmail($sEmail); !$sGroup || in_array(-1, $sGroup) || $vo->setGid($sGroup); $page = intval($page) == 0 ? 1 : abs(intval($page)); /* @var $searchDs PwUserSearch */ $searchDs = Wekit::load('SRV:user.PwUserSearch'); $count = $searchDs->countSearchUser($vo); $result = array(); if (0 < $count) { $totalPage = ceil($count / $this->pageNumber); $page > $totalPage && ($page = $totalPage); /* @var $searchDs PwUserSearch */ $searchDs = Wekit::load('user.PwUserSearch'); list($start, $limit) = Pw::page2limit($page, $this->pageNumber); $result = $searchDs->searchUser($vo, $limit, $start); if ($result) { /* @var $userDs PwUser */ $userDs = Wekit::load('user.PwUser'); $list = $userDs->fetchUserByUid(array_keys($result), PwUser::FETCH_DATA); $result = WindUtility::mergeArray($result, $list); } } $data = $vo->getData(); (!$sGroup || in_array(-1, $sGroup)) && ($data['gid'] = array(-1)); $this->setOutput($data, 'args'); $this->setOutput($page, 'page'); $this->setOutput($this->pageNumber, 'perPage'); $this->setOutput($count, 'count'); $this->setOutput($result, 'list'); $this->setOutput($groups, 'groups'); }
/** * 用于推送时的指定数据获取 * @see src/service/design/srv/model/PwDesignModelBase::_fetchData() */ protected function fetchData($ids) { Wind::import('SRV:user.vo.PwUserSo'); $so = new PwUserSo(); $so->setUid($ids); $list = Wekit::load('user.PwUserSearch')->searchUserAllData($so); return $this->_buildSignKey($list); }