@@ -187,51 +187,70 @@ public ArrayList<NameValuePair> getOldInfo(String username, String password) {
187
187
*/
188
188
public StatusCode submit (String username , String password ) {
189
189
StatusCode statusCode = new StatusCode ();
190
- LogUtils .printMessage ("准备提交打卡 " + username );
191
- ArrayList <NameValuePair > info = getOldInfo (username , password );
192
- if (info ==null ) {
193
- LogUtils .printMessage ("打卡信息获取失败" , LogUtils .Level .ERROR );
194
- statusCode .setMessage (username +"的打卡信息获取失败,可能是打卡更新了或网络不稳定,请查看后台打卡日志输出" );
195
- statusCode .setStatus (-1 );
196
- return statusCode ;
197
- }
198
- String area = null ;
199
- for (NameValuePair pair : info ) {
200
- if (pair .getName ().equals ("area" )) {
201
- area = pair .getValue ();
202
- break ;
190
+ try {
191
+ LogUtils .printMessage ("准备提交打卡 " + username );
192
+ ArrayList <NameValuePair > info = getOldInfo (username , password );
193
+ if (info ==null ) {
194
+ LogUtils .printMessage ("打卡信息获取失败" , LogUtils .Level .ERROR );
195
+ statusCode .setMessage (username +"的打卡信息获取失败,可能是打卡更新了或网络不稳定,请查看后台打卡日志输出" );
196
+ statusCode .setStatus (-1 );
197
+ return statusCode ;
198
+ }
199
+ String area = null ;
200
+ for (NameValuePair pair : info ) {
201
+ if (pair .getName ().equals ("area" )) {
202
+ area = pair .getValue ();
203
+ break ;
204
+ }
205
+ }
206
+
207
+ JSONObject resp ;
208
+ try {
209
+ resp = JSONObject .parseObject (client .doPostText (submitUrl , info ));
210
+ } catch (Exception e ) {
211
+ resp = new JSONObject ();
212
+ resp .put ("e" , 3 );
213
+ resp .put ("m" , "打卡提交失败" );
203
214
}
204
- }
205
- JSONObject resp = JSONObject .parseObject (client .doPostText (submitUrl , info ));
206
- int status = resp .getIntValue ("e" );
207
- LogUtils .Level level = null ;
208
- switch (status ) {
209
- case 0 :{level = LogUtils .Level .INFO ;break ;}
210
- case 1 :{level = LogUtils .Level .ERROR ;break ;}
211
- }
212
- JSONObject userInfo = client .getUserInfo ();
213
- String message = String .format ("%s,你好,今日自动健康打卡状态:%s,打卡地区为:%s(如若区域不符,请次日手动打卡更改地址)" ,
214
- userInfo ==null ? username : userInfo .getString ("userName" ),
215
- resp .getString ("m" ),
216
- area );
217
- statusCode .setStatus (status );
218
- statusCode .setMessage (message );
219
215
220
- if (appConfig .isEnablePreview ()) {
221
- JSONObject jsonMessage = new JSONObject ();
222
- jsonMessage .put ("id" , username );
223
- jsonMessage .put ("name" , userInfo ==null ? username : userInfo .getString ("userName" ));
224
- jsonMessage .put ("message" , message );
225
- Optional <String > photo = Optional .ofNullable (client .getUserPhoto ());
226
- photo .ifPresent ((String p )->{
227
- p = ImageUtils .toBase64 (ImageUtils .resize (ImageUtils .toImage (p ), 75 , 100 ), "gif" );
228
- jsonMessage .put ("photo" , "data:image/gif;base64," +p );
229
- });
230
- statusCode .setJsonMessage (jsonMessage );
216
+ int status = resp .getIntValue ("e" );
217
+ LogUtils .Level level = null ;
218
+ switch (status ) {
219
+ case 0 :{level = LogUtils .Level .INFO ;break ;}
220
+ case 1 :{level = LogUtils .Level .ERROR ;break ;}
221
+ default : {
222
+ level = LogUtils .Level .ERROR ;
223
+ }
224
+ }
225
+ JSONObject userInfo = client .getUserInfo ();
226
+ String message = String .format ("%s,你好,今日自动健康打卡状态:%s,打卡地区为:%s(如若区域不符,请次日手动打卡更改地址)" ,
227
+ userInfo == null || userInfo .getString ("userName" ) == null ? username : userInfo .getString ("userName" ),
228
+ resp .getString ("m" ),
229
+ area );
230
+ statusCode .setStatus (status );
231
+ statusCode .setMessage (message );
232
+
233
+ if (appConfig .isEnablePreview ()) {
234
+ JSONObject jsonMessage = new JSONObject ();
235
+ jsonMessage .put ("id" , username );
236
+ jsonMessage .put ("name" , userInfo ==null ? username : userInfo .getString ("userName" ));
237
+ jsonMessage .put ("message" , message );
238
+ Optional <String > photo = Optional .ofNullable (client .getUserPhoto ());
239
+ photo .ifPresent ((String p )->{
240
+ p = ImageUtils .toBase64 (ImageUtils .resize (ImageUtils .toImage (p ), 75 , 100 ), "gif" );
241
+ jsonMessage .put ("photo" , "data:image/gif;base64," +p );
242
+ });
243
+ statusCode .setJsonMessage (jsonMessage );
244
+ }
245
+
246
+ LogUtils .printMessage (resp .getString ("m" ), level );
247
+ LogUtils .printMessage ("地点:" +area );
248
+ } catch (Exception e ) {
249
+ statusCode .setStatus (10 );
250
+ statusCode .setMessage (username + "发生未知打卡异常,请查看打卡日志" );
251
+ LogUtils .printMessage (null , e , LogUtils .Level .ERROR );
231
252
}
232
253
233
- LogUtils .printMessage (resp .getString ("m" ), level );
234
- LogUtils .printMessage ("地点:" +area );
235
254
return statusCode ;
236
255
}
237
256
@ Override
0 commit comments