Exemplo n.º 1
0
 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);
 }