Commit 37d157cd authored by fallenstardust's avatar fallenstardust

上传本地卡组时,将在线卡组的deckid直接存入ydk文件中,以免重复申请导致在线备份重复增加

parent 15628f06
package cn.garymb.ygomobile.ui.cards.deck_square; package cn.garymb.ygomobile.ui.cards.deck_square;
import static cn.garymb.ygomobile.ui.cards.deck_square.DeckSquareFileUtil.saveFile;
import static cn.garymb.ygomobile.ui.cards.deck_square.DeckSquareFileUtil.saveFileToPath;
import static cn.garymb.ygomobile.ui.cards.deck_square.DeckSquareFileUtil.toDeckItemList; import static cn.garymb.ygomobile.ui.cards.deck_square.DeckSquareFileUtil.toDeckItemList;
import android.widget.Toast; import android.widget.Toast;
...@@ -190,6 +192,7 @@ public class DeckSquareApiUtil { ...@@ -190,6 +192,7 @@ public class DeckSquareApiUtil {
for (int i = 0; i < deckDataList.size(); i++) { for (int i = 0; i < deckDataList.size(); i++) {
MyDeckItem myDeckItem = deckDataList.get(i); MyDeckItem myDeckItem = deckDataList.get(i);
String deckContent = DeckSquareFileUtil.setDeckId(myDeckItem.getDeckPath(), loginToken.getUserId(), deckIdList.get(i)); String deckContent = DeckSquareFileUtil.setDeckId(myDeckItem.getDeckPath(), loginToken.getUserId(), deckIdList.get(i));
saveFileToPath(myDeckItem.getDeckPath(), deckContent, myDeckItem.getUpdateTimestamp());//用于将新申请的deckid写入对应的本地卡组中,以免下次重复申请
PushMultiDeck.DeckData data = new PushMultiDeck.DeckData(); PushMultiDeck.DeckData data = new PushMultiDeck.DeckData();
data.setDeckYdk(deckContent); data.setDeckYdk(deckContent);
data.setDeckType(myDeckItem.getDeckType()); data.setDeckType(myDeckItem.getDeckType());
...@@ -255,7 +258,7 @@ public class DeckSquareApiUtil { ...@@ -255,7 +258,7 @@ public class DeckSquareApiUtil {
* @return * @return
* @throws IOException * @throws IOException
*/ */
public static PushMultiResponse syncMyDecks(List<MyDeckItem> deckItems, LoginToken loginToken) throws IOException { public static PushMultiResponse UploadMyDecks(List<MyDeckItem> deckItems, LoginToken loginToken) throws IOException {
if (deckItems == null || deckItems.isEmpty()) { if (deckItems == null || deckItems.isEmpty()) {
return null; return null;
} }
...@@ -274,6 +277,7 @@ public class DeckSquareApiUtil { ...@@ -274,6 +277,7 @@ public class DeckSquareApiUtil {
} else { } else {
deckContent = DeckSquareFileUtil.setDeckId(item.getDeckPath(), loginToken.getUserId(), item.getDeckId()); deckContent = DeckSquareFileUtil.setDeckId(item.getDeckPath(), loginToken.getUserId(), item.getDeckId());
saveFileToPath(item.getDeckPath(), deckContent, item.getUpdateTimestamp());// 用于将新申请的deckid写入对应的本地卡组中,方便同步时进行比较
} }
data.setDeckYdk(deckContent); data.setDeckYdk(deckContent);
LogUtil.w(TAG, "*要上传的* 本地卡组:" + data.getDeckType() + "、" + data.getDeckName() + "++id: " + data.getDeckId() + " " + data.isDelete()); LogUtil.w(TAG, "*要上传的* 本地卡组:" + data.getDeckType() + "、" + data.getDeckName() + "++id: " + data.getDeckId() + " " + data.isDelete());
...@@ -469,13 +473,15 @@ public class DeckSquareApiUtil { ...@@ -469,13 +473,15 @@ public class DeckSquareApiUtil {
// 上传本地卡组覆盖在线卡组 // 上传本地卡组覆盖在线卡组
LogUtil.w(TAG, "+同步的 本地卡组: " + syncUploadDecks.size()); LogUtil.w(TAG, "+同步的 本地卡组: " + syncUploadDecks.size());
syncMyDecks(syncUploadDecks, loginToken); if (!syncUploadDecks.isEmpty()) {
PushMultiResponse result = UploadMyDecks(syncUploadDecks, loginToken);
LogUtil.w(TAG, "本地已有卡组 上传结果数:" + result.getData());
}
// 剩余的本地卡组都是新增卡组(本地独有,需要上传) // 剩余的本地卡组都是新增卡组(本地独有,需要上传)
LogUtil.w(TAG, "+上传新增的 本地卡组: " + localDecks.size()); LogUtil.w(TAG, "+上传新增的 本地卡组: " + localDecks.size());
if (!localDecks.isEmpty()) { if (!localDecks.isEmpty()) {
PushMultiResponse result = requestIdAndPushNewDecks(localDecks, loginToken); PushMultiResponse result = requestIdAndPushNewDecks(localDecks, loginToken);
LogUtil.w(TAG, "上传结果数:" + result.getData()); LogUtil.w(TAG, "本地新增卡组 上传结果数:" + result.getData());
} }
// 剩余的在线卡组都是云端独有,需要下载 // 剩余的在线卡组都是云端独有,需要下载
...@@ -560,7 +566,7 @@ public class DeckSquareApiUtil { ...@@ -560,7 +566,7 @@ public class DeckSquareApiUtil {
} }
} }
syncMyDecks(toDeckItemList(originalData), loginToken); UploadMyDecks(toDeckItemList(originalData), loginToken);
return true; return true;
}).fail((e) -> { }).fail((e) -> {
LogUtil.e(TAG, "删除卡组失败!", e); LogUtil.e(TAG, "删除卡组失败!", e);
......
...@@ -195,7 +195,7 @@ public class DeckSquareMyDeckFragment extends Fragment { ...@@ -195,7 +195,7 @@ public class DeckSquareMyDeckFragment extends Fragment {
} }
}); });
/** 自动同步 */ /* 自动同步 */
VUiKit.defer().when(() -> { VUiKit.defer().when(() -> {
try { try {
DeckSquareApiUtil.synchronizeDecks(); DeckSquareApiUtil.synchronizeDecks();
......
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