Commit 84c46eb4 by Yu-Tung

Add GetSid api

parent 0a44e592
......@@ -10,7 +10,6 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
......@@ -43,17 +42,12 @@ import java.util.List;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import retrofit2.http.Body;
public class MainActivity extends BaseActivity implements MainContract.View, View.OnClickListener {
......@@ -80,6 +74,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
private List<String> filepath = new ArrayList<>();
private List<String> filename = new ArrayList<>();
String sidData ="";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
......@@ -91,6 +86,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
mPresenter = new MainPresenter(this);
mMainData = new MainData();
mChooseDeviceItemData = new ChooseDeviceItemData();
mPresenter.onGetSid();
}
@Override
......@@ -235,6 +231,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
Log.e("eee", getPath(data.getData()));
}
//照片的uri
// mPresenter.onGetSid();
onUploadFile(uriList, getResourceString(R.string.on_upload_image));
// onUploadFile1();
}
......@@ -365,6 +362,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
//如果能改成用retrofit加rxjava最好,已經嘗試過三天的,可能有缺什麼,不過緊急所以先求功能
private void onUploadFile(final ArrayList<String> uriList, String type) {
// ongetsid();
showProgressDialog(type);
new Thread(new Runnable() {
@Override
......@@ -404,45 +403,54 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
String apiname = "SYNO.FileStation.Upload";
String method = "upload";
String version = "2";
String sid = "Tx2aTlIDdA5zLsxYDOYP95AnZqw1iUaEBGnDbsszo1QqaJzIe3B7AFZY5quVBataqzdMt3h-59L-AUhM9R_5hQ";
String sid = "4CY9mdpmlP5eh8KGLob3h3bqm6VvygRIu8BPwMIOy3UlYGBJ3VkM7Dgtw-hLIdH3ipntHHmJDK7y72Tio9ybLk";
String path1 = "/仁武氯乙烯廠製造一課/1_SOP導讀";
Boolean a = true;
Boolean b = false;
OkHttpClient client = new OkHttpClient().newBuilder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.build();
// MediaType mediaType = MediaType.parse("application/octet-stream");
MediaType mediaType = MediaType.parse("text/plain");
// MediaType mediaType = MediaType.parse("multiparty/form-data");
MediaType mediaType = MediaType.parse("image/jpg");
MultipartBody.Builder buildernew = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("api", apiname)
.addFormDataPart("method", method)
.addFormDataPart("version", version)
.addFormDataPart("_sid", sid)
// .addFormDataPart("api", apiname)
// .addFormDataPart("method", method)
// .addFormDataPart("version", version)
// .addFormDataPart("_sid", sid)
.addFormDataPart("path",path1)
.addFormDataPart("create_parents", ""+b)
.addFormDataPart("overwrite", ""+a);
.addFormDataPart("create_parents", a.toString())
.addFormDataPart("overwrite", a.toString())
.addFormDataPart("data", "")
.addFormDataPart("success", "");
Log.e("test_path",path1);
Log.e("test_create_parents",b.toString());
Log.e("test_overwrite",a.toString());
// .addFormDataPart("file", "b525a7db0c5da640_1.jpg",
// RequestBody.create(mediaType,new File("/storage/emulated/0/Watashi AHD V.2/temp_images/b525a7db0c5da640_1.jpg")
// ));
Log.e("test",""+buildernew.build().parts().get(0));
// Log.e("test",""+buildernew.build().parts().get(0));
for (String path : uriList) {
File uploadFile = new File(path);
// RequestBody fileBody = RequestBody.create(mediaType,uploadFile);
buildernew.addFormDataPart("file", uploadFile.getName(),
RequestBody.create(MediaType.parse("application/octet-stream"), path));
Log.e("pathname", uploadFile.getName());
RequestBody.create(MediaType.parse("multiparty/form-data"), path));
// RequestBody.create(MediaType.parse("application/octet-stream"), path));
Log.e("test_filename", uploadFile.getName());
Log.e("path", path);
Log.e("file", uploadFile.getAbsolutePath());
Log.e("test_file", uploadFile.getAbsolutePath());
}
RequestBody body = buildernew.build();
// buildernew.build();
Request request = new Request.Builder()
.url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api="+apiname+"&method="+method+"&version="+version+"&_sid="+sid)
.url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api="+apiname+"&method="+method+"&version="+version+"&_sid="+sidData)
// .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi")
.method("POST", body)
// .header("api",apiname)
......@@ -453,7 +461,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
// .post(buildernew.build())
.build();
Log.e("requrstBody", request.toString());
Log.e("test_url", request.url().toString());
try {
Response response = client.newCall(request).execute();
Log.e("response", response.body().string());
......@@ -517,6 +525,26 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
}).start();
}
private void ongetsid(){
new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url("https://webapp.fpcitc.com.tw/SOP/api/FileUpload/GetLogin")
.method("GET", null)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
try {
Response response = client.newCall(request).execute();
Log.e("response", response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
@Override
public void setCOData(List<COResponse> adapterData) {
dialogString.clear();
......@@ -567,6 +595,12 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
showItemDialog(dialogString, onShootTypeCategoryDialogItemClick);
}
@Override
public void setSIDData(String sid) {
sidData = sid;
}
private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
......
......@@ -3,6 +3,7 @@ package com.example.audiovisualrecord.ui.main;
import com.example.audiovisualrecord.base.BaseView;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResponse;
......@@ -17,6 +18,7 @@ public interface MainContract {
void setDPNMData(List<PMFCTResponse> adapterData);
void setEQKDData(List<EQKDResponse> adapterData);
void setTYPEData(List<TYPEResponse> adapterData);
void setSIDData(String sid);
}
interface Presenter<V extends MainContract.View> {
......@@ -27,5 +29,6 @@ public interface MainContract {
void onGetSHIFTData(String CO, String PMFCT);
void segVideo(String path,String name);
void onGetTYPEData(String CO,String PMFCT);
void onGetSid();
}
}
......@@ -25,6 +25,7 @@ public class MainData {
private List<PMFCTResponse> mPMFCTDataList;
private List<EQKDResponse> mEQKDDataList;
private List<TYPEResponse> mTYPEDataList;
private String MSidData;
public List<COResponse> getmCODataList() {
......@@ -67,6 +68,14 @@ public class MainData {
this.mTYPEDataList = mTYPEDataList;
}
public String getMSidData() {
return MSidData;
}
public void setMSidData(String MSidData) {
this.MSidData = MSidData;
}
// public String getmCO() {
// return mMNTCO;
// }
......
......@@ -11,6 +11,7 @@ import com.example.audiovisualrecord.utils.api.ApiService;
import com.example.audiovisualrecord.utils.api.HttpMethods;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest;
......@@ -205,6 +206,34 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
}
@Override
public void onGetSid() {
// TYPERequest mTypeRequest = new TYPERequest(KEY_SEARCH_TYPE,USER_ID,CO, PMFCT);
String url = view.getResourceString(R.string.api_on_getSID);
compositeDisposable.add(api.getSID(url)
.subscribeOn(schedulerProviderImp.io())
.observeOn(schedulerProviderImp.ui())
.subscribeWith(new DisposableObserver<SIDDataList>() {
@Override
public void onNext(SIDDataList mSIDDataList) {
view.setSIDData(mSIDDataList.getsIdDataList().getSid());
Log.e("sss",mSIDDataList.getSuccess());
}
@Override
public void onError(Throwable e) {
// view.showDialogCaveatMessage(view.getResourceString( R.string.add_device_error));
Log.e("aaaa",e.getMessage());
}
@Override
public void onComplete() {
}
})
);
}
@Override
public void segVideo(String path,String name) {
File video = new File(path);
int sizeLimit = 50 * 1024 * 1024;
......
......@@ -4,6 +4,7 @@ import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginRequest;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest;
......@@ -15,6 +16,7 @@ import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResultList;
import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Url;
......@@ -31,4 +33,6 @@ public interface ApiService {
Observable<TYPEResultList>getTYPE(@Url String url, @Body TYPERequest mTypeRequest);
@POST
Observable<LoginResponse> onLogin(@Url String url, @Body LoginRequest mLoginRequest);
@GET
Observable<SIDDataList> getSID(@Url String url);
}
package com.example.audiovisualrecord.utils.api.apidata.searchsid;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class SIDDataList {
@SerializedName("data")
@Expose
private getSID sIdDataList;
@SerializedName("success")
@Expose
private java.lang.String success;
public getSID getsIdDataList() {
return sIdDataList;
}
public void setsIdDataList(getSID sIdDataList) {
this.sIdDataList = sIdDataList;
}
public java.lang.String getSuccess() {
return success;
}
public void setSuccess(java.lang.String success) {
this.success = success;
}
}
package com.example.audiovisualrecord.utils.api.apidata.searchsid;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class getSID {
@SerializedName("sid")
@Expose
private java.lang.String sid;
public java.lang.String getSid() {
return sid;
}
public void setSid(java.lang.String sid) {
this.sid = sid;
}
}
......@@ -45,6 +45,8 @@
<string name="api_on_getEQNO">SearchEQNO</string>
<string name="api_on_Login">https://cloud.fpcetg.com.tw/FPC/API/FM/SopRecord_API/INFO/Access</string>
<string name="api_on_DisposableToken">DisposableToken</string>
<string name="api_on_getSID">https://webapp.fpcitc.com.tw/SOP/api/FileUpload/GetLogin</string>
<!--addDevice部分-->
<string name="get_pmfct_error_no_data">廠課無資料</string>
......@@ -64,5 +66,8 @@
<string name="add_device_no_data_file">檔案還未選擇</string>
<string name="add_device_error">查詢資料失敗,請重試或檢查網路狀態,或檢查資料是否正確</string>
<!-- getsid-->
<string name="get_sid_error_no_data">sid無資料</string>
</resources>
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