예제 #1
0
 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;
     }
 }
예제 #2
0
 /**
  * 根据板块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)));
 }