Пример #1
0
 public static function &getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Пример #2
0
 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" => "");
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
 /**
  * 根据审核通过时间查询审核失败的数据
  * @param $time
  * @param $limit
  * @return array
  */
 public function getFailActionInfoByUpdateTime($time, $limit)
 {
     return Model_Fyk_UserPropAction::getFailActionInfoByUpdateTime($time, intval($limit));
 }