购买照片流程

chengzhenyu 8 年之前
父节点
当前提交
f0c720729f

+ 12 - 0
app/src/main/java/ai/pai/lensman/bean/OrderBean.java

@@ -8,4 +8,16 @@ public class OrderBean {
8 8
     public String buyerName;
9 9
     public long originExpireTime;
10 10
     public PhotoBean photoBean;
11
+
12
+    @Override
13
+    public boolean equals(Object obj) {
14
+        if(obj == this){
15
+            return true;
16
+        }
17
+        if(!(obj instanceof OrderBean)){
18
+            return false;
19
+        }
20
+        return (((OrderBean) obj).photoId==this.photoId);
21
+    }
22
+
11 23
 }

+ 49 - 7
app/src/main/java/ai/pai/lensman/service/OrderDealService.java

@@ -7,6 +7,7 @@ import android.os.Binder;
7 7
 import android.os.Handler;
8 8
 import android.os.IBinder;
9 9
 import android.os.Message;
10
+import android.text.TextUtils;
10 11
 
11 12
 import com.android.common.executors.ThreadExecutor;
12 13
 import com.android.common.utils.LogHelper;
@@ -124,7 +125,7 @@ public class OrderDealService extends Service implements Handler.Callback{
124 125
         HashMap<String, String> params = new HashMap<>();
125 126
         params.put("lensman", Preferences.getInstance().getLensManId());
126 127
         params.put("session", orderBean.sessionId);
127
-        params.put("name", orderBean.photoId);
128
+        params.put("id", orderBean.photoId);
128 129
         new HttpPostTask(params) {
129 130
 
130 131
             @Override
@@ -135,11 +136,10 @@ public class OrderDealService extends Service implements Handler.Callback{
135 136
                     int status = json.getInt("status");
136 137
                     if (status == 200) {
137 138
                         JSONObject data = json.getJSONObject("data");
138
-                        JSONObject file = data.getJSONObject("origin");
139 139
                         PhotoBean bean = new PhotoBean();
140
-                        bean.photoName = file.getString("name");
141
-                        bean.photoId = file.getLong("id");
142
-                        bean.photoPath = file.getString("path");
140
+                        bean.photoId = Long.parseLong(orderBean.photoId);
141
+                        bean.photoName = bean.photoId+".jpg";
142
+                        bean.photoPath = data.getString("path");
143 143
                         bean.captureTime = bean.photoId;
144 144
                         bean.isRawPhoto = false;
145 145
                         bean.uploadStatus =  PhotoBean.UploadStatus.STATUS_NO_BEGIN;
@@ -164,7 +164,11 @@ public class OrderDealService extends Service implements Handler.Callback{
164 164
             @Override
165 165
             protected void onPostSuccess() {
166 166
                 super.onPostSuccess();
167
-                new SavePhotoTask(orderBean).executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), orderBean);
167
+                if(TextUtils.isEmpty(orderBean.photoBean.photoPath)){
168
+                    reportOriginPhotoDeleted(orderBean);
169
+                }else{
170
+                    new SavePhotoTask(orderBean).executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), orderBean);
171
+                }
168 172
             }
169 173
         }.executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), BoxUrlContainer.FETCH_ORIGIN_URL);
170 174
 
@@ -258,7 +262,45 @@ public class OrderDealService extends Service implements Handler.Callback{
258 262
             }
259 263
         }
260 264
     }
265
+    private void reportOriginPhotoDeleted(final OrderBean orderBean) {
266
+        HashMap<String, String> params = new HashMap<>();
267
+        params.put("user_id", Preferences.getInstance().getLensManId());
268
+        params.put("session_id", orderBean.sessionId);
269
+        params.put("photo_id", orderBean.photoId);
270
+        params.put("deleted", String.valueOf(1));
271
+        new HttpPostTask(params) {
261 272
 
273
+            @Override
274
+            protected boolean parseResponse(String response) {
275
+                LogHelper.d(TAG, "reportOriginPhotoDeleted get response string = " + response);
276
+                try {
277
+                    JSONObject json = new JSONObject(response);
278
+                    int status = json.getInt("status");
279
+                    if (status == 200) {
280
+                        return true;
281
+                    }
282
+                } catch (Exception e) {
283
+                    e.printStackTrace();
284
+                }
285
+                return false;
286
+            }
287
+
288
+            @Override
289
+            protected void onPostFail() {
290
+                super.onPostFail();
291
+                orderList.remove(orderBean);
292
+                dealOrder();
293
+            }
294
+
295
+            @Override
296
+            protected void onPostSuccess() {
297
+                super.onPostSuccess();
298
+                orderList.remove(orderBean);
299
+                dealOrder();
300
+            }
301
+        }.executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), UrlContainer.ORIGIN_PHOTO_UPLOAD_URL);
302
+
303
+    }
262 304
     public class UploadTask extends AsyncTask<Void, Integer, Boolean> {
263 305
 
264 306
         private static final String TAG = "czy";
@@ -280,11 +322,11 @@ public class OrderDealService extends Service implements Handler.Callback{
280 322
                     LogHelper.d(TAG, "上传照片 第" + k + "次尝试" + bean);
281 323
                     if (photo.exists() && photo.isFile()) {
282 324
                         PhotoUploadUtils photoUploadUtils = new PhotoUploadUtils(UrlContainer.ORIGIN_PHOTO_UPLOAD_URL + "?timestamp=" + System.currentTimeMillis());
325
+                        photoUploadUtils.addTextParameter("deleted", String.valueOf(0));
283 326
                         photoUploadUtils.addFileParameter("photo", photo);
284 327
                         photoUploadUtils.addTextParameter("user_id", bean.photoBean.lensmanId);
285 328
                         photoUploadUtils.addTextParameter("session_id", bean.photoBean.sessionId);
286 329
                         photoUploadUtils.addTextParameter("photo_id", String.valueOf(bean.photoBean.photoId));
287
-                        photoUploadUtils.addTextParameter("nickname", Preferences.getInstance().getUserName());
288 330
 
289 331
                         String result = new String(photoUploadUtils.send(), "UTF-8");
290 332
                         JSONObject resultObj = new JSONObject(result);