public static function &getInstance() { if (self::$_instance === null) { self::$_instance = new self(); } return self::$_instance; }
public function handle_request_internal() { // 关闭录入房源 $tmpTime = APF::get_instance()->get_config('fyk_onoff_time', 'fyk_common'); if (time() >= strtotime($tmpTime)) { return array('status' => 'error', 'message' => "现在无法录入房源"); } $userId = intval($this->_params['userId']); $data = $this->_params; //$commInfo = Bll_Community_CommunityGardener::getCommunityInfoByCommunityId($data['commId']); $commInfo = Bll_Community_APIComm::getInstance()->getInfoById($data['commId']); //判断用户是否有使用房源库的资格 $hasAccess = Bll_Fyk_Prop_Action::getInstance()->hasFykAccess($userId); if ($hasAccess === false) { $ary = array("status" => "error", "errcode" => Const_APIStatus::E_FYK_USER_NO_ACCESS, "message" => '该用户没有权限'); return $ary; } //验证用户是否达到发房上限 if (Const_Fyk::LIMIT_OF_PUBLISH > 0) { $isReach = $this->isReachTheLimitOfPublish($userId, Const_Fyk::LIMIT_OF_PUBLISH); if (!empty($isReach)) { return $isReach; } } //验证房源库是否达到每日发房总数上限 if (Const_Fyk::LIMIT_OF_TOTAL_PUBLISH > 0) { $isReachTotal = Bll_Fyk_Prop_Action::getInstance()->isReachTheLimitOfTotalPublish($commInfo['city_id'], Const_Fyk::LIMIT_OF_TOTAL_PUBLISH); if ($isReachTotal === true) { $ary = array('status' => 'error', 'errcode' => Const_APIStatus::E_FYK_PROP_PUBLISH_REACH_TOTAL_PUBLISH_NUM, 'message' => '该城市房源库达到每日发房数量上限'); return $ary; } } //验证发布的房源是否已被此经纪人发布过 $isInVerification = Bll_Fyk_Prop_Action::getInstance()->isPublishPropInVerification($userId, intval($data['commId']), $data['houseNum'], $data['buildNum']); if ($isInVerification === true) { $ary = array('status' => 'error', 'errcode' => Const_APIStatus::E_FYK_PROP_PUBLISH_IN_VERIFICATION, 'message' => '该房源已被此经纪人发布过'); return $ary; } $data['isOnly'] = $data['isOnly'] ? 1 : 0; $data['certificate'] = $data['certificate'] ? 1 : 0; $data['houseImages'] = $data['houseImages'] ? $data['houseImages'] : ''; $houseImages = array(); if (!empty($data['houseImages'])) { $houseImages = json_decode($data['houseImages'], true); } $acreage = round($data['acreage']); $base = array('userId' => $data['userId'], 'commId' => $data['commId'], 'buildNum' => trim($data['buildNum']), 'roomNum' => trim($data['houseNum']), 'ownerName' => $data['ownerName'], 'mobile' => $data['ownerPhone'], 'totalPrices' => $data['prices'], 'acreage' => $acreage, 'cell' => $data['cell'], 'hall' => $data['hall'], 'toilet' => $data['toilet'], 'totalFloor' => $data['totalFloor'], 'floor' => $data['floor'], 'orientation' => $data['orientation'], 'isOnly' => $data['isOnly'], 'certificate' => $data['certificate'], 'houseImages' => $houseImages); $body = json_encode(array('base' => $base, 'edit' => array())); $publishInfo = array('cityId' => $commInfo['city_id'], 'userId' => $data['userId'], 'operatorId' => '', 'operatorName' => '', 'status' => 0, 'source' => $data['fromType'], 'type' => 1, 'body' => $body, 'checkMsg' => '', 'createTime' => time()); $result = Model_Fyk_UserPropAction::getInstance()->insertData($publishInfo); if ($result) { //设置缓存 $publishCacheKey = Bll_Fyk_Prop_Action::getInstance()->getPublishCacheKey($userId, $data['commId'], $data['houseNum'], $data['buildNum']); $cache = APF_Cache_Factory::get_instance()->get_memcache(); $cache->set($publishCacheKey, 'fykPublish', 0, 300); return array("status" => "ok", "message" => "发布成功"); } else { return array("status" => "error", "errcode" => Const_APIStatus::E_FYK_PROP_PUBLISH_FAILURE, "message" => ""); } }
public function handle_request_internal() { $userId = $this->_params['userId']; $id = $this->_params['id']; //获取快照信息 $actionInfo = Model_Fyk_UserPropAction::getDataByPkAndUserId($id, $userId); $body = json_decode($actionInfo['body'], true); $checkMsg = json_decode($actionInfo['checkMsg'], true); $data = $this->checkData($body, $checkMsg, $actionInfo['status']); $result = array('status' => 'ok', 'data' => $data); return $result; }
/** * 根据审核通过时间查询审核失败的数据 * @param $time * @param $limit * @return array */ public function getFailActionInfoByUpdateTime($time, $limit) { return Model_Fyk_UserPropAction::getFailActionInfoByUpdateTime($time, intval($limit)); }