优化:日志增加一个中间状态 & 记录接口请求重试日志

This commit is contained in:
pppscn 2021-12-07 17:13:12 +08:00
parent cdeed5cfc3
commit 82e279e34d
15 changed files with 185 additions and 171 deletions

View File

@ -45,9 +45,17 @@ public class LogVo {
public int getStatusImageId() {
if (this.forwardStatus == 1) {
return R.drawable.ic_round_warning;
} else if (this.forwardStatus == 2) {
return R.drawable.ic_round_check;
}
return R.drawable.ic_round_cancel;
}
public String getForwardResponse() {
if (this.forwardStatus == 1) return "处理中...";
return forwardResponse;
}
}

View File

@ -82,7 +82,7 @@ public class SenderBarkMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"message\":\"success\"")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -120,7 +120,7 @@ public class SenderDingdingMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"errcode\":0")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -101,7 +101,7 @@ public class SenderFeishuMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"StatusCode\":0")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -47,7 +47,7 @@ public class SenderMailMsg extends SenderBaseMsg {
.send(draft, new EmailKit.GetSendCallback() {
@Override
public void onSuccess() {
LogUtil.updateLog(logId, 1, "发送成功");
LogUtil.updateLog(logId, 2, "发送成功");
Toast(handError, TAG, "发送成功");
}

View File

@ -106,7 +106,7 @@ public class SenderPushPlusMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"code\":200")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -197,7 +197,7 @@ public class SenderQyWxAppMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"errcode\":0")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -77,7 +77,7 @@ public class SenderQyWxGroupRobotMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"errcode\":0")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -68,7 +68,7 @@ public class SenderServerChanMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"code\":0")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -20,7 +20,7 @@ public class SenderSmsMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (res == null) {
LogUtil.updateLog(logId, 1, "发送成功");
LogUtil.updateLog(logId, 2, "发送成功");
} else {
LogUtil.updateLog(logId, 0, res);
Toast(handError, TAG, "短信发送失败");

View File

@ -83,7 +83,7 @@ public class SenderTelegramMsg extends SenderBaseMsg {
//TODO:粗略解析是否发送成功
if (responseStr.contains("\"ok\":true")) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -121,7 +121,7 @@ public class SenderWebNotifyMsg extends SenderBaseMsg {
//返回http状态200即为成功
if (200 == response.code()) {
LogUtil.updateLog(logId, 1, responseStr);
LogUtil.updateLog(logId, 2, responseStr);
} else {
LogUtil.updateLog(logId, 0, responseStr);
}

View File

@ -16,7 +16,7 @@ import java.util.List;
public class DbHelper extends SQLiteOpenHelper {
// If you change the database schema, you must increment the database version.
public static final String TAG = "DbHelper";
public static final int DATABASE_VERSION = 7;
public static final int DATABASE_VERSION = 8;
public static final String DATABASE_NAME = "sms_forwarder.db";
private static final List<String> SQL_CREATE_ENTRIES =
@ -109,6 +109,10 @@ public class DbHelper extends SQLiteOpenHelper {
String sql = "Alter table " + RuleTable.RuleEntry.TABLE_NAME + " add column " + RuleTable.RuleEntry.COLUMN_REGEX_REPLACE + " TEXT NOT NULL DEFAULT '' ";
db.execSQL(sql);
}
if (oldVersion < 8) { //更新日志表状态0=失败1=待处理2=成功
String sql = "update " + LogTable.LogEntry.TABLE_NAME + " set " + LogTable.LogEntry.COLUMN_NAME_FORWARD_STATUS + " = 2 where " + LogTable.LogEntry.COLUMN_NAME_FORWARD_STATUS + " = 1 ";
db.execSQL(sql);
}
}
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {

View File

@ -86,20 +86,17 @@ public class LogUtil {
}
public static int updateLog(Long id, int forward_status, String forward_response) {
if (id == null || id <= 0) return 0;
String selection = LogTable.LogEntry._ID + " = ? ";
List<String> selectionArgList = new ArrayList<>();
selectionArgList.add(String.valueOf(id));
ContentValues values = new ContentValues();
values.put(LogTable.LogEntry.COLUMN_NAME_FORWARD_STATUS, forward_status);
values.put(LogTable.LogEntry.COLUMN_NAME_FORWARD_RESPONSE, forward_response);
String[] selectionArgs = selectionArgList.toArray(new String[0]);
return db.update(LogTable.LogEntry.TABLE_NAME, values, selection, selectionArgs);
public static void updateLog(Long id, int forward_status, String forward_response) {
if (id == null || id <= 0) return;
String sql = new StringBuilder().append("UPDATE ").append(LogTable.LogEntry.TABLE_NAME)
.append(" SET ").append(LogTable.LogEntry.COLUMN_NAME_FORWARD_STATUS).append(" = ? , ")
.append(LogTable.LogEntry.COLUMN_NAME_FORWARD_RESPONSE)
.append(" = CASE WHEN ").append(LogTable.LogEntry.COLUMN_NAME_FORWARD_STATUS).append(" = 1 THEN ? ELSE ")
.append(LogTable.LogEntry.COLUMN_NAME_FORWARD_RESPONSE).append(" || '\n ---------- \n' || ? END ")
.append(" WHERE ").append(LogTable.LogEntry._ID).append(" = ? ")
.toString();
db.execSQL(sql, new Object[]{forward_status, forward_response, forward_response, id});
}
public static List<LogVo> getLog(Long id, String key, String type) {

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFCC00"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
</vector>