/** * 查询房子 如果删除、过期则通知下 更新套餐关系 * @param $task * @return bool */ public function dealTask($task) { $proId = $task['houseId']; $propInfo = Bll_House_HzHouse::getPropInfo($proId, $task['cityId'], 2); printf('[%s] 房源[%d]: %s' . PHP_EOL, date('Y-m-d H:i:s'), $proId, json_encode($propInfo)); if ($propInfo && $propInfo['status'] == 1 && !in_array($propInfo['msg']['status'], array(Const_HzStatus::VERIFY, Const_HzStatus::REMOVE, Const_HzStatus::EXPIRED))) { printf('房源 %s 状态为%s, 不需要处理' . PHP_EOL, $proId, $propInfo['msg']['status']); return true; } printf('房源 %s 状态为%s, 需要通知solr下,更新套餐关系为204' . PHP_EOL, $proId, $propInfo['msg']['status']); // 通知solr $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrHzAPI($task['cityId'], $task['brokerId'], $proId, 2); printf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $proId, $result['status'], $result['message']); // 更新套餐关系 $result = Bll_Combo_HouseRelation::updateHouseComboSpreadState($task['brokerId'], $proId, 'hz', 204); printf('房源 %s 更新套餐关系返回的结果message=%s' . PHP_EOL, $proId, $result ? '成功' : '失败'); return true; }
/** * 通知solr下架房源 * * @param array $record * @return bool */ public function noticeDownSolrZf($record) { $downType = array(3, 8, 9); $this->setLog('好租房源删除、到期、违规,通知solr 下架房源'); if (!in_array($record['type'], $downType)) { $this->setLog(sprintf('通知solr 下架房源,日志类型不是[%s]', implode(',', $downType))); return false; } $resArr = Bll_Combo_NoticeSolrUpDown::noticeComboSolrHzAPI($record['cityId'], $record['brokerId'], $record['houseId'], 2, 2, Bll_Combo_NoticeSolrUpDown::HLS_FROM_DELETE_HOUSE, strtotime($record['addDate']), date('Ymd', strtotime($record['addDate'])) . $record['id']); if ($resArr['status'] != 'ok') { $this->setLog(sprintf('solr处理失败 res:%s', json_encode($resArr))); return false; } $this->setLog(sprintf('solr处理成功 res:%s', $record['id'], json_encode($resArr))); return true; }
public function dealTask($task) { $solrOnProId = $task['id']; //1:老端口房源(安居客经纪人发的租房房源) //3:租房经纪人房源 //0:个人房源 $from = $task['from']; if ($from == 1) { return true; } // 查主表获取cityId 如果没有则标记邮件发出 $propInfo = Model_House_HzProp::get_prop_info_by_prop_id($solrOnProId); if ($propInfo && $propInfo['contentBasic']['status'] == 1) { $this->proceLog .= 'remark 房源推广中'; return true; } // 房源没有或者不在线 通知solr下 且发邮件 $type = 2; if ($from == 0) { $type = 1; } // 个人房源 // 如果新端口 走中间件 if (Bll_City::isComboCity($task['city_id'])) { Bll_Combo_NoticeSolrUpDown::noticeComboSolrHzAPI($task['city_id'], $propInfo['contentBasic']['userid'], $solrOnProId, 2, $type); } else { Dao_Broker_HzProp::into_prop_lucene($solrOnProId, $task['city_id'], 2, $type); } if (empty($propInfo)) { $this->proceLog .= 'remark 房源未找到'; $this->emptyPropIds[] = $solrOnProId; } else { $this->proceLog .= 'remark 房源非推广 status:' . $propInfo['contentBasic']['status']; $this->errorPropIds = $solrOnProId; } return true; }
public function dealTask($task) { $solrOnProId = $task['id']; // 只下经纪人 //1:老端口房源(安居客经纪人发的租房房源) //3:租房经纪人房源 //0:个人房源 $from = $task['from']; if ($from != 3) { printf('非经纪人房源 %s 不用处理' . PHP_EOL, $solrOnProId); return true; } if ($onlineComboRelation = Bll_Combo_HouseRelation::getOnlineRelationByHouseId($solrOnProId, Bll_Combo_HouseRelation::SITE_TYPE_HZ)) { printf('房源 %s 已经在套餐推广中, 不用通知solr下' . PHP_EOL, $solrOnProId); return true; } // 房源没有或者不在线 通知solr下 //Dao_Broker_HzProp::into_prop_lucene($solrOnProId, $this->cityId, 2); $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrHzAPI($this->cityId, $onlineComboRelation['brokerId'], $solrOnProId, 2); printf('房源 %s 没有在套餐推广中, 需要通知solr下' . PHP_EOL, $solrOnProId); printf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']); return true; }
public function dealTask($task, $solrProIds) { $proId = $task['proid']; if (in_array($proId, $solrProIds)) { return true; } // 没有则通知solr上 且发邮件 // 如果新端口 走中间件 if (Bll_City::isComboCity($task['cityid'])) { Bll_Combo_NoticeSolrUpDown::noticeComboSolrHzAPI($task['city_id'], $task['userid'], $proId, 2); } else { Dao_Broker_HzProp::into_prop_lucene($proId, $task['cityid'], 1); } $this->errorPropIds[] = $proId; return true; }