168
+        protected Boolean doInBackground(OrderBean... params) {
169
+            OrderBean photoBean = params[0];
170
+            String  path = BoxUrlContainer.PHOTO_PATH_PREFIX_URL+orderBean.photoBean.photoPath;
171
+            LogHelper.d(TAG,"保存照片到本地,图片链接地址为"+path);
172
+            FileOutputStream fOut = null;
173
+            HttpURLConnection conn = null;
174
+            InputStream inStream = null;
175
+            try {
176
+                URL url = new URL(path);
177
+                conn = (HttpURLConnection) url.openConnection();
178
+                conn.setConnectTimeout(5 * 1000);
179
+                conn.setRequestMethod("GET");
180
+                inStream = conn.getInputStream();
181
+                if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
182
+                    String dirPath = ai.pai.lensman.utils.Constants.APP_IMAGE_DIR + File.separator+orderBean.photoBean.sessionId+File.separator+ Constants.ORIGIN_DIR_NAME;
183
+                    File dir = new File(dirPath);
184
+                    dir.mkdirs();
185
+                    File file = new File(dir, orderBean.photoBean.photoName);
186
+                    fOut = new FileOutputStream(file);
187
+                    byte[] buffer = new byte[2048];
188
+                    int len ;
189
+                    while((len=inStream.read(buffer))!=-1){
190
+                        fOut.write(buffer,0,len);
191
+                        fOut.flush();
192
+                    }
193
+                    fOut.flush();
194
+                    LogHelper.d(TAG,"保存照片到本地,图片保存至"+file.getAbsolutePath()+"图片大小为"+file.length()+"字节\n\n");
195
+                }
196
+                return true;
197
+            } catch (Exception e) {
198
+                e.printStackTrace();
199
+            } finally {
200
+                try{
201
+                    inStream.close();
202
+                    conn.disconnect();
203
+                    fOut.close();
204
+                }catch (Exception e){
205
+                    e.printStackTrace();
206
+                }
207
+            }
208
+            return false;
209
+        }
210
+
211
+        @Override
212
+        protected void onPostExecute(Boolean result) {
213
+            super.onPostExecute(result);
214
+            if (result) {
215
+                uploadOrigin(orderBean);
216
+            }else{
217
+
218
+            }
219
+        }
220
+    }
221
+
222
+    public class UploadTask extends AsyncTask<Void, Integer, Boolean> {
223
+
224
+        private static final String TAG = "czy";
225
+        private OrderBean bean;
226
+
227
+        public UploadTask(OrderBean bean) {
228
+            this.bean = bean;
229
+        }
230
+
231
+        @Override
232
+        protected Boolean doInBackground(Void... params) {
233
+            for(int k = 0 ; k< 5;k++){
234
+                try {
235
+                    String dirPath = ai.pai.lensman.utils.Constants.APP_IMAGE_DIR + File.separator + bean.photoBean.sessionId
236
+                            + File.separator + ai.pai.lensman.utils.Constants.THUMBNAIL_DIR_NAME;
237
+                    File dir = new File(dirPath);
238
+                    dir.mkdirs();
239
+                    File photo = new File(dir, bean.photoBean.photoName);
240
+                    LogHelper.d(TAG, "上传照片 第"+k+"次尝试"+ bean);
241
+                    if (photo.exists() && photo.isFile()) {
242
+                        PhotoUploadUtils photoUploadUtils = new PhotoUploadUtils(UrlContainer.ORIGIN_PHOTO_UPLOAD_URL + "?timestamp=" + System.currentTimeMillis());
243
+                        photoUploadUtils.addFileParameter("photo", photo);
244
+                        photoUploadUtils.addTextParameter("user_id", bean.photoBean.lensmanId);
245
+                        photoUploadUtils.addTextParameter("session_id", bean.photoBean.sessionId);
246
+                        photoUploadUtils.addTextParameter("photo_id", String.valueOf(bean.photoBean.photoId));
247
+                        photoUploadUtils.addTextParameter("nickname",Preferences.getInstance().getUserName());
248
+
249
+                        String result = new String(photoUploadUtils.send(), "UTF-8");
250
+                        JSONObject resultObj = new JSONObject(result);
251
+                        if (resultObj.getInt("status") == 200) {
252
+                            LogHelper.d(TAG, "上传 UploadTask upload result ok ");
253
+                            return true;
254
+                        }
255
+                    } else {
256
+                        return false;
257
+                    }
258
+
259
+                } catch (Exception e) {
260
+                    LogHelper.d(TAG, "上传发生异常 UploadTask :" + bean + " error:" + e);
261
+                }
262
+            }
263
+            return false;
264
+        }
265
+
266
+        @Override
267
+        protected void onPostExecute(Boolean result) {
268
+            if (result) {
269
+                LogHelper.d(TAG, "上传 UploadTask " + bean + "  success ");
270
+                orderList.remove(bean);
271
+                dealOrder();
272
+            } else {
273
+                LogHelper.d(TAG, "上传 UploadTask " + bean + "  fail ");
274
+            }
275
+        }
276
+
277
+    }
278
+
68 279
 }

+ 11 - 0
app/src/main/java/ai/pai/lensman/utils/BoxUrlContainer.java

@@ -16,6 +16,15 @@ public class BoxUrlContainer {
16 16
 
17 17
     public static String PHOTO_PATH_PREFIX_URL = BASE_URL + "static/";
18 18
 
19
+    /**
20
+     * lensman  # 摄影师唯一标识
21
+     * session  # Session
22
+     * name  # fetch_thumbnail 返回
23
+     */
24
+    public static String FETCH_ORIGIN_URL = BASE_URL +"fetch_origin";
25
+
26
+
27
+
19 28
     public static void resetIPHost(String ip) {
20 29
         BOX_IP = ip;
21 30
 
@@ -30,6 +39,8 @@ public class BoxUrlContainer {
30 39
         FETCH_THUMBNAIL_URL = BASE_URL + "fetch_thumbnail";
31 40
 
32 41
         PHOTO_PATH_PREFIX_URL = BASE_URL + "static/";
42
+
43
+        FETCH_ORIGIN_URL = BASE_URL +"fetch_origin";
33 44
     }
34 45
 
35 46
 

+ 14 - 1
app/src/main/java/ai/pai/lensman/utils/UrlContainer.java

@@ -37,7 +37,20 @@ public class UrlContainer {
37 37
 
38 38
     public static final String BRIEFS_URL = HOST_URL+"l/brief";
39 39
 
40
-    public static final String QUERY_ORDER_URL = HOST_URL+"l/query";
40
+    /**
41
+     * user_id  # 用户唯一标识
42
+     */
43
+    public static final String QUERY_ORIGIN_ORDER_URL = HOST_URL+"l/origin_wanted";
44
+
45
+    /**
46
+     * user_id  # 用户唯一标识
47
+     nickname  # 用户昵称
48
+     session_id  # SESSION唯一标识
49
+     photo_id  # 照片唯一标识
50
+     photo  # @File 需要上传的照片
51
+     */
52
+    public static final String ORIGIN_PHOTO_UPLOAD_URL = HOST_URL+"l/origin_upload";
53
+
41 54
 
42 55
     public static final String FEEDBACK_URL = HOST_URL +"op/feedback";
43 56
 

pai2 - Gogs: Go Git Service

拍爱

Brightcells: ac895ae2cd Add new api get_userinfo_api 9 ans auparavant
..
__init__.py ac895ae2cd Add new api get_userinfo_api 9 ans auparavant