/**
  * 根据用户ID获得该用户的教育经历
  *
  * @param int $uid
  * @param int $num
  * @param boolean $buildArea 是否需要查询获取学校地区的层级
  * @return array
  */
 public function getEducationByUid($uid, $num = 10, $buildArea = false)
 {
     $educations = $this->_getDs()->getByUid($uid, $num);
     if (!$educations) {
         return array();
     }
     $schoolids = array();
     foreach ($educations as $key => $education) {
         $educations[$key]['degreeid'] = $education['degree'];
         $educations[$key]['degree'] = PwEducationHelper::getDegrees($education['degree']);
         $schoolids[] = $education['schoolid'];
     }
     $schools = $this->_getSchoolDs()->fetchSchool($schoolids);
     $areaids = array();
     foreach ($educations as $key => $education) {
         $educations[$key]['school'] = isset($schools[$education['schoolid']]) ? $schools[$education['schoolid']]['name'] : '';
         $buildArea && ($educations[$key]['areaid'] = $schools[$education['schoolid']]['areaid']);
         $areaids[] = $schools[$education['schoolid']]['areaid'];
     }
     if ($buildArea) {
         $areaSrv = WindidApi::api('area');
         $areas = $areaSrv->fetchAreaRout($areaids);
         foreach ($educations as $key => $education) {
             $educations[$key]['areaid'] = $areas[$educations[$key]['areaid']];
         }
     }
     return $educations;
 }
 public function run()
 {
     $list = $this->_getService()->getEducationByUid($this->loginUser->uid, 100, true);
     $this->setOutput($list, 'list');
     $this->setOutput(PwEducationHelper::getDegrees(), 'degrees');
     $this->setOutput(PwEducationHelper::getEducationYear(), 'years');
     $this->setCurrentLeft();
     $this->setOutput(array('_tab' => 'education'), 'args');
 }
 /**
  * 用户教育经历
  *
  * @param PwEducation $ds
  * @param int $uid
  * @return array
  */
 private function _buildEducation(PwEducation $ds, $uid)
 {
     $list = $ds->getByUid($uid, 10, 0);
     $educateList = $schoolids = array();
     $degree = PwEducationHelper::getDegrees();
     foreach ($list as $id => $_item) {
         $_one = array();
         $schoolids[] = $_item['schoolid'];
         $_one['school'] = '';
         $_one['schoolid'] = $_item['schoolid'];
         $_one['degree'] = $degree[$_item['degree']];
         $_one['start'] = $_item['start_time'];
         $educateList[] = $_one;
     }
     return array($schoolids, $educateList);
 }
示例#4
0
 /**
  * 检查数据
  *
  * @return PwError
  */
 protected function check()
 {
     if (!isset($this->_data['uid'])) {
         return new PwError('USER:education.illegal.request');
     }
     if (!isset($this->_data['schoolid']) || !$this->_data['schoolid']) {
         return new PwError('USER:education.update.school.require');
     }
     if (!isset($this->_data['start_time']) || !$this->_data['start_time']) {
         return new PwError('USER:education.update.start_time.require');
     }
     $this->_data['start_time'] = PwEducationHelper::checkEducationYear($this->_data['start_time']);
     if (!PwEducationHelper::checkDegree($this->_data['degree'])) {
         return new PwError('USER:education.update.degree.error');
     }
     return true;
 }