Example #1
0
 /**
  * TransOpenApiAct::act_getPartition()
  * 获取运输方式渠道分区列表并存入memcache
  * @param int $carrierId 运输方式ID(选填)
  * @param int $is_new 是否强制更新(默认0不强制)
  * @param string $countryName 国家名(选填)
  * @return  array
  */
 public function act_getPartition()
 {
     $carrierId = isset($_REQUEST['carrierId']) ? $_REQUEST['carrierId'] : 0;
     $is_new = isset($_REQUEST['is_new']) ? $_REQUEST['is_new'] : 0;
     if (!in_array($is_new, array(0, 1))) {
         self::$errCode = 10001;
         self::$errMsg = '强制更新参数有误!';
         return false;
     }
     if ($carrierId == "all") {
         $carrierId = 0;
     } else {
         $carrierId = abs(intval($carrierId));
     }
     if (!is_numeric($carrierId)) {
         self::$errCode = 10000;
         self::$errMsg = '运输方式参数ID错误';
         return false;
     }
     $countryName = isset($_REQUEST['countryName']) ? post_check($_REQUEST['countryName']) : '';
     $cacheName = md5("trans_partition_list_" . $carrierId . $countryName);
     $memc_obj = new Cache(C('CACHEGROUP'));
     $partitionInfo = $memc_obj->get_extral($cacheName);
     if (!empty($partitionInfo) && empty($is_new)) {
         return unserialize($partitionInfo);
     } else {
         $partitionInfo = TransOpenApiModel::getPartition($carrierId, $countryName);
         $isok = $memc_obj->set_extral($cacheName, serialize($partitionInfo));
         if (!$isok) {
             self::$errCode = 10001;
             self::$errMsg = 'memcache缓存出错!';
             //return false;
         }
         return $partitionInfo;
     }
 }