コード例 #1
0
ファイル: MissionModel.php プロジェクト: alonexy/lea
 public function getJobIDLocal()
 {
     return JobHandler::loadModelById($this->getJobID());
 }
コード例 #2
0
ファイル: MissionController.php プロジェクト: alonexy/lea
 public static function actionAdd()
 {
     $unsetKey = W2HttpRequest::getUnsetRequest('jobid', $p_allowBlank = false);
     if ($unsetKey !== null) {
         return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '部分数据未提交,请检查。', array('errorContent' => '部分参数未提交数据: ' . $unsetKey));
     }
     $tmpModel = new MissionModel();
     switch ($auth = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'add', $tmpModel)) {
         case 'admin':
             //有管理权限
             // $tmpModel  ->           setUserID(W2HttpRequest::getRequestInt('userid'));//报名用户ID
             // $tmpModel  ->           setStatus(W2HttpRequest::getRequestInt('status'));//0: 已拒绝  1: 报名成功 2: 新报名
             // $tmpModel  ->       setCreateTime(W2HttpRequest::getRequestDateTime('createtime'));//创建时间
             // $tmpModel  ->       setModifyTime(W2HttpRequest::getRequestDateTime('modifytime'));//修改时间
         //有管理权限
         // $tmpModel  ->           setUserID(W2HttpRequest::getRequestInt('userid'));//报名用户ID
         // $tmpModel  ->           setStatus(W2HttpRequest::getRequestInt('status'));//0: 已拒绝  1: 报名成功 2: 新报名
         // $tmpModel  ->       setCreateTime(W2HttpRequest::getRequestDateTime('createtime'));//创建时间
         // $tmpModel  ->       setModifyTime(W2HttpRequest::getRequestDateTime('modifytime'));//修改时间
         case 'self':
             //作者
         //作者
         case 'normal':
             //正常用户
             if ($auth == 'normal') {
                 $tmpModel->setUserID(Utility::getCurrentUserID());
                 //普通用户创建的数据,默认作者为自己。
             }
             $jobModel = JobHandler::loadModelById(W2HttpRequest::getRequestInt('jobid'));
             if (!is_object($jobModel)) {
                 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '该任务不存在。');
             } else {
                 if ($jobModel->getJobStatus() != JOB_STATUS::WAITJOIN) {
                     switch ($jobModel->getJobStatus()) {
                         case JOB_STATUS::DISABLED:
                         case JOB_STATUS::PENDING:
                         case JOB_STATUS::DRAFT:
                             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '该任务尚未发布,暂不支持报名。');
                             break;
                         case JOB_STATUS::PROCEED:
                         case JOB_STATUS::COMPLETED:
                             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '该任务招募已结束,不再支持报名。');
                             break;
                         default:
                             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '该任务不在招募状态,不支持报名。');
                             break;
                     }
                 }
             }
             $missionModel = MissionHandler::loadModelFirstInList(array('jobID' => $jobModel->getId(), 'userID' => Utility::getCurrentUserID()));
             if (isset($missionModel)) {
                 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您已报名,不可重复报名。');
             }
             $tmpModel->setJobID($jobModel->getId());
             //任务ID
             $tmpModel->setBossID($jobModel->getUserID());
             //雇主用户ID
             // $tmpModel  ->     setAdvanceMoney(W2HttpRequest::getRequestFloat('advancemoney'));//预付款金额
             // $tmpModel  ->      setAdvanceType(W2HttpRequest::getRequestInt('advancetype'));//预付款方式 0: 不存在  11:余额 21: 支付宝  31:微信  41:网银
             // $tmpModel  ->      setAdvanceTime(W2HttpRequest::getRequestDateTime('advancetime'));//预付款时间
             // $tmpModel  ->         setPayMoney(W2HttpRequest::getRequestFloat('paymoney'));//已付款金额
             // $tmpModel  ->          setPayTime(W2HttpRequest::getRequestDateTime('paytime'));//确认付款时间
             // $tmpModel  ->    setMissionStatus(W2HttpRequest::getRequestInt('missionstatus'));//0: 不存在  11: 接受报名并已预付款 21: 确认完成并付款  31:已评价
             // $tmpModel  ->      setQualityRate(W2HttpRequest::getRequestInt('qualityrate'));//服务质量评分
             // $tmpModel  ->      setManneryRate(W2HttpRequest::getRequestInt('manneryrate'));//服务态度评分
             // $tmpModel  ->        setSpeedRate(W2HttpRequest::getRequestInt('speedrate'));//服务速度评分
             // $tmpModel  ->   setCommentContent(W2HttpRequest::getRequestString('commentcontent'));//评语留言
             $tmpModel->setMissionStatus(MISSION_STATUS::NEWAPPLY);
             //0: 已删除  1: 报名成功 2: 新报名 3:已拒绝
             break;
         case 'draft':
             //未激活
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号未激活,不可使用该功能。');
             break;
         case 'pending':
             //待审禁言
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号被禁言,不可使用该功能。');
             break;
         case 'disabled':
             //封号
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号不可用,不可使用该功能。');
             break;
         case 'visitor':
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您需要登录后才可以执行该操作');
             break;
         default:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             break;
     }
     if (method_exists($tmpModel, 'setStatus') && ($tmpModel->getStatus() === null || !array_key_exists('status', $tmpModel->propertiesModified()))) {
         $tmpModel->setStatus(STATUS_NORMAL);
     }
     return static::save($tmpModel, $isAdd = true);
 }
