public function getJobIDLocal() { return JobHandler::loadModelById($this->getJobID()); }
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); }
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); }