@@ -102,6 +102,7 @@ public static File openSubmission(Submission submission, String titleSlug, Proje
102102 sb .append (codeTypeEnum .getComment ()).append ("input_formatted:" ).append (submissionData .getString ("input_formatted" )).append ("\n " );
103103 sb .append (codeTypeEnum .getComment ()).append ("expected_output:" ).append (submissionData .getString ("expected_output" )).append ("\n " );
104104 sb .append (codeTypeEnum .getComment ()).append ("code_output:" ).append (submissionData .getString ("code_output" )).append ("\n " );
105+ sb .append (codeTypeEnum .getComment ()).append ("last_testcase:" ).append (submissionData .getString ("last_testcase" )).append ("\n " );
105106 } else if ("Runtime Error" .equals (submission .getStatus ())) {
106107 sb .append (codeTypeEnum .getComment ()).append ("runtime_error:" ).append (submissionData .getString ("runtime_error" )).append ("\n " );
107108 sb .append (codeTypeEnum .getComment ()).append ("last_testcase:" ).append (submissionData .getString ("last_testcase" ).replaceAll ("(\\ r|\\ r\\ n|\\ n\\ r|\\ n)" , " " )).append ("\n " );
@@ -137,21 +138,30 @@ public static File openSubmission(Submission submission, String titleSlug, Proje
137138 }
138139
139140 private static JSONObject loadSubmissionEn (Submission submission , Project project ) {
140- HttpResponse response = HttpRequest . builderGet ( URLUtils . getLeetcodeSubmissions () + submission .getId () + "/" ).request ();
141+ HttpResponse response = Graphql . builder (). operationName ( "submissionDetail" , "submissionDetails" ). variables ( "id" , submission .getId ()).request ();
141142 if (response .getStatusCode () == 200 ) {
142- String html = response .getBody ();
143- String body = CommentUtils .createSubmissions (html );
144- if (StringUtils .isBlank (body )) {
145- LogUtils .LOG .error (html );
146- MessageUtils .getInstance (project ).showWarnMsg ("error" , PropertiesUtils .getInfo ("submission.parse" ));
147- } else {
148- try {
149- JSONObject jsonObject = JSONObject .parseObject (body );
150- return jsonObject ;
151- } catch (Exception e ) {
152- LogUtils .LOG .error (body , e );
153- MessageUtils .getInstance (project ).showWarnMsg ("error" , PropertiesUtils .getInfo ("submission.parse" ));
154- }
143+ String body = response .getBody ();
144+ if (StringUtils .isNotBlank (body )) {
145+ JSONObject jsonObject = new JSONObject ();
146+ JSONObject enObject = JSONObject .parseObject (body ).getJSONObject ("data" ).getJSONObject ("submissionDetails" );
147+
148+ jsonObject .put ("submissionCode" , enObject .getString ("code" ));
149+
150+ JSONObject submissionData = new JSONObject ();
151+ submissionData .put ("runtime" , enObject .getString ("runtimeDisplay" ));
152+ submissionData .put ("memory" , enObject .getString ("memoryDisplay" ));
153+ submissionData .put ("total_testcases" , "" );
154+ submissionData .put ("total_correct" , "" );
155+ submissionData .put ("input_formatted" , "" );
156+ submissionData .put ("expected_output" , "" );
157+ submissionData .put ("code_output" , "" );
158+ submissionData .put ("runtime_error" , enObject .getString ("runtimeError" ));
159+ submissionData .put ("last_testcase" , enObject .getString ("lastTestcase" ));
160+ submissionData .put ("compile_error" , enObject .getString ("compileError" ));
161+ jsonObject .put ("submissionData" , submissionData );
162+
163+ return jsonObject ;
164+
155165 }
156166 } else {
157167 MessageUtils .getInstance (project ).showWarnMsg ("error" , PropertiesUtils .getInfo ("request.failed" ));
@@ -161,7 +171,7 @@ private static JSONObject loadSubmissionEn(Submission submission, Project projec
161171
162172 private static JSONObject loadSubmissionCn (Submission submission , Project project ) {
163173 HttpResponse response = Graphql .builder ().cn (URLUtils .isCn ()).operationName ("submissionDetail" ).variables ("id" , submission .getId ()).request ();
164- if (response != null && response .getStatusCode () == 200 ) {
174+ if (response .getStatusCode () == 200 ) {
165175 String body = response .getBody ();
166176 if (StringUtils .isNotBlank (body )) {
167177 JSONObject jsonObject = new JSONObject ();
0 commit comments