package net.coding.program.model.util;
import com.loopj.android.http.RequestParams;
import net.coding.program.common.Global;
import net.coding.program.common.util.FileUtil;
import net.coding.program.model.AttachmentFileHistoryObject;
import net.coding.program.model.AttachmentFileObject;
import net.coding.program.model.RequestData;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.File;
import java.util.ArrayList;
/**
* Created by chenchao on 15/8/19.
* file history 网络请求类
*/
public class FileRequestHelp {
String mProjectPath = "";
int mFileId = 0;
public FileRequestHelp(String mProjectPath, int mFileId) {
this.mProjectPath = mProjectPath;
this.mFileId = mFileId;
}
public String getHttpRequest() {
return String.format(Global.HOST_API + mProjectPath + "/files/%d/histories", mFileId);
}
public ArrayList<AttachmentFileHistoryObject> parseJson(JSONObject json, String downloadPath, int projectId) {
JSONArray jsonArray = json.optJSONArray("data");
ArrayList<AttachmentFileHistoryObject> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); ++i) {
AttachmentFileHistoryObject item = new AttachmentFileHistoryObject(jsonArray.optJSONObject(i));
setDownloadStatus(item, downloadPath, projectId);
list.add(item);
}
return list;
}
private void setDownloadStatus(AttachmentFileObject mFileObject, String downloadPath, int projectId) {
File mFile = FileUtil.getDestinationInExternalPublicDir(downloadPath, mFileObject.getSaveName(projectId));
if (mFile.exists() && mFile.isFile()) {
mFileObject.isDownload = true;
} else {
mFileObject.downloadId = 0L;
mFileObject.isDownload = false;
}
}
public RequestData getHttpHistoryRemark(int historyId, String input) {
String url = String.format(Global.HOST_API + mProjectPath + "/files/%s/histories/%s/remark",
mFileId, historyId);
RequestParams paraams = new RequestParams();
paraams.put("remark", input);
return new RequestData(url, paraams);
}
public String getHttpHistoryDelete(int historyId) {
return String.format(Global.HOST_API + mProjectPath + "/files/histories/%s",
historyId);
}
}