From 5f4c3669ddd8fe27449b04a4b9db12b2ca4b3688 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 14 一月 2025 16:27:29 +0800 Subject: [PATCH] 1.文件上传和显示添加缩略图功能。 --- app/src/main/java/com/dayu/pipirrapp/bean/net/ImageResult.java | 9 + app/src/main/java/com/dayu/pipirrapp/tool/FileUploadUtils.java | 2 app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java | 17 +- app/src/main/java/com/dayu/pipirrapp/bean/net/UplodFileState.java | 45 +++++- app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java | 2 app/src/main/res/layout/activity_order_deal.xml | 2 app/src/main/res/layout/activity_order_detail.xml | 2 app/src/main/java/com/dayu/pipirrapp/bean/net/UploadFileResult.java | 113 ++++++++++++++++ app/src/main/res/layout/activity_add_issue.xml | 2 app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java | 18 +- app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java | 3 app/src/main/java/com/dayu/pipirrapp/bean/net/ImageRequest.java | 25 ++- app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java | 7 app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java | 2 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 92 ++++++++++-- app/src/main/java/com/dayu/pipirrapp/net/ApiService.java | 5 app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java | 7 app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java | 14 + app/src/main/res/layout/activity_issue_detail.xml | 2 19 files changed, 300 insertions(+), 69 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java index aabd05c..d0f5976 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java @@ -345,7 +345,7 @@ if (uplodFileState != null) { path = uplodFileState.getFilePath(); try { - Call<BaseResponse> mCall = uplodFileStates.get(path).getThisCall(); + Call mCall = uplodFileStates.get(path).getThisCall(); if (mCall != null) { mCall.cancel(); MyLog.d("progressRequestBody>>>" + "cancel銆嬨�嬨�媝ath:" + path); diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java index 3fadcc6..78ad6f4 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java @@ -108,6 +108,7 @@ ImageInfo info = new ImageInfo(); info.setOriginUrl(imageResult.getWebPath()); info.setType(Type.IMAGE); + info.setThumbnailUrl(imageResult.getWebPathZip()); imageInfoList.add(info); } } @@ -120,6 +121,8 @@ images.add(imageBean); ImageInfo info = new ImageInfo(); info.setOriginUrl(imageResult.getWebPath()); + info.setThumbnailUrl(imageResult.getWebPath()); + info.setThumbnailUrl(imageResult.getWebPathZip()); info.setType(Type.VIDEO); imageInfoList.add(info); } diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java index 161f6d3..c33315d 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java @@ -339,7 +339,7 @@ if (uplodFileState != null) { path = uplodFileState.getFilePath(); try { - Call<BaseResponse> mCall = uplodFileStates.get(path).getThisCall(); + Call mCall = uplodFileStates.get(path).getThisCall(); if (mCall != null) { mCall.cancel(); MyLog.d("progressRequestBody>>>" + "cancel銆嬨�嬨�媝ath:" + path); diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java index acf9e3a..b498d0f 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java @@ -30,6 +30,7 @@ import com.dayu.pipirrapp.net.BaseResponse; import com.dayu.pipirrapp.net.Constants; import com.dayu.pipirrapp.net.subscribers.SubscriberListener; +import com.dayu.pipirrapp.tool.BigimageUtils; import com.dayu.pipirrapp.tool.FullyGridLayoutManager; import com.dayu.pipirrapp.utils.CommonKeyName; import com.dayu.pipirrapp.utils.ToastUtil; @@ -124,7 +125,7 @@ // 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧 mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false)); mAdapter = new ImageAdapter(this, images, (v, position) -> { - ImagePreview.getInstance().with(OrderDetailActivity.this).setIndex(position).setMediaInfoList(imageInfoList).start(); + BigimageUtils.showImages(this, position, imageInfoList); }); mRecyclerView.setAdapter(mAdapter); @@ -225,26 +226,29 @@ if (!t.getContent().getImages().isEmpty()){ for (ImageResult imageResult:t.getContent().getImages()){ - ImageBean imageBean=new ImageBean(); + ImageBean imageBean = new ImageBean(); imageBean.setId(imageResult.getId()); imageBean.setWebPath(imageResult.getWebPath()); imageBean.setType(UplodFileState.IMG_TYPE); images.add(imageBean); - ImageInfo info=new ImageInfo(); + ImageInfo info = new ImageInfo(); info.setOriginUrl(imageResult.getWebPath()); info.setType(Type.IMAGE); + info.setThumbnailUrl(imageResult.getWebPathZip()); imageInfoList.add(info); } } if (!t.getContent().getVideos().isEmpty()){ for (ImageResult imageResult:t.getContent().getVideos()){ - ImageBean imageBean=new ImageBean(); + ImageBean imageBean = new ImageBean(); imageBean.setId(imageResult.getId()); imageBean.setWebPath(imageResult.getWebPath()); imageBean.setType(UplodFileState.VIDEO_TYPE); images.add(imageBean); - ImageInfo info=new ImageInfo(); + ImageInfo info = new ImageInfo(); info.setOriginUrl(imageResult.getWebPath()); + info.setThumbnailUrl(imageResult.getWebPath()); + info.setThumbnailUrl(imageResult.getWebPathZip()); info.setType(Type.VIDEO); imageInfoList.add(info); } diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java index 0bf6aee..46f24f6 100644 --- a/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java +++ b/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java @@ -47,17 +47,17 @@ /** * 缂栧彿 */ - private int id; + private String id; /** * 绾害 */ - private double lat; + private String lat; /** * 缁忓害 */ - private double lng; + private String lng; /** * 鎿嶄綔鏃堕棿 @@ -147,27 +147,27 @@ this.header = header; } - public int getId() { + public String getId() { return id; } - public void setId(int id) { + public void setId(String id) { this.id = id; } - public double getLat() { + public String getLat() { return lat; } - public void setLat(double lat) { + public void setLat(String lat) { this.lat = lat; } - public double getLng() { + public String getLng() { return lng; } - public void setLng(double lng) { + public void setLng(String lng) { this.lng = lng; } diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java index 00fa84d..9822236 100644 --- a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java +++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java @@ -57,11 +57,12 @@ images.clear(); for (UplodFileState data : states.values()) { ImageRequest image = new ImageRequest(); - image.setWebPath(data.getWebPath()); + image.setFilePath(data.getUoloadFilePath()); image.setId(data.getPostId()); - if (data.getUploadType()==UplodFileState.IMG_TYPE){ + image.setHash(data.getHash()); + if (data.getUploadType() == UplodFileState.IMG_TYPE) { images.add(image); - }else { + } else { videos.add(image); } diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java index b72a0b5..8e32bbf 100644 --- a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java +++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java @@ -78,11 +78,12 @@ images.clear(); for (UplodFileState data : states.values()) { ImageRequest image = new ImageRequest(); - image.setWebPath(data.getWebPath()); + image.setFilePath(data.getUoloadFilePath()); image.setId(data.getPostId()); - if (data.getUploadType()==UplodFileState.IMG_TYPE){ + image.setHash(data.getHash()); + if (data.getUploadType() == UplodFileState.IMG_TYPE) { images.add(image); - }else { + } else { videos.add(image); } diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageRequest.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageRequest.java index ba2ae36..698a49f 100644 --- a/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageRequest.java +++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageRequest.java @@ -9,7 +9,24 @@ */ public class ImageRequest { String id; - String webPath; + String filePath; + int hash; + + public String getFilePath() { + return filePath; + } + + public void setFilePath(String filePath) { + this.filePath = filePath; + } + + public int getHash() { + return hash; + } + + public void setHash(int hash) { + this.hash = hash; + } public String getId() { return id; @@ -19,11 +36,5 @@ this.id = id; } - public String getWebPath() { - return webPath; - } - public void setWebPath(String webPath) { - this.webPath = webPath; - } } diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageResult.java index 32ba700..d3e85ea 100644 --- a/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageResult.java +++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/ImageResult.java @@ -10,6 +10,15 @@ public class ImageResult { String id; String webPath; + String webPathZip; + + public String getWebPathZip() { + return webPathZip; + } + + public void setWebPathZip(String webPathZip) { + this.webPathZip = webPathZip; + } public String getId() { return id; diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/UploadFileResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/UploadFileResult.java new file mode 100644 index 0000000..16bf2e2 --- /dev/null +++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/UploadFileResult.java @@ -0,0 +1,113 @@ +package com.dayu.pipirrapp.bean.net; + +/** + * uploadFileResult -> 涓婁紶鏂囦欢缁撴灉 + * + * @author zuoxiao + * @version 1.0 + * @since 2025-01-14 + */ +public class UploadFileResult { + + // 鏂囦欢涓嬭浇web璺緞 + private String downloadPath; + + // 鏂囦欢鎵╁睍鍚� + private String extName; + + // 鏂囦欢鍦ㄦ湇鍔$瀛樺偍鐩稿璺緞 + private String filePath; + + // 鏂囦欢鐨勫搱甯屽�� + private int hash; + + // 鏂囦欢id(鏁版嵁搴撹褰旾D ) + private String id; + + // 鏂囦欢鍘熷鍚嶇О + private String orgName; + + // 鏂囦欢web璺緞锛堝湪娴忚鍣ㄤ腑鐩存帴鏄剧ず锛� + private String webPath; + + // 鐓х墖鎴栬棰戠殑缂╃暐鍥緒eb璺緞锛堝湪娴忚鍣ㄤ腑鐩存帴鏄剧ず锛� + private String webPathZip; + + // 鏋勯�犲嚱鏁� + public UploadFileResult(String downloadPath, String extName, String filePath, int hash, String id, String orgName, String webPath, String webPathZip) { + this.downloadPath = downloadPath; + this.extName = extName; + this.filePath = filePath; + this.hash = hash; + this.id = id; + this.orgName = orgName; + this.webPath = webPath; + this.webPathZip = webPathZip; + } + + // Getter鍜孲etter鏂规硶 + public String getDownloadPath() { + return downloadPath; + } + + public void setDownloadPath(String downloadPath) { + this.downloadPath = downloadPath; + } + + public String getExtName() { + return extName; + } + + public void setExtName(String extName) { + this.extName = extName; + } + + public String getFilePath() { + return filePath; + } + + public void setFilePath(String filePath) { + this.filePath = filePath; + } + + public int getHash() { + return hash; + } + + public void setHash(int hash) { + this.hash = hash; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getOrgName() { + return orgName; + } + + public void setOrgName(String orgName) { + this.orgName = orgName; + } + + public String getWebPath() { + return webPath; + } + + public void setWebPath(String webPath) { + this.webPath = webPath; + } + + public String getWebPathZip() { + return webPathZip; + } + + public void setWebPathZip(String webPathZip) { + this.webPathZip = webPathZip; + } + +} diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/UplodFileState.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/UplodFileState.java index 32f489e..ab5e23b 100644 --- a/app/src/main/java/com/dayu/pipirrapp/bean/net/UplodFileState.java +++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/UplodFileState.java @@ -32,9 +32,16 @@ //涓婁紶鍚庣殑id String postId; //涓婁紶鍚庣殑鍦板潃 - String webPath; +// String webPath; + //涓婁紶鍚庤繑鍥炵殑鏂囦欢鍦ㄦ湇鍔$瀛樺偍鐩稿璺緞 + String uoloadFilePath; + //涓婁紶鍚庣殑鍝堝笇鍊� + int hash; + //涓婁紶鍚庣殑缂╃暐鍥� + String webPathZip; + //褰撳墠璇锋眰 - Call<BaseResponse> thisCall; + Call<BaseResponse<UploadFileResult>> thisCall; //鍥剧墖涓婁紶杩涘害 int progress; //adapter涓殑position @@ -43,6 +50,30 @@ int uploadType; //鎵╁睍鍚� String extName; + + public String getUoloadFilePath() { + return uoloadFilePath; + } + + public void setUoloadFilePath(String uoloadFilePath) { + this.uoloadFilePath = uoloadFilePath; + } + + public int getHash() { + return hash; + } + + public void setHash(int hash) { + this.hash = hash; + } + + public String getWebPathZip() { + return webPathZip; + } + + public void setWebPathZip(String webPathZip) { + this.webPathZip = webPathZip; + } public String getExtName() { return extName; @@ -77,11 +108,11 @@ } - public Call<BaseResponse> getThisCall() { + public Call<BaseResponse<UploadFileResult>> getThisCall() { return thisCall; } - public void setThisCall(Call<BaseResponse> thisCall) { + public void setThisCall(Call<BaseResponse<UploadFileResult>> thisCall) { this.thisCall = thisCall; } @@ -121,11 +152,5 @@ this.postId = postId; } - public String getWebPath() { - return webPath; - } - public void setWebPath(String webPath) { - this.webPath = webPath; - } } diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java index 2715f12..addff5b 100644 --- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java +++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java @@ -26,11 +26,13 @@ import com.dayu.pipirrapp.R; import com.dayu.pipirrapp.activity.AddIssueActivity; import com.dayu.pipirrapp.bean.db.CenterPointBean; +import com.dayu.pipirrapp.bean.db.DivideBean; import com.dayu.pipirrapp.bean.db.InspectionBean; import com.dayu.pipirrapp.bean.db.InspectionLocationBean; import com.dayu.pipirrapp.bean.db.LatLonBean; import com.dayu.pipirrapp.bean.db.MarkerBean; import com.dayu.pipirrapp.bean.net.CenterPointResult; +import com.dayu.pipirrapp.bean.net.DivideListResult; import com.dayu.pipirrapp.bean.net.DivideResult; import com.dayu.pipirrapp.bean.net.InsectionResult; import com.dayu.pipirrapp.bean.net.InspectionRequest; @@ -100,8 +102,11 @@ List<InspectionLocationBean> aginShowlocationBeans; //web鍔犺浇鏃剁綉椤佃繕娌″姞杞藉畬鏃剁殑鏁版嵁 List<MarkerBean> webNoFinishMarkerData = new ArrayList<>(); + List<DivideBean> webNoFinishDivideData = new ArrayList<>(); //鎵�鏈夌殑Marker鏁版嵁閿负marker鐨処d Map<String, MarkerBean> markerBeanSet = new HashMap<>(); + //鎵�鏈夊垎姘存埧 + Map<String, DivideBean> divideBeanMap = new HashMap<>(); //涓績鐐瑰潗鏍� public double centerLng; public double centerLat; @@ -573,6 +578,28 @@ } } + /** + * 娣诲姞鍙栨按鍙f爣娉� + */ + public void setDivide(DivideBean divide) { + if (divide != null) { + if (webViewIsFinished) { + if (!TextUtils.isEmpty(divide.getLng()) && !TextUtils.isEmpty(divide.getLat())) { + mWebView.evaluateJavascript("javascript:addMarker(\"" + divide.getId() + "\",\"" + divide.getLng() + "\",\"" + divide.getLat() + "\",\"" + divide.getDivideName() + "\")", new ValueCallback<String>() { + @Override + public void onReceiveValue(String value) { + } + }); + divideBeanMap.put(divide.getId(), divide); + } else { + MyLog.d("setMapMarker>" + divide.getDivideName() + "缁忕含搴︿负绌�"); + } + } else { + webNoFinishDivideData.add(divide); + } + } + } + /** * 寮�濮嬪贰妫�鐨勭浉鍏抽�昏緫 @@ -761,25 +788,34 @@ * 鑾峰彇鍒嗘按鎴� */ private void getDivideList() { - ApiManager.getInstance().requestPost(MapFragment.this.getContext(), BASE_URL + "/project/divide/getDivides", DivideResult.class, null, new SubscriberListener<BaseResponse<DivideResult>>() { + ApiManager.getInstance().requestPost(MapFragment.this.getContext(), BASE_URL + "/project/divide/getDivides", DivideListResult.class, null, new SubscriberListener<BaseResponse<DivideListResult>>() { @Override - public void onNext(BaseResponse<DivideResult> t) { + public void onNext(BaseResponse<DivideListResult> t) { try { if (t.isSuccess()) { -// if (t.getContent().) -// -// -// // 浣跨敤 RxJava 寮傛鎻掑叆鏁版嵁 -// DaoSingleton.getAsynchInstance(MapFragment.this.getContext()).markerDao().insertAll() -// .subscribeOn(Schedulers.io()) // 鍦� IO 绾跨▼涓婃墽琛� -// .observeOn(AndroidSchedulers.mainThread()) // 鍦ㄤ富绾跨▼涓婅瀵� -// .subscribe(() -> { -// // 鎻掑叆鎴愬姛 -// Log.i("mWebView", "鏁版嵁鎻掑叆鎴愬姛"); -// }, throwable -> { -// // 鎻掑叆澶辫触 -// Log.e("mWebView", "鏁版嵁鎻掑叆澶辫触: " + throwable.getMessage()); -// }); + if (t.getContent().getObj() != null && t.getContent().getObj().isEmpty()) { + + List<DivideBean> divideBeans = new ArrayList<>(); + for (DivideResult divideResult : t.getContent().getObj()) { + DivideBean divideBean = getDivideBean(divideResult); + divideBeans.add(divideBean); + } + + + // 浣跨敤 RxJava 寮傛鎻掑叆鏁版嵁 + DaoSingleton.getAsynchInstance(MapFragment.this.getContext()).divideDao().insertAll(divideBeans) + .subscribeOn(Schedulers.io()) // 鍦� IO 绾跨▼涓婃墽琛� + .observeOn(AndroidSchedulers.mainThread()) // 鍦ㄤ富绾跨▼涓婅瀵� + .subscribe(() -> { + // 鎻掑叆鎴愬姛 + Log.i("mWebView", "鏁版嵁鎻掑叆鎴愬姛"); + }, throwable -> { + // 鎻掑叆澶辫触 + Log.e("mWebView", "鏁版嵁鎻掑叆澶辫触: " + throwable.getMessage()); + }); + } + + } else { ToastUtil.showToastLong(MapFragment.this.getContext(), t.getMsg()); } @@ -792,6 +828,30 @@ }); } + /** + * @param divideResult + * @return + */ + private static @NonNull DivideBean getDivideBean(DivideResult divideResult) { + DivideBean divideBean = new DivideBean(); + divideBean.setAddress(divideResult.getAddress()); + divideBean.setBlockId(divideResult.getBlockId()); + divideBean.setBlockName(divideResult.getBlockName()); + divideBean.setDivideId(divideResult.getDivideId()); + divideBean.setDivideName(divideResult.getDivideName()); + divideBean.setHeader(divideResult.getHeader()); + divideBean.setId(String.valueOf(divideResult.getId())); + divideBean.setLat(String.valueOf(divideResult.getLat())); + divideBean.setLng(String.valueOf(divideResult.getLng())); + divideBean.setOperateDt(divideResult.getOperateDt()); + divideBean.setOperator(divideResult.getOperator()); + divideBean.setPhone(divideResult.getPhone()); + divideBean.setRemarks(divideResult.getRemarks()); + divideBean.setVillages(divideResult.getVillages()); + divideBean.setArea(divideResult.getArea()); + return divideBean; + } + @Override public void onDestroy() { diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java index d80da85..e21da6e 100644 --- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java +++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java @@ -17,6 +17,7 @@ import com.dayu.pipirrapp.bean.net.CodeResult; import com.dayu.pipirrapp.bean.net.UplodFileState; import com.dayu.pipirrapp.bean.net.WeatherResponse; +import com.dayu.pipirrapp.bean.net.UploadFileResult; import com.dayu.pipirrapp.net.subscribers.BaseProgressSubscriber; import com.dayu.pipirrapp.net.subscribers.CodeListener; import com.dayu.pipirrapp.net.subscribers.ProgressSubscriber; @@ -28,7 +29,6 @@ import com.dayu.pipirrapp.utils.MyJsonParser; import com.dayu.pipirrapp.utils.MyLog; import com.dayu.pipirrapp.utils.NetUtils; -import com.google.gson.internal.LinkedTreeMap; import java.io.File; import java.util.HashMap; @@ -332,7 +332,7 @@ }); MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), progressRequestBody); RequestBody description = RequestBody.create(MediaType.parse("text/plain"), "file description"); - Call<BaseResponse> uploadFile = null; + Call<BaseResponse<UploadFileResult>> uploadFile = null; switch (uplodData.getUploadType()) { case UplodFileState.IMG_TYPE: uploadFile = apiService.uploadImgFile(body, description); @@ -346,14 +346,17 @@ } uplodData.setThisCall(uploadFile); - uploadFile.enqueue(new Callback<BaseResponse>() { + uploadFile.enqueue(new Callback<BaseResponse<UploadFileResult>>() { @Override - public void onResponse(Call<BaseResponse> call, Response<BaseResponse> response) { + public void onResponse(Call<BaseResponse<UploadFileResult>> call, Response<BaseResponse<UploadFileResult>> response) { if (response.body() != null) { if (response.body().isSuccess()) { + UploadFileResult uploadFileResult=response.body().getContent(); uplodData.setState(STATE_DONE); - uplodData.setPostId(((LinkedTreeMap) response.body().getContent()).get("id").toString()); - uplodData.setWebPath(((LinkedTreeMap) response.body().getContent()).get("webPath").toString()); + uplodData.setPostId(uploadFileResult.getId()); + uplodData.setUoloadFilePath(uploadFileResult.getFilePath()); + uplodData.setHash(uploadFileResult.getHash()); + uplodData.setWebPathZip(uploadFileResult.getWebPathZip()); listener.onBack(uplodData); } else { MyLog.d("progressRequestBody>>>" + response.body().getMsg()); @@ -371,7 +374,7 @@ } @Override - public void onFailure(Call<BaseResponse> call, Throwable t) { + public void onFailure(Call<BaseResponse<UploadFileResult>> call, Throwable t) { MyLog.d("progressRequestBody>>>" + "onFailure:" + t.getMessage()); if (!t.getMessage().equals("Canceled")) { uplodData.setState(STATE_ERROR); diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java index 1bafe3b..1be5448 100644 --- a/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java +++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java @@ -3,6 +3,7 @@ import com.dayu.pipirrapp.bean.net.CodeResult; import com.dayu.pipirrapp.bean.net.WeatherResponse; +import com.dayu.pipirrapp.bean.net.UploadFileResult; import java.util.Map; @@ -59,11 +60,11 @@ @Multipart @POST(Constants.BASE_UPLOAD_FILE_URL + "/app/webFile/upPhoto") - Call<BaseResponse> uploadImgFile(@Part MultipartBody.Part file, @Part("description") RequestBody description); + Call<BaseResponse<UploadFileResult>> uploadImgFile(@Part MultipartBody.Part file, @Part("description") RequestBody description); @Multipart @POST(Constants.BASE_UPLOAD_FILE_URL + "/app/webFile/upVideo") - Call<BaseResponse> uploadVideoFile(@Part MultipartBody.Part file, @Part("description") RequestBody description); + Call<BaseResponse<UploadFileResult>> uploadVideoFile(@Part MultipartBody.Part file, @Part("description") RequestBody description); //鑾峰彇楠岃瘉鐮� @GET(Constants.BASE_URL + "/app/captcha/get") diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/FileUploadUtils.java b/app/src/main/java/com/dayu/pipirrapp/tool/FileUploadUtils.java index 6803845..62b4a6c 100644 --- a/app/src/main/java/com/dayu/pipirrapp/tool/FileUploadUtils.java +++ b/app/src/main/java/com/dayu/pipirrapp/tool/FileUploadUtils.java @@ -50,7 +50,7 @@ public static void cancelAllCall(Map<String, UplodFileState> uplodFileStates) { try { for (UplodFileState uplodFileState : uplodFileStates.values()) { - Call<BaseResponse> mCall = uplodFileState.getThisCall(); + Call mCall = uplodFileState.getThisCall(); if (mCall != null) { mCall.cancel(); } diff --git a/app/src/main/res/layout/activity_add_issue.xml b/app/src/main/res/layout/activity_add_issue.xml index 66d38ad..7709285 100644 --- a/app/src/main/res/layout/activity_add_issue.xml +++ b/app/src/main/res/layout/activity_add_issue.xml @@ -59,7 +59,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="鎻愪氦鍥剧墖锛�" + android:text="鎻愪氦鍥剧墖鎴栬棰戯細" android:textColor="@color/black" android:textSize="@dimen/order_detail_button_size" /> </LinearLayout> diff --git a/app/src/main/res/layout/activity_issue_detail.xml b/app/src/main/res/layout/activity_issue_detail.xml index f99b998..6c4996e 100644 --- a/app/src/main/res/layout/activity_issue_detail.xml +++ b/app/src/main/res/layout/activity_issue_detail.xml @@ -180,7 +180,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="涓婃姤鍥剧墖锛�" + android:text="涓婃姤鍥剧墖鎴栬棰戯細" android:textColor="@color/item_name_text_color" android:textSize="@dimen/order_detail_text_size" /> diff --git a/app/src/main/res/layout/activity_order_deal.xml b/app/src/main/res/layout/activity_order_deal.xml index 2163ab0..3eab21e 100644 --- a/app/src/main/res/layout/activity_order_deal.xml +++ b/app/src/main/res/layout/activity_order_deal.xml @@ -82,7 +82,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="鎻愪氦鍥剧墖锛�" + android:text="鎻愪氦鍥剧墖鎴栬棰戯細" android:textColor="@color/black" android:textSize="@dimen/order_detail_button_size" /> </LinearLayout> diff --git a/app/src/main/res/layout/activity_order_detail.xml b/app/src/main/res/layout/activity_order_detail.xml index 3136c82..6a2ac80 100644 --- a/app/src/main/res/layout/activity_order_detail.xml +++ b/app/src/main/res/layout/activity_order_detail.xml @@ -395,7 +395,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="鍙嶉鍥剧墖锛�" + android:text="鍙嶉鍥剧墖鎴栬棰戯細" android:textColor="@color/item_name_text_color" android:textSize="@dimen/order_detail_text_size" /> -- Gitblit v1.8.0