private function dealTask($group) { if (!($areaCode = $group['areaCode'])) { return false; } if (!($areaInfo = Model_City_HzArea::getAreaByTypeCode($areaCode))) { return false; } $areaId = $areaInfo['parentId'] ? $areaInfo['parentId'] : 0; $blockId = $areaInfo['id'] ? $areaInfo['id'] : 0; $companyId = $group['cstCompanyId']; // 是否大客户 $isBigCompany = Model_Broker_HzBBrokerCompany::isBigCompany($companyId); // 获取销售资源分配 $hzResource = Model_PPC_HzCSalesResources::getResource($areaId, $blockId, $isBigCompany ? $companyId : 0); $sellerId = $hzResource ? $hzResource['sellerId'] : 0; // 判断公司是否已经同步,同步过的更新 $hzGroup = Model_Broker_HzBBrokerGroup::getBrokerGroupByGroupId($group['comanyId']); // 组装数据insert|update $content = array('shortName' => $group['shortCompanyName'], 'address' => $group['comanyAddr'], 'phone' => $group['comanyTel'], 'fax' => $group['comanyFax'], 'summery' => $group['comanySummery']); $data = array('groupId' => $group['comanyId'], 'name' => $group['comanyName'], 'storeId' => $group['realStoreId'], 'companyId' => $companyId, 'cityId' => $group['cityId'], 'contact' => $group['comanyLinkMan'], 'flag' => $group['isActive'], 'areaId' => $areaId, 'blockId' => $blockId, 'content' => json_encode($content), 'updated' => time(), 'mid' => 0, 'sellId' => $sellerId); if ($hzGroup) { $result = Model_Broker_HzBBrokerGroup::updateBrokerGroup($group['comanyId'], $data); printf('[%s] update: groupId: %s result: %s' . PHP_EOL, date('Y-m-d H:i:s'), $group['comanyId'], $result); return $result; } else { $result = Model_Broker_HzBBrokerGroup::addBrokerGroup($data); printf('[%s] add: result: %s' . PHP_EOL, date('Y-m-d H:i:s'), $result); return $result; } }
/** * 根据板块id获取精选房源,写房源日志 * * @param int $brokerId * @param $oldAreaCode * @param $newAreaCode * @return array */ public static function hzCommunityAreaChangeEx($brokerId, $oldAreaCode, $newAreaCode) { $newAreaInfo = Model_City_HzArea::getAreaByTypeCode($newAreaCode); $oldAreaInfo = Model_City_HzArea::getAreaByTypeCode($oldAreaCode); if (empty($newAreaInfo)) { return static::buildReturn(self::PROCESS_STATUS_ERROR, '好租区域板块变更,新的板块Id[' . $newAreaCode . ']映射不存在'); } if (empty($oldAreaInfo)) { return static::buildReturn(self::PROCESS_STATUS_ERROR, '好租区域板块变更,旧的板块Id[' . $oldAreaCode . ']映射不存在'); } $choicePlanList = Model_Plan_HzPlanBasic::getChoicePlanByBlockId($oldAreaInfo['cityId'], $oldAreaInfo['id']); if (empty($choicePlanList)) { return static::buildReturn(self::PROCESS_STATUS_SUCCESS, '好租区域板块变更,旧的板块Id[' . $newAreaCode . '],没有精选计划'); } $choicePlanIdList = array(); foreach ($choicePlanList as $choicePlanInfo) { $choicePlanIdList[] = $choicePlanInfo['id']; } $choicePlaningList = Model_Plan_HzPlanning::getPlanningByPlanIds($choicePlanIdList); if (empty($choicePlaningList)) { return static::buildReturn(self::PROCESS_STATUS_ERROR, sprintf('好租区域板块变更,没有获取到精选[%s]计划房源关系信息', implode(',', $choicePlanIdList))); } /** 写房源日志 */ $remark = json_encode(array('remark' => '区域板块变更', 'newAreaCode' => $newAreaCode, 'oldAreaCode' => $oldAreaCode, 'newBlockId' => $newAreaInfo['id'], 'oldBlockId' => $oldAreaInfo['id'])); $rtn = array(); foreach ($choicePlaningList as $choicePlaningInfo) { $houseLog = array(); $houseLog['houseId'] = $choicePlaningInfo['proid']; $houseLog['planId'] = 0; $houseLog['brokerId'] = $brokerId; $houseLog['cityId'] = $choicePlaningInfo['city_id']; $houseLog['type'] = Model_Log_HouseLogNew::TYPE_COMMUNITY_AREA_CHANGE_EX; $houseLog['changeType'] = Const_ProPlanChangeType::COMMUNITY_AREA_CHANGE_EX; $houseLog['remark'] = $remark; $houseLog['addDate'] = date('Y-m-d H:i:s'); $houseLog['operatorId'] = 0; $houseLog['siteType'] = 2; if (!Model_Log_HouseLogNew::create($houseLog, date('Ymd'))->save()) { $rtn[] = sprintf('板块变更房源[%d]日志写入失败', $choicePlaningInfo['proid']); continue; } $rtn[] = sprintf('板块变更房源[%d]日志写入成功', $choicePlaningInfo['proid']); } return static::buildReturn(self::PROCESS_STATUS_SUCCESS, sprintf('好租区域板块变更,%s', implode(',', $rtn))); }