Example #1
0
 /**
  * @param int $cityData 城市信息
  * 
  * @return int $newCity
  */
 public function districtProcess($cityData)
 {
     $mUser = new UserBaseInfo();
     $mDistrict = new District();
     $mDistrictOld = new DistrictOld();
     if ($cityData && is_array($cityData)) {
         foreach ($cityData as $key => $value) {
             $city = $value;
             $districtData = $mDistrictOld->getByCityId($city);
             if (isset($districtData['name']) && $districtData['name']) {
                 $count = $mDistrict->getByCityName($districtData['name'], true);
                 if ($count == 0) {
                     $newCity = '-1';
                     FileLogger::getInstance('district_abnormity.log')->writeOne($districtData['name'], Logger::LEVEL_ERROR, '区域异常日志');
                 } else {
                     if ($count == 1) {
                         $newData = $mDistrict->getByCityName($districtData['name']);
                         //判断是否是直辖市
                         $isCharteredCities = $this->isCharteredCities($newData['id']);
                         $newCity = $isCharteredCities ? $newData['upid'] : $newData['id'];
                     } else {
                         $data = $mDistrictOld->getByCityId($districtData['upid']);
                         $newData = $mDistrict->getByCityName($data['name']);
                         $upid = $newData['id'];
                         $data = $mDistrict->getCitys($upid, $districtData['name']);
                         //判断是否是直辖市
                         $isCharteredCities = $this->isCharteredCities($data['id']);
                         $newCity = $isCharteredCities ? $data['upid'] : $data['id'];
                     }
                 }
                 $result[$city] = $newCity;
             }
         }
         return $result;
     }
 }