| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package eVVM.apk.ui.login.authentication;
- import com.allen.library.factory.ApiFactory;
- import com.allen.library.interceptor.Transformer;
- import com.allen.library.observer.CommonObserver;
- import com.allen.library.upload.UploadFileApi;
- import com.google.gson.Gson;
- import java.io.File;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import eVVM.apk.api.ApiUrl;
- import eVVM.apk.mvp.MvpModel;
- import eVVM.apk.ui.bean.VerificationCodeBean;
- import io.reactivex.Observable;
- import okhttp3.MediaType;
- import okhttp3.MultipartBody;
- import okhttp3.RequestBody;
- import okhttp3.ResponseBody;
- /**
- * Created by Android Studio.
- * User: zbb
- * Date: 2019/6/3
- * Describe: AttctModel
- */
- public class AttctModel extends MvpModel<AttctOnListener> {
- public AttctModel() {
- }
- /***
- *
- * @param userId 用户id 注册成功后返回
- * @param companyName 公司名称
- * @param userName 用户姓名
- * @param idCard 身份证号
- * @param email 邮箱
- * @param roleId 职务
- * @param phoneType 手机类型 0安卓 1ios
- * @param phoneModel 手机型号
- * @param uploadimgpaths 上传图片的路径
- */
- public void attct(int userId, String companyName, String userName, String idCard,
- String email, String roleId, int phoneType, String phoneModel, List<String> uploadimgpaths) {
- Map<String, Object> map = new HashMap<>();
- map.put("userId", userId + ""); //用户id
- map.put("companyId", companyName + ""); //公司id
- map.put("userName", userName + ""); //名字
- map.put("idCard", idCard + ""); //身份证
- map.put("email", email + ""); //邮箱
- map.put("roleId", roleId + ""); //roleid
- map.put("phoneType", phoneType + ""); //手机类型
- map.put("phoneModel", phoneModel + ""); //手机型号
- uploadFilesWithParamsByNewName(ApiUrl.BASE_URL + ApiUrl.ARTICLE_LIST + "perfectInfo", "files", map, uploadimgpaths)
- .compose(Transformer.<ResponseBody>switchSchedulers())
- .subscribe(new CommonObserver<ResponseBody>() {
- @Override
- protected void onError(String errorMsg) {
- getListener().onFail(errorMsg);
- }
- @Override
- protected void onSuccess(ResponseBody data) {
- try {
- String json = data.string();
- Gson gson = new Gson();
- VerificationCodeBean verificationCodeBean = gson.fromJson(json, VerificationCodeBean.class);
- if (verificationCodeBean.getCode() == 200) {
- getListener().onSucceed(verificationCodeBean);
- } else {
- getListener().onFail(verificationCodeBean.getMsg());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * 图片和参数同时上传的请求
- *
- * @param uploadUrl 上传图片的服务器url
- * @param fileName 后台协定的接受图片的name(没特殊要求就可以随便写)
- * @param paramsMap 普通参数
- * @param filePaths 图片路径
- * @return Observable
- */
- public static Observable<ResponseBody> uploadFilesWithParamsByNewName(String uploadUrl, String fileName, Map<String, Object> paramsMap, List<String> filePaths) {
- MultipartBody.Builder builder = new MultipartBody.Builder()
- .setType(MultipartBody.FORM);
- if (null != paramsMap) {
- for (String key : paramsMap.keySet()) {
- builder.addFormDataPart(key, (String) paramsMap.get(key));
- }
- }
- for (int i = 0; i < filePaths.size(); i++) {
- File file = new File(filePaths.get(i));
- RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
- //"fileName"+i 后台接收图片流的参数名
- if (i == filePaths.size() - 1) {
- builder.addFormDataPart(fileName, "authImage" + file.getName(), imageBody);
- } else {
- builder.addFormDataPart(fileName, file.getName(), imageBody);
- }
- }
- List<MultipartBody.Part> parts = builder.build().parts();
- String DEFAULT_UPLOAD_KEY = "defaultUploadUrlKey";
- String DEFAULT_BASE_URL = "https://api.github.com/";
- return ApiFactory.getInstance()
- .createApi(DEFAULT_UPLOAD_KEY, DEFAULT_BASE_URL, UploadFileApi.class)
- .uploadFiles(uploadUrl, parts);
- }
- }
|