Ejemplo n.º 1
0
 /**
  * @return Model_Fyk_PropLibrary|null
  * @throws Exception
  */
 public function prop()
 {
     return Model_Fyk_PropLibrary::data_access()->filter('id', $this->propId)->find_only();
 }
Ejemplo n.º 2
0
 public function handle_request_internal()
 {
     $propLists = array();
     $hasNextPage = 0;
     $userId = $this->_params['userId'];
     $sinceId = isset($this->_params['sinceId']) ? intval($this->_params['sinceId']) : 0;
     $per = isset($this->_params['per']) ? $this->_params['per'] : 20;
     $propIds = Model_Broker_FykPushProps::data_access()->load_field('propId')->filter('userId', $userId)->sort('id', 'desc')->limit($per + 1)->offset($sinceId)->get_all();
     if (!empty($propIds)) {
         $hasNextPage = count($propIds) > $per ? 1 : 0;
         if ($hasNextPage) {
             array_pop($propIds);
             $sinceId = $sinceId + $per;
         } else {
             $sinceId = 0;
         }
         $propIds = self::getArrayColumn($propIds, 'propId');
         $props = Model_Fyk_PropLibrary::data_access()->filter('id', array_unique($propIds))->get_all();
         //获取小区、板块名称 start
         $commNames = $typeNames = array();
         $commIds = self::getArrayColumn($props, 'commId');
         /*$commInfos = Model_Community_AjkCommunity::data_access()
           ->filter('commId', $commIds)
           ->get_all();*/
         $commInfos = Bll_Community_APIComm::getInstance()->getInfoById($commIds);
         foreach ($commInfos as $info) {
             $commNames[$info['comm_id']] = $info['name'];
         }
         //————————————————————————————————————————————————
         $districtIds = self::getArrayColumn($props, 'areaId');
         $blockIds = self::getArrayColumn($props, 'blockId');
         $typeIds = array_merge($districtIds, $blockIds);
         $typeInfos = Model_City_TypeCode::data_access()->load_field('typeId')->load_field('typeName')->filter('typeId', $typeIds)->get_all();
         foreach ($typeInfos as $info) {
             $typeNames[$info['typeId']] = $info['typeName'];
         }
         //获取小区、板块名称 end
         foreach ($props as $prop) {
             //计算发布时间
             $publishDate = strtotime(date('Y-m-d', $prop['createTime']));
             $nowDate = strtotime(date('Y-m-d', time()));
             $publishDays = intval(($nowDate - $publishDate) / 86400);
             $propId = $prop['id'];
             $propList['fPropId'] = $propId;
             $propList['isOnly'] = $prop['isOnly'];
             $propList['isReal'] = $prop['isReal'];
             $propList['certificate'] = $prop['certificate'];
             $propList['commId'] = $prop['commId'];
             $propList['commName'] = $commNames[$prop['commId']];
             $propList['districtId'] = $prop['areaId'];
             $propList['districtName'] = $typeNames[$prop['areaId']];
             $propList['blockId'] = $prop['blockId'];
             $propList['blockName'] = $typeNames[$prop['blockId']];
             $propList['roomNum'] = $prop['cell'];
             $propList['hallNum'] = $prop['hall'];
             $propList['toiletNum'] = $prop['toilet'];
             $propList['area'] = $prop['acreage'];
             $propList['areaUnit'] = '平';
             $propList['price'] = intval($prop['totalPrices']);
             $propList['priceUnit'] = '万';
             $propList['publishDays'] = $publishDays;
             $propList['publishDaysMsg'] = $propList['publishDays'] > 0 ? "{$propList['publishDays']}天前发布" : '今天发布';
             $propLists[$propId] = $propList;
         }
     }
     $propListFormat = array();
     foreach ($propIds as $id) {
         $propListFormat[] = $propLists[$id];
     }
     unset($propLists);
     //更新为0
     Model_Fyk_PushPropsLatestCount::data_access()->set_field('count', 0)->filter('userId', $userId)->update();
     $data['props'] = $propListFormat;
     $data['sinceId'] = $sinceId;
     $data['hasNextPage'] = $hasNextPage;
     return API_Result::create()->ok()->data($data)->toArray();
 }