guilin 6 달 전
부모
커밋
f01e9cc729

+ 42 - 8
app/src/main/java/com/fxy/common/AsyncPictureUpload.java

@@ -46,6 +46,7 @@ import com.lzy.okgo.model.Response;
 import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -117,7 +118,10 @@ public class AsyncPictureUpload {
         resourceType   = spCache.getResourceType();
         resourcePrefix = spCache.getResourcePrefix();
         mRealm = Realm.getDefaultInstance();
-        uploadType = mActivity.getClass().getSimpleName();
+        if (mActivity != null && mActivity.getClass()!=null){
+            uploadType = mActivity.getClass().getSimpleName();
+        }
+
         limitOperate = new HashMap<>();
         uniqueTag =  this.fileKey+UUID.randomUUID().toString();
     }
@@ -261,14 +265,29 @@ public class AsyncPictureUpload {
         LocalMedia localMedia = awaitUploadList.get(num).getLocalMedia();
         String urlPath =localMedia.getPath();
         if (localMedia.isCompressed() && localMedia.getCompressPath()!=null){
-            urlPath = localMedia.getCompressPath();
+            if (new File(localMedia.getCompressPath()).exists()){
+                urlPath = localMedia.getCompressPath();
+            }
+
         }
 
         if (urlPath.isEmpty()){
+            Message msg = new Message();
+            msg.obj = "文件路径不为空";
+            msg.what = 1;
+            uploadHandler.sendMessage(msg);
+            return;
+        }
+
+        File file = new File(urlPath);
+        if (!file.exists()){
+            XLog.d("文件不存在本地路径"+urlPath+",拍照时间:"+awaitUploadList.get(num).getCreateTime());
+            setPushStatus(awaitUploadList.get(num).getId(),1,1);
             Message msg = new Message();
             msg.obj = "文件路径不存在";
             msg.what = 1;
             uploadHandler.sendMessage(msg);
+
             return;
         }
 
@@ -370,18 +389,29 @@ public class AsyncPictureUpload {
         mRealm.commitTransaction();
     }
 
+    private void setPushStatus(String realmId,Integer pushStatus,int isDelete){
+        //更新值
+        mRealm.beginTransaction();
+        AsyncUploadRealm myObject = mRealm.where(AsyncUploadRealm.class).equalTo("id",realmId).findFirst();
+        assert myObject != null;
+        myObject.setPushStatus(pushStatus);
+        myObject.setIsDelete(isDelete);
+
+        mRealm.commitTransaction();
+    }
+
 
     private RealmResults<AsyncUploadRealm> getBatchUploadRealm(){
         //更新值
         mRealm.beginTransaction();
-        Integer[] isFinish = {0,2};
+        Integer[] isFinish = {0,1,2};
         RealmResults<AsyncUploadRealm> realmResults  = mRealm.where(AsyncUploadRealm.class)
                 .equalTo("isDelete",0)
                 .equalTo("pushStatus",0)
-//                .in("isFinish",isFinish)
+                .in("isFinish",isFinish)
 //                    .equalTo("notifyKey",fileKey)
 //                    .equalTo("uploadType",uploadType)
-                .sort("pushStatus").findAll();
+                .sort("createTime").findAll();
         // 遍历结果并修改
         for (AsyncUploadRealm item : realmResults) {
             item.setIsFinish(1);
@@ -423,6 +453,10 @@ public class AsyncPictureUpload {
             assert myObject != null;
             myObject.setPushStatus(pushStatus);
             myObject.setIsFinish( pushStatus == 1 ? 3 : 2);
+            //失败更新
+            if (status==0){
+                myObject.setRePush(myObject.getRePush()+1);
+            }
             myObject.setOssUrl(photoPath);
             mRealm.commitTransaction();
 
@@ -482,15 +516,15 @@ public class AsyncPictureUpload {
 
             ConnectivityManager connectivityManager = (ConnectivityManager) mActivity.getSystemService(Context.CONNECTIVITY_SERVICE);
             if (connectivityManager == null) {
-                XLog.d( "无法获取ConnectivityManager实例");
+                //XLog.d( "无法获取ConnectivityManager实例");
                 return  isNetwork;
             }
             NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
             if (networkInfo != null) {
-                XLog.d( "当前网络状态:" + networkInfo.getState());
+                //XLog.d( "当前网络状态:" + networkInfo.getState());
                 isNetwork = true;
             } else {
-                XLog.d( "当前无网络连接");
+                //XLog.d( "当前无网络连接");
                 isNetwork = false;
             }
         } catch (Exception e) {

+ 3 - 0
app/src/main/java/com/fxy/common/OssService.java

@@ -191,6 +191,8 @@ public class OssService {
 //                }
 //            });
 
+            //XLog.e("开始执行上传"+objectKey+"上传的目录是:"+urlPath);
+
             // 设置进度回调
             put.setProgressCallback(new OSSProgressCallback<PutObjectRequest>() {
                 @Override
@@ -202,6 +204,7 @@ public class OssService {
                     msg.arg2 = progress;
                     msg.what = 3;
                     uploadHandler.sendMessage(msg);
+                    //XLog.e("上上传百分比"+progress);
                 }
             });
             // 异步上传

+ 6 - 4
app/src/main/java/com/fxy/main/fragment/MineFragment.java

@@ -157,7 +157,7 @@ public class MineFragment extends BaseFragment {
         //tvVersion.setText(getVersionName(getActivity()));不显示正式本版号
         tvVersion.setText("");
 
-        filesDir = "/sdcard/cargo-pda/pda-log/"+BuildConfig.BUILD_TYPE+"/";
+        filesDir = "/sdcard/fxy-pda/pda-log/"+BuildConfig.BUILD_TYPE+"/";
 
 
         CommSharedUtil commSharedUtil = CommSharedUtil.getInstance(getActivity());
@@ -447,9 +447,11 @@ public class MineFragment extends BaseFragment {
             }
             String imei = DeviceIdUtils.getIMEI(getContext());
             SPCache sp = SPCache.getInstance(getActivity());
-            String newsFileName = fileName+"-"+sp.getUserName() +"-"+ imei;
-            FiledUpload filedUpload = new FiledUpload(getActivity(),"log");
-            filedUpload.filedUpload(file.toString(),newsFileName);
+            String newsFileName = RxTimeTool.getYestoryDate("MMddHHmmss")+fileName+"-"+sp.getUserName();
+            String path_prefix = sp.getResourcePrefix()+"/android/log/"+ RxTimeTool.getYestoryDate("yyyyMMdd")+"/";
+
+            FiledUpload filedUpload = new FiledUpload(getActivity(),"");
+            filedUpload.filedUpload(file.toString(),path_prefix+newsFileName);
 
         }catch (Exception e){
             XLog.e("上传文件失败"+e.getMessage());

+ 1 - 1
config.gradle

@@ -8,7 +8,7 @@ ext {
             minSdkVersion    : 21,
             targetSdkVersion : 23,
             versionCode      : 1,
-            versionName      : "2.9.4",
+            versionName      : "2.9.6.1",
             versionApi       : "2.9",
             versionRealm     : 2,
     ]