コード例 #3
0
ファイル: JobController.php プロジェクト: alonexy/lea
 public static function actionUpdate()
 {
     $currentUser = Utility::getCurrentUserModel();
     $p_id = W2HttpRequest::getRequestInt('id', null, false, false);
     $tmpModel = JobHandler::loadModelById($p_id);
     switch ($auth = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'update', $tmpModel)) {
         case 'admin':
             //有管理权限
             // $tmpModel    ->           setUserID(W2HttpRequest::getRequestInt('userid'));
             $tmpModel->setStatus(W2HttpRequest::getRequestInt('status'));
             $nextAction = W2HttpRequest::getRequestInt('nextaction');
             if (!is_null($nextAction)) {
                 if (JOB_STATUS::isNextActionCanDo(Utility::getCurrentUserID(), $tmpModel, $nextAction)) {
                     switch ($nextAction) {
                         default:
                             # code...
                             break;
                     }
                     $tmpModel->setJobStatus($nextAction);
                 } else {
                     return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '错误的操作事件,不可使用该功能,请刷新订单后重试。');
                 }
             }
             // $tmpModel    ->       setCreateTime(W2HttpRequest::getRequestDateTime('createtime'));
             // $tmpModel    ->       setModifyTime(W2HttpRequest::getRequestDateTime('modifytime'));
         // $tmpModel    ->       setCreateTime(W2HttpRequest::getRequestDateTime('createtime'));
         // $tmpModel    ->       setModifyTime(W2HttpRequest::getRequestDateTime('modifytime'));
         case 'self':
             //作者
             if ($auth == 'self' && $tmpModel->getJobStatus() >= JOB_STATUS::WAITJOIN) {
                 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '已发布成功的任务,不可以编辑哦。');
                 break;
             }
             // $tmpModel    ->        setBossGenre(W2HttpRequest::getRequestInt('bossgenre'));
             // $tmpModel    ->          setJobType(W2HttpRequest::getRequestInt('jobtype'));
             // $tmpModel    ->            setTagID(W2HttpRequest::getRequestInt('tagid'));
             $tmpModel->setJobStartDate(W2HttpRequest::getRequestDate('jobstartdate'));
             $tmpModel->setJobEndDate(W2HttpRequest::getRequestDate('jobenddate'));
             $tmpModel->setJobAreaID(W2HttpRequest::getRequestInt('jobareaid'));
             $tmpModel->setAddress(W2HttpRequest::getRequestString('address'));
             $tmpModel->setLng(W2HttpRequest::getRequestFloat('lng'));
             $tmpModel->setLat(W2HttpRequest::getRequestFloat('lat'));
             // $tmpModel    ->      setJobberCount(W2HttpRequest::getRequestInt('jobbercount'));
             $tmpModel->setMoney(W2HttpRequest::getRequestFloat('money'));
             // $tmpModel    ->     setAdvanceMoney(W2HttpRequest::getRequestFloat('advancemoney'));
             // $tmpModel    ->      setAdvanceType(W2HttpRequest::getRequestInt('advancetype'));
             // $tmpModel    ->      setAdvanceTime(W2HttpRequest::getRequestDateTime('advancetime'));
             // $tmpModel    ->          setPayType(W2HttpRequest::getRequestInt('paytype'));
             // $tmpModel    ->           setPayDay(W2HttpRequest::getRequestInt('payday'));
             $tmpModel->setDescription(W2HttpRequest::getRequestString('description'));
             $tmpModel->setFeedbackType(W2HttpRequest::getRequestInt('feedbacktype'));
             $tmpModel->setFeedbackRate(W2HttpRequest::getRequestInt('feedbackrate'));
             $tmpModel->setSchoolIDs(W2HttpRequest::getRequestString('schoolids'));
             $tmpModel->setProfessionalIDs(W2HttpRequest::getRequestString('professionalids'));
             $tmpModel->setDegreeTypes(W2HttpRequest::getRequestString('degreetypes'));
             if ($currentUser->isAuthedCompany()) {
                 $tmpModel->setJobStatus(JOB_STATUS::WAITJOIN);
                 //直接发布,招募中
             } else {
                 $tmpModel->setJobStatus(JOB_STATUS::PENDING);
                 //待审中
             }
             break;
         case 'normal':
             //正常用户
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             break;
         case 'draft':
             //未激活
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号未激活,不可使用该功能。');
             break;
         case 'pending':
             //待审禁言
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号被禁言,不可使用该功能。');
             break;
         case 'disabled':
             //封号
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号不可用,不可使用该功能。');
             break;
         case 'visitor':
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您需要登录后才可以执行该操作');
             break;
         case 'empty':
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NOT_MODEL, '不存在对应数据');
             break;
         default:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             break;
     }
     return static::save($tmpModel);
 }