From e14bde91298d4497fc60ed64c16d14f63d8d6935 Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 27 Mar 2023 16:22:31 +0800 Subject: [PATCH] =?UTF-8?q?[2.15.0]=20=E5=8D=87=E7=BA=A7=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=93=BE=E8=B7=AF=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/MoGoUpgradeProviderImpl.kt | 174 ++++++++++++++++-- 1 file changed, 156 insertions(+), 18 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt index cf731d2385..ce73bac8de 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt @@ -4,6 +4,8 @@ import android.content.* import android.content.pm.PackageInstaller import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.data.deva.chain.* +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion import com.mogo.eagle.core.function.api.upgrade.* import com.mogo.eagle.core.utilcode.util.* import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.UpgradeDbHelper @@ -14,6 +16,8 @@ import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.vo.InstallRecor import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.vo.UpgradeRecord.Type import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.vo.UpgradeRecord.Type.FULL import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.vo.UpgradeRecord.Type.PATCH +import com.zhjt.service.chain.* +import com.zhjt.service.chain.TracingConstants.Endpoint import java.util.TreeMap @Route(path = MogoServicePaths.PATH_UPGRADE_TYPE_API) @@ -22,79 +26,192 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { override fun init(context: Context?) {} override suspend fun recordUpgradeRecord(sn: String, mac: String, type: String?) { - UpgradeDbHelper.insertRecord(Record(AppUtils.getAppVersionName(), sn, mac, type, time = System.currentTimeMillis())) + val record = Record(AppUtils.getAppVersionName(), sn, mac, type, time = System.currentTimeMillis()) + UpgradeDbHelper.insertRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordUpgradeRequestStart() { - UpgradeDbHelper.insertCheckRecord(CheckRecord(AppUtils.getAppVersionName(), START, time = System.currentTimeMillis())) + val record = CheckRecord(AppUtils.getAppVersionName(), START, time = System.currentTimeMillis()) + UpgradeDbHelper.insertCheckRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_request_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordUpgradeRequestSuccess(response: String) { - UpgradeDbHelper.insertCheckRecord(CheckRecord(AppUtils.getAppVersionName(), SUCCESS, response, time = System.currentTimeMillis())) + val record = CheckRecord(AppUtils.getAppVersionName(), SUCCESS, response, time = System.currentTimeMillis()) + UpgradeDbHelper.insertCheckRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_request_success" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordUpgradeRequestFailed(error: String) { UpgradeDbHelper.insertCheckRecord(CheckRecord(AppUtils.getAppVersionName(), FAIL, error, time = System.currentTimeMillis())) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_request_failed" to error)) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordUpgradeRecord(newVersionName: String, newMd5: String?, type: Int) { - UpgradeDbHelper.insertUpgradeRecord(UpgradeRecord(fromVersionName = AppUtils.getAppVersionName(), toVersionName = newVersionName, fromMd5 = AppUtils.getAppApkMd5(), toMD5 = newMd5, type = getType(type), time = System.currentTimeMillis())) + val record = UpgradeRecord(fromVersionName = AppUtils.getAppVersionName(), toVersionName = newVersionName, fromMd5 = AppUtils.getAppApkMd5(), toMD5 = newMd5, type = getType(type), time = System.currentTimeMillis()) + UpgradeDbHelper.insertUpgradeRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_record" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordDownloadStart(downloadUrl: String) { - UpgradeDbHelper.insertDownloadRecord(DownloadRecord(versionName = AppUtils.getAppVersionName(), status = DownloadStart, downloadUrl = downloadUrl, time = System.currentTimeMillis())) + val record = DownloadRecord(versionName = AppUtils.getAppVersionName(), status = DownloadStart, downloadUrl = downloadUrl, time = System.currentTimeMillis()) + UpgradeDbHelper.insertDownloadRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_download_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordDownloadFailed(downloadUrl: String, error: String) { - UpgradeDbHelper.insertDownloadRecord(DownloadRecord(versionName = AppUtils.getAppVersionName(), status = DownloadFailed, failReason = error, downloadUrl = downloadUrl, time = System.currentTimeMillis())) + val record = DownloadRecord(versionName = AppUtils.getAppVersionName(), status = DownloadFailed, failReason = error, downloadUrl = downloadUrl, time = System.currentTimeMillis()) + UpgradeDbHelper.insertDownloadRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_download_failed" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordDownloadSuccess(downloadUrl: String) { - UpgradeDbHelper.insertDownloadRecord(DownloadRecord(versionName = AppUtils.getAppVersionName(), status = DownloadComplete, downloadUrl = downloadUrl, time = System.currentTimeMillis())) + val record = DownloadRecord(versionName = AppUtils.getAppVersionName(), status = DownloadComplete, downloadUrl = downloadUrl, time = System.currentTimeMillis()) + UpgradeDbHelper.insertDownloadRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_download_success" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordInstallStart() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = InstallStart, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = InstallStart, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_install_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordSourceMd5CheckStart() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = SourceMd5CheckStart, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = SourceMd5CheckStart, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_check_source_md5_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordSourceMd5CheckFailed(error: String) { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = SourceMd5CheckFailed, failReason = error, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = SourceMd5CheckFailed, failReason = error, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_check_source_md5_failed" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordSourceMd5CheckSuccess() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = SourceMd5CheckSuccess, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = SourceMd5CheckSuccess, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_check_source_md5_success" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordInstallApplyPatchStart() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = ApplyPatchStart, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = ApplyPatchStart, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_apply_patch_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordInstallApplyPatchFailed(error: String) { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = ApplyPatchFailed, failReason = error, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = ApplyPatchFailed, failReason = error, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_apply_patch_failed" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordInstallApplyPatchSuccess() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = ApplyPatchSuccess, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = ApplyPatchSuccess, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_apply_patch_success" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordTargetMd5CheckStart() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = TargetMd5CheckStart, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = TargetMd5CheckStart, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_check_target_md5_start" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordTargetMd5CheckFailed(error: String) { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = TargetMd5CheckFailed, failReason = error, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = TargetMd5CheckFailed, failReason = error, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_check_target_md5_failed" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordTargetMd5CheckSuccess() { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = TargetMd5CheckSuccess, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = TargetMd5CheckSuccess, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_check_target_md5_success" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun recordInstallFailed(code: Int, error: String) { - UpgradeDbHelper.insertInstallRecord(InstallRecord(version = AppUtils.getAppVersionName(), status = InstallFailed, code = code, failReason = error, time = System.currentTimeMillis())) + val record = InstallRecord(version = AppUtils.getAppVersionName(), status = InstallFailed, code = code, failReason = error, time = System.currentTimeMillis()) + UpgradeDbHelper.insertInstallRecord(record) + try { + onUpgradeRecordLinkLog(mapOf("upgrade_install_failed" to GsonUtils.toJson(record))) + } catch (t: Throwable) { + t.printStackTrace() + } } override suspend fun getUpgradeRecords(): Map>>? { @@ -118,6 +235,11 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { itx["step_2"] = all.upgrades?.mapIndexed { index, r -> "$index" to GsonUtils.toJson(r) } ?: emptyList() itx["step_3"] = all.downloads?.sortedBy { it.status.ordinal }?.mapIndexed { index, r -> "$index" to GsonUtils.toJson(r) } ?: emptyList() itx["step_4"] = all.installs?.let { ArrayList(it) + InstallRecord(success.versionName, InstallSuccess, 0) }?.sortedBy { it.status.ordinal }?.mapIndexed { index, r -> "$index" to GsonUtils.toJson(r) } ?: emptyList() + try { + onUpgradeRecordLinkLog(mapOf("upgrade_success" to GsonUtils.toJson(all))) + } catch (t: Throwable) { + t.printStackTrace() + } return@also } } @@ -129,6 +251,11 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { itx["step_2"] = all.upgrades?.mapIndexed { index, r -> "$index" to GsonUtils.toJson(r) } ?: emptyList() itx["step_3"] = all.downloads?.sortedBy { it.status.ordinal }?.mapIndexed { index, r -> "$index" to GsonUtils.toJson(r) } ?: emptyList() itx["step_4"] = all.installs?.sortedBy { it.status.ordinal }?.mapIndexed { index, r -> "$index" to GsonUtils.toJson(r) } ?: emptyList() + try { + onUpgradeRecordLinkLog(mapOf("upgrade_failed" to GsonUtils.toJson(all))) + } catch (t: Throwable) { + t.printStackTrace() + } } } } @@ -153,4 +280,15 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { } private fun getType(type: Int): Type = if (type == 0) FULL else PATCH + + + @ChainLog( + linkChainLog = ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = ChainConstant.CHAIN_LINK_CLOUD, + endpoint = Endpoint.PAD, + nodeAliasCode = ChainConstant.CHAIN_ALIAS_CODE_CLOUD_PASSPORT_TOKEN, + paramIndexes = [0], + clientPkFileName = "sn" + ) + private fun onUpgradeRecordLinkLog(extra: Map) {} } \ No newline at end of file