@@ -102,6 +102,7 @@ public static File openSubmission(Submission submission, String titleSlug, Proje
102
102
sb .append (codeTypeEnum .getComment ()).append ("input_formatted:" ).append (submissionData .getString ("input_formatted" )).append ("\n " );
103
103
sb .append (codeTypeEnum .getComment ()).append ("expected_output:" ).append (submissionData .getString ("expected_output" )).append ("\n " );
104
104
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 " );
105
106
} else if ("Runtime Error" .equals (submission .getStatus ())) {
106
107
sb .append (codeTypeEnum .getComment ()).append ("runtime_error:" ).append (submissionData .getString ("runtime_error" )).append ("\n " );
107
108
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
137
138
}
138
139
139
140
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 ();
141
142
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
+
155
165
}
156
166
} else {
157
167
MessageUtils .getInstance (project ).showWarnMsg ("error" , PropertiesUtils .getInfo ("request.failed" ));
@@ -161,7 +171,7 @@ private static JSONObject loadSubmissionEn(Submission submission, Project projec
161
171
162
172
private static JSONObject loadSubmissionCn (Submission submission , Project project ) {
163
173
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 ) {
165
175
String body = response .getBody ();
166
176
if (StringUtils .isNotBlank (body )) {
167
177
JSONObject jsonObject = new JSONObject ();
0 commit comments