Commit c9a904f3 authored by fallenstardust's avatar fallenstardust

移除专门删除接口,改为缓存和同步全部用户卡组接口

parent dab5d86f
......@@ -1331,14 +1331,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}).done((deckData) -> {
if (deckData != null) {
mDeckId = deckData.getDeckId();
deckData.getDeckYdk();
LogUtil.i(TAG,deckData.toString());
String fileFullName = deckData.getDeckName() + YDK_FILE_EX;
File dir = new File(getActivity().getApplicationInfo().dataDir, "cache");
//将卡组存到cache缓存目录中
boolean result = DeckSquareFileUtil.saveFileToPath(dir.getPath(), fileFullName, deckData.getDeckYdk(), deckData.getDeckUpdateDate());
if (result) {//存储成功,使用预加载功能
LogUtil.i(TAG, "square deck detail done");
//File file = new File(dir, fileFullName);
preLoadFile(dir.getPath() + "/" + fileFullName);
tv_add_1.setText(R.string.like_deck_thumb);
ll_click_like.setVisibility(View.VISIBLE);
......
......@@ -35,9 +35,6 @@ import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.bean.DeckType;
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.databinding.FragmentDeckSelectBinding;
import cn.garymb.ygomobile.ui.adapters.DeckListAdapter;
......@@ -45,12 +42,9 @@ import cn.garymb.ygomobile.ui.adapters.SimpleListAdapter;
import cn.garymb.ygomobile.ui.adapters.TextSelectAdapter;
import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil;
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.FileUtils;
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.YGOUtil;
import cn.garymb.ygomobile.utils.recyclerview.DeckTypeTouchHelperCallback;
......
......@@ -48,6 +48,7 @@ public class DeckSquareFileUtil {
item.setDeckCoverCard1(detail.getDeckCoverCard1());
item.setUpdateTimestamp(detail.getDeckUpdateDate());
item.setPublic(detail.isPublic());
item.setDelete(detail.isDelete());
myOnlineDecks.add(item);
}
return myOnlineDecks;
......
......@@ -85,13 +85,6 @@ public class DeckSquareListAdapter extends BaseQuickAdapter<OnlineDeckDetail, Ba
} else {
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;
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.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.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.VUiKit;
import cn.garymb.ygomobile.utils.LogUtil;
......@@ -119,18 +118,14 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base
return;
}
VUiKit.defer().when(() -> {
PushSingleDeckResponse result = DeckSquareApiUtil.deleteDeck(item.getDeckId(), loginToken);
return result;
}).fail(e -> {
List<DeckFile> deleteList = new ArrayList<>();
deleteList.add(new DeckFile(item.getDeckId(), DeckType.ServerType.MY_SQUARE));
try {
DeckSquareApiUtil.deleteDecks(deleteList);
}catch (Throwable e){
LogUtil.i(TAG, "square deck detail fail" + e.getMessage());
}).done(data -> {
if (data.isData()) {
remove(item);
} else {
YGOUtil.showTextToast("delete fail " + data.getMessage());
}
});
}
remove(item);
}
}
......
......@@ -232,4 +232,18 @@ public class MyOnlineDeckDetail implements Parcelable {
public void setDelete(boolean 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 {
}
public String toString(){
return "MyOnlineDeckDetail{" +
return "preView_OnlineDeckDetail{" +
"deckName='" + deckName + '\'' +
", deckId=" + deckId +
", lastDate=" + lastDate +
......
......@@ -47,6 +47,7 @@ public class PushMultiDeck {
private Integer deckProtector = 0;
private long timestamp = 0;
private String deckYdk;
private boolean isDeleting = false;
public String getDeckId() {
return deckId;
......@@ -128,5 +129,9 @@ public class PushMultiDeck {
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 {
private Boolean isPublic;
private Boolean isDelete;
public int getIdUploaded() {
return idUploaded;
}
......@@ -93,6 +95,14 @@ public class MyDeckItem {
isPublic = aPublic;
}
public Boolean isDelete() {
return isDelete;
}
public void setDelete(Boolean aDelete) {
isDelete = aDelete;
}
@Override
public String toString() {
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