/** * 获取无效的房源 * 如果房源已经被物理删除了,也会返回 * * @param int $cityId * @param int $brokerId * @param int|array $houseId * @return array */ public static function getInvalidateHouse($cityId, $brokerId, $houseId) { $modelName = Model_House_EsfHouseElementFactory::getEsfHouseElementModel($cityId); try { $houseModel = $modelName::data_access(); $houseModel->filter('proId', $houseId); $houseModel->filter('brokerId', $brokerId); $houseModel->filter('tradeType', 1); //$houseModel->filter_by_op('operateState', '<>', 1); $houseModel->load_field(array('proId', 'operateState', 'isVisible', 'expireWorker', 'updatedDatetime', 'brokerId')); $houseList = $houseModel->get_all(); $result = array(); /** * 在数据库中查询到的房源ID */ $houseIds = array(); if (!empty($houseList)) { foreach ($houseList as $house) { $houseIds[] = $house['proId']; /** 房源删除 */ if ($house['operateState'] != 1) { $result[] = $house; continue; } /** 房源违规 */ if ($house['isVisible'] == 0 && $house['expireWorker'] != 'propertyReport') { $result[] = $house; } } } if (!is_array($houseId)) { $houseId = array($houseId); } $notFoundHouseIds = array_diff($houseId, $houseIds); foreach ($notFoundHouseIds as $notFoundHouseId) { $result[] = static::initInvalidateHouse($brokerId, $notFoundHouseId); } return $result; } catch (Exception $e) { return array(); } }
public static function scanHouseBaseInfoByCommunityId($cityId, $community, $startHouseId, $loadField = array(), $limit = 1000) { $modelName = Model_House_EsfHouseElementFactory::getEsfHouseElementModel($cityId); $dataAccess = $modelName::data_access(); try { $dataAccess->filter_by_op('proId', '>', $startHouseId); $dataAccess->filter('commId', $community); $dataAccess->filter('operateState', 1); $dataAccess->limit($limit); if (is_array($loadField) && !empty($loadField)) { $dataAccess->load_field($loadField); } return $dataAccess->get_all(); } catch (Exception $e) { return array(); } }