Commit ffba558f authored by fallenstardust's avatar fallenstardust

将本地卡组名和在线卡组名比较时都移除.ydk

parent fb3801d7
...@@ -551,37 +551,26 @@ public class DeckSquareApiUtil { ...@@ -551,37 +551,26 @@ public class DeckSquareApiUtil {
for (MyOnlineDeckDetail onlineDeck : onlineDecks) { for (MyOnlineDeckDetail onlineDeck : onlineDecks) {
onlineDeckProcessed.put(onlineDeck.getDeckName(), false); onlineDeckProcessed.put(onlineDeck.getDeckName(), false);
} }
// 用于标记本地卡组是否在在线有对应
/* Map<String, Boolean> localDeckProcessed = new HashMap<>();
for (MyDeckItem localDeck : localDecks) {
String deckName = localDeck.getDeckName().replace(Constants.YDK_FILE_EX, "");
localDeckProcessed.put(deckName, false);
}*/
List<MyDeckItem> syncUploadDecks = new ArrayList<>(); List<MyDeckItem> syncUploadDecks = new ArrayList<>();
List<MyDeckItem> newPushDecks = new ArrayList<>(); List<MyDeckItem> newPushDecks = new ArrayList<>();
// 遍历本地卡组,处理同名卡组的情况 // 遍历本地卡组,处理同名卡组的情况
for (MyDeckItem localDeck : localDecks) { for (MyDeckItem localDeck : localDecks) {
boolean foundOnlineDeck = false; boolean foundOnlineDeck = false;
String localDeckName = localDeck.getDeckName().replace(Constants.YDK_FILE_EX, "");
String localDeckName = localDeck.getDeckName();
for (MyOnlineDeckDetail onlineDeck : onlineDecks) { for (MyOnlineDeckDetail onlineDeck : onlineDecks) {
String onLineDeckName = onlineDeck.getDeckName().replace(Constants.YDK_FILE_EX, "");
if (localDeckName.equals(onlineDeck.getDeckName())) { if (localDeckName.equals(onLineDeckName)) {
// 标记该在线卡组已处理 // 标记该在线卡组已处理
onlineDeckProcessed.put(onlineDeck.getDeckName(), true); onlineDeckProcessed.put(onLineDeckName, true);
// 标记该本地卡组已处理 // 标记该本地卡组已处理
foundOnlineDeck = true; foundOnlineDeck = true;
// 比对更新时间 // 比对更新时间
long localUpdateDate = localDeck.getUpdateTimestamp(); long localUpdateDate = localDeck.getUpdateTimestamp();
long onlineUpdateDate = DeckSquareFileUtil.convertToUnixTimestamp(onlineDeck.getDeckUpdateDate());//todo 这里应该把2025-05-19T06:11:17转成毫秒,onlineDeck.getDeckUpdateDate(); long onlineUpdateDate = DeckSquareFileUtil.convertToUnixTimestamp(onlineDeck.getDeckUpdateDate());//todo 这里应该把2025-05-19T06:11:17转成毫秒,onlineDeck.getDeckUpdateDate();
LogUtil.d("seesee 本地和在线时间差",String.valueOf(localUpdateDate - onlineUpdateDate));
if (onlineUpdateDate > localUpdateDate) { if (onlineUpdateDate > localUpdateDate) {
// 在线卡组更新时间更晚,下载在线卡组覆盖本地卡组 // 在线卡组更新时间更晚,下载在线卡组覆盖本地卡组
LogUtil.w(TAG, "sync-download deck: " + localDeck.getDeckName()); LogUtil.w(TAG, "sync-download deck: " + localDeck.getDeckPath());
autoSyncResult.syncDownload.add(localDeck); autoSyncResult.syncDownload.add(localDeck);
downloadOnlineDeck(onlineDeck, localDeck.getDeckPath(), onlineUpdateDate); downloadOnlineDeck(onlineDeck, localDeck.getDeckPath(), onlineUpdateDate);
//} else if (onlineUpdateDate == localUpdateDate) { //} else if (onlineUpdateDate == localUpdateDate) {
...@@ -621,8 +610,8 @@ public class DeckSquareApiUtil { ...@@ -621,8 +610,8 @@ public class DeckSquareApiUtil {
// 处理只存在于在线的卡组(即本地没有同名卡组) // 处理只存在于在线的卡组(即本地没有同名卡组)
for (MyOnlineDeckDetail onlineDeck : onlineDecks) { for (MyOnlineDeckDetail onlineDeck : onlineDecks) {
if (!onlineDeckProcessed.get(onlineDeck.getDeckName())) { String onLineDeckName = onlineDeck.getDeckName().replace(Constants.YDK_FILE_EX, "");
if (!onlineDeckProcessed.get(onLineDeckName)) {
autoSyncResult.newDownload.add(onlineDeck); autoSyncResult.newDownload.add(onlineDeck);
LogUtil.w(TAG, "sync-download new deck: " + onlineDeck.getDeckName()); LogUtil.w(TAG, "sync-download new deck: " + onlineDeck.getDeckName());
SyncMutliDeckResult.DownloadResult downloadResult = downloadMissingDeckToLocal(onlineDeck, DeckSquareFileUtil.convertToUnixTimestamp(onlineDeck.getDeckUpdateDate())); SyncMutliDeckResult.DownloadResult downloadResult = downloadMissingDeckToLocal(onlineDeck, DeckSquareFileUtil.convertToUnixTimestamp(onlineDeck.getDeckUpdateDate()));
...@@ -634,14 +623,7 @@ public class DeckSquareApiUtil { ...@@ -634,14 +623,7 @@ public class DeckSquareApiUtil {
} }
// 内部类用于传递同步结果 private static SyncMutliDeckResult.DownloadResult downloadMissingDeckToLocal(MyOnlineDeckDetail onlineDeck, Long onlineUpdateDate) {
private static class SyncResult {
List<MyDeckItem> localDecks;
List<MyOnlineDeckDetail> onlineDecks;
}
private static SyncMutliDeckResult.DownloadResult downloadMissingDeckToLocal
(MyOnlineDeckDetail onlineDeck, Long onlineUpdateDate) {
try { try {
// 根据卡组ID查询在线卡组详情 // 根据卡组ID查询在线卡组详情
DownloadDeckResponse deckResponse = DeckSquareApiUtil.getDeckById(onlineDeck.getDeckId()); DownloadDeckResponse deckResponse = DeckSquareApiUtil.getDeckById(onlineDeck.getDeckId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment