get(SSDBTask::class); $kvs = []; foreach ($params as $key => $value) { $kvs[] = $key; $kvs[] = $value; } if(false === $ssdb->exec('multi_hset', SsdbKeysPrefix::PARAMS_TOKEN.$token, $kvs)) { $this->log->event( LogLabel::SSDB_LOG, ['method' => 'multi_hset', 'key' => SsdbKeysPrefix::PARAMS_TOKEN.$token, 'kvs' => $kvs] ); throw new SsdbException(ErrorCode::SSDB_ERROR, 'token生成失败'); } return $token; } /** * 解析token获取对应数据参数 * @param $token */ public function analyze($token) { $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $params = $ssdb->exec('hgetall', SsdbKeysPrefix::PARAMS_TOKEN.$token); if (false === $params) { $this->log->event( LogLabel::SSDB_LOG, ['method' => 'hgetall', 'key' => SsdbKeysPrefix::PARAMS_TOKEN.$token, 'params' => $params] ); throw new SsdbException(ErrorCode::SSDB_ERROR, 'token解析失败'); } if (empty($params)) { $this->log->event( LogLabel::SSDB_LOG, ['method' => 'hgetall', 'key' => SsdbKeysPrefix::PARAMS_TOKEN.$token, 'params' => $params] ); throw new SsdbException(ErrorCode::SSDB_ERROR, 'token不存在'); } return $params; } }