/** * 维护分表统一自增字段 * * @param Mixed $code * @return 获取的可插入DB的ID */ public static function getAutoId($code) { self::clearError(); if (empty($code) || !is_numeric($code)) { self::$errCode = 5001; self::$errMsg = 'autoid code err'; return false; } $autoIdSvr = Config::getIP('autoId'); if ($autoIdSvr === false) { self::$errCode = Config::$errCode; self::$errMsg = Config::$errMsg; return false; } $bag = array('code' => intval($code)); $bag = self::wrap($bag); $rev = self::tcpPHPCmd($autoIdSvr['IP'], $autoIdSvr['PORT'], $bag); if ($rev === false) { self::$errCode = self::$errCode; self::$errMsg = self::$errMsg; return false; } $rev = self::unwrap($rev); if (!is_array($rev)) { self::$errCode = 5002; self::$errMsg = 'server returns errno ' . $rev; return false; } if (!isset($rev['value'])) { self::$errCode = 5003; self::$errMsg = 'server returns no value'; return false; } return intval($rev['value']); }