Commit 3602d56b authored by Dark Zane's avatar Dark Zane Committed by GitHub

Merge branch 'fallenstardust:master' into YGOMOBILE-1

parents d1a66cda c9a904f3
...@@ -1331,14 +1331,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1331,14 +1331,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}).done((deckData) -> { }).done((deckData) -> {
if (deckData != null) { if (deckData != null) {
mDeckId = deckData.getDeckId(); mDeckId = deckData.getDeckId();
deckData.getDeckYdk(); LogUtil.i(TAG,deckData.toString());
String fileFullName = deckData.getDeckName() + YDK_FILE_EX; String fileFullName = deckData.getDeckName() + YDK_FILE_EX;
File dir = new File(getActivity().getApplicationInfo().dataDir, "cache"); File dir = new File(getActivity().getApplicationInfo().dataDir, "cache");
//将卡组存到cache缓存目录中 //将卡组存到cache缓存目录中
boolean result = DeckSquareFileUtil.saveFileToPath(dir.getPath(), fileFullName, deckData.getDeckYdk(), deckData.getDeckUpdateDate()); boolean result = DeckSquareFileUtil.saveFileToPath(dir.getPath(), fileFullName, deckData.getDeckYdk(), deckData.getDeckUpdateDate());
if (result) {//存储成功,使用预加载功能 if (result) {//存储成功,使用预加载功能
LogUtil.i(TAG, "square deck detail done"); LogUtil.i(TAG, "square deck detail done");
//File file = new File(dir, fileFullName);
preLoadFile(dir.getPath() + "/" + fileFullName); preLoadFile(dir.getPath() + "/" + fileFullName);
tv_add_1.setText(R.string.like_deck_thumb); tv_add_1.setText(R.string.like_deck_thumb);
ll_click_like.setVisibility(View.VISIBLE); ll_click_like.setVisibility(View.VISIBLE);
......
...@@ -35,9 +35,6 @@ import cn.garymb.ygomobile.AppsSettings; ...@@ -35,9 +35,6 @@ import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants; import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.bean.DeckType; import cn.garymb.ygomobile.bean.DeckType;
import cn.garymb.ygomobile.bean.events.DeckFile; import cn.garymb.ygomobile.bean.events.DeckFile;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.LoginToken;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyOnlineDeckDetail;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushSingleDeckResponse;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.lite.databinding.FragmentDeckSelectBinding; import cn.garymb.ygomobile.lite.databinding.FragmentDeckSelectBinding;
import cn.garymb.ygomobile.ui.adapters.DeckListAdapter; import cn.garymb.ygomobile.ui.adapters.DeckListAdapter;
...@@ -45,12 +42,9 @@ import cn.garymb.ygomobile.ui.adapters.SimpleListAdapter; ...@@ -45,12 +42,9 @@ import cn.garymb.ygomobile.ui.adapters.SimpleListAdapter;
import cn.garymb.ygomobile.ui.adapters.TextSelectAdapter; import cn.garymb.ygomobile.ui.adapters.TextSelectAdapter;
import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil; import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.utils.DeckUtil; import cn.garymb.ygomobile.utils.DeckUtil;
import cn.garymb.ygomobile.utils.FileUtils; import cn.garymb.ygomobile.utils.FileUtils;
import cn.garymb.ygomobile.utils.IOUtils; import cn.garymb.ygomobile.utils.IOUtils;
import cn.garymb.ygomobile.utils.LogUtil;
import cn.garymb.ygomobile.utils.SharedPreferenceUtil;
import cn.garymb.ygomobile.utils.YGODeckDialogUtil; import cn.garymb.ygomobile.utils.YGODeckDialogUtil;
import cn.garymb.ygomobile.utils.YGOUtil; import cn.garymb.ygomobile.utils.YGOUtil;
import cn.garymb.ygomobile.utils.recyclerview.DeckTypeTouchHelperCallback; import cn.garymb.ygomobile.utils.recyclerview.DeckTypeTouchHelperCallback;
......
package cn.garymb.ygomobile.ui.cards.deck_square; package cn.garymb.ygomobile.ui.cards.deck_square;
import static cn.garymb.ygomobile.Constants.CORE_DECK_PATH; import static cn.garymb.ygomobile.ui.cards.deck_square.DeckSquareFileUtil.toDeckItemList;
import android.widget.Toast; import android.widget.Toast;
import com.google.gson.Gson; import com.google.gson.Gson;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -16,12 +15,10 @@ import java.util.Map; ...@@ -16,12 +15,10 @@ import java.util.Map;
import cn.garymb.ygomobile.AppsSettings; import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants; import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.bean.DeckType;
import cn.garymb.ygomobile.bean.events.DeckFile; import cn.garymb.ygomobile.bean.events.DeckFile;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.cards.DeckManagerFragment; import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckIdResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckMultiIdResponse; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckMultiIdResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.DownloadDeckResponse; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.DownloadDeckResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.GetSquareDeckCondition; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.GetSquareDeckCondition;
...@@ -33,8 +30,6 @@ import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyOnlineDeckDetail; ...@@ -33,8 +30,6 @@ import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyOnlineDeckDetail;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushDeckPublicState; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushDeckPublicState;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushMultiDeck; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushMultiDeck;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushMultiResponse; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushMultiResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushSingleDeck;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushSingleDeckResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.SquareDeckResponse; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.SquareDeckResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.bo.MyDeckItem; import cn.garymb.ygomobile.ui.cards.deck_square.bo.MyDeckItem;
import cn.garymb.ygomobile.ui.plus.VUiKit; import cn.garymb.ygomobile.ui.plus.VUiKit;
...@@ -175,52 +170,6 @@ public class DeckSquareApiUtil { ...@@ -175,52 +170,6 @@ public class DeckSquareApiUtil {
} }
/**
* 阻塞方法,将对应于deckId、deckName的卡组内容json推送到服务器。
* 如果在服务器存在deckId相同的记录,则更新卡组,deckName会覆盖服务器上的卡组名
* 如果在服务器存在deckName相同、deckId不同的记录,则更新失败
*
* @param deckfile
* @param loginToken
* @param deckId
* @return
* @throws IOException
*/
private static PushSingleDeckResponse pushDeck(DeckFile deckfile, LoginToken loginToken, String deckId) throws IOException {
String deckContent = DeckSquareFileUtil.setDeckId(deckfile.getPath(), loginToken.getUserId(), deckId);
PushSingleDeckResponse result = null;
String url = "http://rarnu.xyz:38383/api/mdpro3/sync/single";
Map<String, String> headers = new HashMap<>();
headers.put("ReqSource", "YGOMobile");
headers.put("token", loginToken.getServerToken());
Gson gson = new Gson();
PushSingleDeck pushSingleDeck = new PushSingleDeck();
pushSingleDeck.setDeckContributor(SharedPreferenceUtil.getMyCardUserName());
pushSingleDeck.setUserId(loginToken.getUserId());
PushSingleDeck.DeckData deckData = new PushSingleDeck.DeckData();
deckData.setDeckId(deckId);
deckData.setDeckName(deckfile.getName());
deckData.setDeckType(deckfile.getTypeName());
deckData.setDeckCoverCard1(deckfile.getFirstCode());
deckData.setDelete(false);
deckData.setDeckYdk(deckContent);
pushSingleDeck.setDeck(deckData);
String json = gson.toJson(pushSingleDeck);
Response response = OkhttpUtil.postJson(url, json, headers);
String responseBodyString = response.body().string();
result = gson.fromJson(responseBodyString, PushSingleDeckResponse.class);
LogUtil.i(TAG, "push deck response:" + responseBodyString);
return result;
}
/** /**
* 阻塞方法,将对应于deckDataList、deckIdList的卡组内容json推送到服务器。 * 阻塞方法,将对应于deckDataList、deckIdList的卡组内容json推送到服务器。
* 如果在服务器存在deckId相同的记录,则更新卡组,deckName会覆盖服务器上的卡组名 * 如果在服务器存在deckId相同的记录,则更新卡组,deckName会覆盖服务器上的卡组名
...@@ -252,49 +201,6 @@ public class DeckSquareApiUtil { ...@@ -252,49 +201,6 @@ public class DeckSquareApiUtil {
} }
/**
* 阻塞方法,推送新卡组的内容时使用。首先从服务器请求一个新的卡组id,之后将卡组上传到服务器
* 首先调用服务端api获取卡组id,之后将卡组id设置到ydk中,之后调用服务器api将卡组上传
*
* @param deckFile
* @param loginToken
*/
public static PushSingleDeckResponse requestIdAndPushNewDeck(DeckFile deckFile, LoginToken loginToken) throws IOException {
if (loginToken == null) {
return null;
}
String getDeckIdUrl = "http://rarnu.xyz:38383/api/mdpro3/deck/deckId";
Map<String, String> headers = new HashMap<>();
headers.put("ReqSource", "YGOMobile");
headers.put("token", loginToken.getServerToken());
Gson gson = new Gson();
DeckIdResponse deckIdResult = null;
Response response = OkhttpUtil.synchronousGet(getDeckIdUrl, null, headers);
String responseBodyString = response.body().string();
// Convert JSON to Java object using Gson
deckIdResult = gson.fromJson(responseBodyString, DeckIdResponse.class);
LogUtil.i(TAG, "deck id result:" + deckIdResult.toString());
if (deckIdResult == null) {
return null;
}
String deckId = deckIdResult.getDeckId();//从服务器获取
if (deckId == null) {
return null;
}
return pushDeck(deckFile, loginToken, deckId);
}
/** /**
* 阻塞方法,推送新卡组的内容时使用。首先从服务器请求一个新的卡组id,之后将卡组上传到服务器 * 阻塞方法,推送新卡组的内容时使用。首先从服务器请求一个新的卡组id,之后将卡组上传到服务器
* 首先调用服务端api获取卡组id,之后将卡组id设置到ydk中,之后调用服务器api将卡组上传 * 首先调用服务端api获取卡组id,之后将卡组id设置到ydk中,之后调用服务器api将卡组上传
...@@ -339,6 +245,51 @@ public class DeckSquareApiUtil { ...@@ -339,6 +245,51 @@ public class DeckSquareApiUtil {
return pushDecks(deckDataList, loginToken, deckIdList); return pushDecks(deckDataList, loginToken, deckIdList);
} }
public static PushMultiResponse deleteDecks(List<DeckFile> deckFileList) throws IOException {
if (SharedPreferenceUtil.getServerToken() != null) {
LoginToken loginToken = new LoginToken(
SharedPreferenceUtil.getServerUserId(),
SharedPreferenceUtil.getServerToken()
);
// 创建一个局部变量来持有deckFileList的引用,因为有时候异步执行会导致获取不到传参的deckFileList
final List<DeckFile> deleteDeckList = new ArrayList<>(deckFileList);
// 先判断缓存表是否正常获取到了
if (DeckManagerFragment.getOriginalData().isEmpty()) {
// 获取在线卡组列表(异步处理)
VUiKit.defer().when(() -> {
return DeckSquareApiUtil.getUserDecks(loginToken);
}).fail((e) -> {
LogUtil.e(TAG, "getUserDecks failed: " + e);
}).done((result) -> {
if (result == null || result.getData() == null) {
return;
}
DeckManagerFragment.getOriginalData().addAll(result.getData());
});
}
for (DeckFile deleteDeckFile : deleteDeckList) {
for (MyOnlineDeckDetail onlineDeckDetail : DeckManagerFragment.getOriginalData()) {
if (deleteDeckFile.getFileName().equals(onlineDeckDetail.getDeckName()) && deleteDeckFile.getTypeName().equals(onlineDeckDetail.getDeckType())) {
onlineDeckDetail.setDelete(true);// 将要删除的列表元素的isDelete值设置过
//顺带设置一下
deleteDeckFile.setDeckId(onlineDeckDetail.getDeckId());
}
}
}
try {
syncMyDecks(toDeckItemList(DeckManagerFragment.getOriginalData()),loginToken);
} catch (IOException e) {
LogUtil.e(TAG, "删除卡组失败:" + e);
}
}
return null;
}
/** /**
* 批量上传已经在云上存在的卡组 * 批量上传已经在云上存在的卡组
* *
...@@ -497,81 +448,6 @@ public class DeckSquareApiUtil { ...@@ -497,81 +448,6 @@ public class DeckSquareApiUtil {
} }
public static void deleteDecks(List<DeckFile> deckFileList) {
if (SharedPreferenceUtil.getServerToken() != null) {
LoginToken loginToken = new LoginToken(
SharedPreferenceUtil.getServerUserId(),
SharedPreferenceUtil.getServerToken()
);
// 创建一个局部变量来持有deckFileList的引用,因为有时候异步执行会导致获取不到传参的deckFileList
final List<DeckFile> localDeckFileList = new ArrayList<>(deckFileList);
// 获取在线卡组列表(异步处理)
VUiKit.defer().when(() -> {
return DeckSquareApiUtil.getUserDecks(loginToken);
}).fail((e) -> {
LogUtil.e(TAG, "getUserDecks failed: " + e);
}).done((result) -> {
if (result == null || result.getData() == null) {
return;
}
List<MyOnlineDeckDetail> onlineDecks = result.getData();
for (MyOnlineDeckDetail onlineDeck : onlineDecks) {
for (DeckFile deckFile : localDeckFileList) {
if (onlineDeck.getDeckName().equals(deckFile.getName())) {
// 删除在线卡组(异步处理)
VUiKit.defer().when(() -> {
PushSingleDeckResponse deckResponse = deleteDeck(onlineDeck.getDeckId(), loginToken);
return deckResponse;
}).fail((deleteError) -> {
LogUtil.e(TAG, "Delete Online Deck failed: " + deleteError);
}).done((deleteSuccess) -> {
if (deleteSuccess.isData()) {
LogUtil.i(TAG, "Online deck deleted successfully");
}
});
break;
}
}
}
});
}
}
public static PushSingleDeckResponse deleteDeck(String deckId, LoginToken loginToken) throws
IOException {
PushSingleDeckResponse result = null;
String url = "http://rarnu.xyz:38383/api/mdpro3/sync/single";
Map<String, String> headers = new HashMap<>();
headers.put("ReqSource", "YGOMobile");
headers.put("token", loginToken.getServerToken());
Gson gson = new Gson();
PushSingleDeck pushSingleDeck = new PushSingleDeck();
PushSingleDeck.DeckData deckData = new PushSingleDeck.DeckData();
deckData.setDeckId(deckId);
deckData.setDelete(true);
pushSingleDeck.setDeck(deckData);
pushSingleDeck.setUserId(loginToken.getUserId());
String json = gson.toJson(pushSingleDeck);
Response response = OkhttpUtil.postJson(url, json, headers);
String responseBodyString = response.body().string();
// Convert JSON to Java object using Gson
result = gson.fromJson(responseBodyString, PushSingleDeckResponse.class);
LogUtil.i(TAG, "push deck response:" + responseBodyString);
return result;
}
/** /**
* 管理员使用,删除某卡组(听说可以删除别人的卡组,没试过) * 管理员使用,删除某卡组(听说可以删除别人的卡组,没试过)
* 该api没有权限校验,慎用 * 该api没有权限校验,慎用
......
...@@ -48,6 +48,7 @@ public class DeckSquareFileUtil { ...@@ -48,6 +48,7 @@ public class DeckSquareFileUtil {
item.setDeckCoverCard1(detail.getDeckCoverCard1()); item.setDeckCoverCard1(detail.getDeckCoverCard1());
item.setUpdateTimestamp(detail.getDeckUpdateDate()); item.setUpdateTimestamp(detail.getDeckUpdateDate());
item.setPublic(detail.isPublic()); item.setPublic(detail.isPublic());
item.setDelete(detail.isDelete());
myOnlineDecks.add(item); myOnlineDecks.add(item);
} }
return myOnlineDecks; return myOnlineDecks;
......
...@@ -85,13 +85,6 @@ public class DeckSquareListAdapter extends BaseQuickAdapter<OnlineDeckDetail, Ba ...@@ -85,13 +85,6 @@ public class DeckSquareListAdapter extends BaseQuickAdapter<OnlineDeckDetail, Ba
} else { } else {
imageLoader.bindImage(cardImage, -1, null, ImageLoader.Type.small); imageLoader.bindImage(cardImage, -1, null, ImageLoader.Type.small);
} }
// ImageView imageview = helper.getView(R.id.ex_card_image);
//the function cn.garymb.ygomobile.loader.ImageLoader.bindT(...)
//cn.garymb.ygomobile.loader.ImageLoader.setDefaults(...)
//is a private function,so I copied the content of it to here
/* 如果查不到版本号,则不显示图片 */
/* 如果能查到版本号,则显示图片,利用glide的signature,将版本号和url作为signature,由glide判断是否使用缓存 */
} }
} }
\ No newline at end of file
...@@ -18,10 +18,9 @@ import cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse; ...@@ -18,10 +18,9 @@ import cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.LoginToken; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.LoginToken;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyDeckResponse; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyDeckResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyOnlineDeckDetail; import cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyOnlineDeckDetail;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushSingleDeckResponse;
import cn.garymb.ygomobile.ui.cards.deck_square.bo.MyDeckItem;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.loader.ImageLoader; import cn.garymb.ygomobile.loader.ImageLoader;
import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushMultiResponse;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.VUiKit; import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.utils.LogUtil; import cn.garymb.ygomobile.utils.LogUtil;
...@@ -119,18 +118,14 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base ...@@ -119,18 +118,14 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base
return; return;
} }
VUiKit.defer().when(() -> { List<DeckFile> deleteList = new ArrayList<>();
PushSingleDeckResponse result = DeckSquareApiUtil.deleteDeck(item.getDeckId(), loginToken); deleteList.add(new DeckFile(item.getDeckId(), DeckType.ServerType.MY_SQUARE));
return result; try {
}).fail(e -> { DeckSquareApiUtil.deleteDecks(deleteList);
}catch (Throwable e){
LogUtil.i(TAG, "square deck detail fail" + e.getMessage()); LogUtil.i(TAG, "square deck detail fail" + e.getMessage());
}).done(data -> { }
if (data.isData()) { remove(item);
remove(item);
} else {
YGOUtil.showTextToast("delete fail " + data.getMessage());
}
});
} }
} }
......
...@@ -232,4 +232,18 @@ public class MyOnlineDeckDetail implements Parcelable { ...@@ -232,4 +232,18 @@ public class MyOnlineDeckDetail implements Parcelable {
public void setDelete(boolean delete) { public void setDelete(boolean delete) {
isDelete = delete; isDelete = delete;
} }
public String toString(){
return "MyOnlineDeckDetail{" +
"deckName='" + deckName + '\'' +
", deckId=" + deckId +
", deckType=" + deckType +
", deckContributor=" + deckContributor +
", userId='" + userId + '\'' +
", deckCoverCard1=" + deckCoverCard1 +
", deckLike='" + deckLike + '\'' +
", isPublic='" + isPublic + '\'' +
", deckYdk='" + deckYdk + '\'' +
'}';
}
} }
\ No newline at end of file
...@@ -153,7 +153,7 @@ public class OnlineDeckDetail implements Parcelable { ...@@ -153,7 +153,7 @@ public class OnlineDeckDetail implements Parcelable {
} }
public String toString(){ public String toString(){
return "MyOnlineDeckDetail{" + return "preView_OnlineDeckDetail{" +
"deckName='" + deckName + '\'' + "deckName='" + deckName + '\'' +
", deckId=" + deckId + ", deckId=" + deckId +
", lastDate=" + lastDate + ", lastDate=" + lastDate +
......
...@@ -47,6 +47,7 @@ public class PushMultiDeck { ...@@ -47,6 +47,7 @@ public class PushMultiDeck {
private Integer deckProtector = 0; private Integer deckProtector = 0;
private long timestamp = 0; private long timestamp = 0;
private String deckYdk; private String deckYdk;
private boolean isDeleting = false;
public String getDeckId() { public String getDeckId() {
return deckId; return deckId;
...@@ -128,5 +129,9 @@ public class PushMultiDeck { ...@@ -128,5 +129,9 @@ public class PushMultiDeck {
this.deckYdk = deckYdk; this.deckYdk = deckYdk;
} }
public boolean getDeleting() {return isDeleting;}
public void setDeleting(boolean isDeleting) {this.isDeleting = isDeleting;}
} }
} }
package cn.garymb.ygomobile.ui.cards.deck_square.api_response;
public class PushSingleDeck {
private String deckContributor;
private Integer userId;
private DeckData deck;
public String getDeckContributor() {
return deckContributor;
}
public void setDeckContributor(String deckContributor) {
this.deckContributor = deckContributor;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public DeckData getDeck() {
return deck;
}
public void setDeck(DeckData deck) {
this.deck = deck;
}
public static class DeckData {
private String deckId;
private String deckName;
private String deckType;
private Integer deckCoverCard1 = 0;
private Integer deckCoverCard2 = 0;
private Integer deckCoverCard3 = 0;
private Integer deckCase = 0;
private Integer deckProtector = 0;
private String deckYdk;
private boolean isDelete = false;
public String getDeckId() {
return deckId;
}
public void setDeckId(String deckId) {
this.deckId = deckId;
}
public String getDeckName() {
return deckName;
}
public void setDeckName(String deckName) {
this.deckName = deckName;
}
public String getDeckType() {
return deckType;
}
public void setDeckType(String deckType) {
this.deckType = deckType;
}
public Integer getDeckCoverCard1(Integer firstCode) {
return deckCoverCard1;
}
public void setDeckCoverCard1(Integer deckCoverCard1) {
this.deckCoverCard1 = deckCoverCard1;
}
public Integer getDeckCoverCard2() {
return deckCoverCard2;
}
public void setDeckCoverCard2(Integer deckCoverCard2) {
this.deckCoverCard2 = deckCoverCard2;
}
public Integer getDeckCoverCard3() {
return deckCoverCard3;
}
public void setDeckCoverCard3(Integer deckCoverCard3) {
this.deckCoverCard3 = deckCoverCard3;
}
public Integer getDeckCase() {
return deckCase;
}
public void setDeckCase(Integer deckCase) {
this.deckCase = deckCase;
}
public Integer getDeckProtector() {
return deckProtector;
}
public void setDeckProtector(Integer deckProtector) {
this.deckProtector = deckProtector;
}
public String getDeckYdk() {
return deckYdk;
}
public void setDeckYdk(String deckYdk) {
this.deckYdk = deckYdk;
}
public boolean isDelete() {
return isDelete;
}
public void setDelete(boolean delete) {
isDelete = delete;
}
}
}
package cn.garymb.ygomobile.ui.cards.deck_square.api_response;
//将卡组上传后,返回的响应
//对应接口http://rarnu.xyz:38383/api/mdpro3/sync/single
public class PushSingleDeckResponse {
private Integer code;
private String message;
//!!!!注意,本字段是boolean,与PushMultiDeckResponse的不同!
private boolean data;//服务器的执行结果,true代表卡组上传成功。false代表卡组上传失败
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public boolean isData() {
return data;
}
public void setData(boolean data) {
this.data = data;
}
}
...@@ -20,6 +20,8 @@ public class MyDeckItem { ...@@ -20,6 +20,8 @@ public class MyDeckItem {
private Boolean isPublic; private Boolean isPublic;
private Boolean isDelete;
public int getIdUploaded() { public int getIdUploaded() {
return idUploaded; return idUploaded;
} }
...@@ -93,6 +95,14 @@ public class MyDeckItem { ...@@ -93,6 +95,14 @@ public class MyDeckItem {
isPublic = aPublic; isPublic = aPublic;
} }
public Boolean isDelete() {
return isDelete;
}
public void setDelete(Boolean aDelete) {
isDelete = aDelete;
}
@Override @Override
public String toString() { public String toString() {
return "MyDeckItem{" + return "MyDeckItem{" +
......
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