From 3ca99f2b70ec9301c682e4271410b866eb4f4549 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期日, 23 七月 2017 15:31:37 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java | 79 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 77 insertions(+), 2 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index b03ea79..2ad661c 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -10,10 +10,16 @@
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
+import cn.com.basic.face.discern.query.item.UnknownQueryItem;
+import cn.com.basic.face.service.sqlite.SurveillanceDao;
import cn.com.basic.face.util.AppApi;
import cn.com.basic.face.util.FileUtil;
+import cn.com.basic.face.util.SqliteSqlUtil;
import cn.com.basic.face.util.SurveillanceQueryItemUtil;
+import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil;
public class SurveillanceMng {
@@ -21,6 +27,11 @@
public static SurveillanceMng getInstance() {
return instance;
+ }
+
+ public void addOfflineBitmap(final List<SurveillanceQueryItem> bitmapList, final byte[] rawData, final String cameraInOrOut) {
+ SurveillanceDao.getInstance().saveOfflineUnknownToLocal(bitmapList, rawData, cameraInOrOut);
+ UnknownSurveillanceQueryItemUtil.getInstance().addItems(bitmapList);
}
public static class SurveillanceListThread extends Thread {
@@ -31,7 +42,11 @@
MainActivity.getInstance().runOnUiThread(new Runnable() {
@Override
public void run() {
- SurveillanceQueryItemUtil.getInstance().removeTimeoutItemAndShow();
+ if (BaseApplication.getInstance().networkAvailable()) {
+ SurveillanceQueryItemUtil.getInstance().removeTimeoutItemAndShow();
+ } else {
+ UnknownSurveillanceQueryItemUtil.getInstance().removeTimeoutItemAndShow();
+ }
}
});
Thread.sleep(1000*60*5);
@@ -78,11 +93,71 @@
params.setUri(AppApi.BASE_URL + AppApi.SURVEILLANCE_UPLOAD);
params.addBodyParameter("f0", f0);
params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
+ params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
x.http().post(params, new BaseCommonCallBack() {
@Override
public void success() {
try {
- SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getListBeanOfType(SurveillanceQueryItem.class), bitmapList, cameraInOrOut);
+ SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+ SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getList(SurveillanceQueryItem.class), bitmapList, cameraInOrOut);
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void sendOfflineUnknownToServer() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+ UnknownQueryItem item = SurveillanceDao.getInstance().readOfflineUnknownFromLocal();
+ if (item == null) {
+ return;
+ }
+ syncOfflineData(item);
+ }
+
+ private void syncOfflineData(final UnknownQueryItem item) {
+ try {
+ if (fileIndex > 30) {
+ fileIndex = 1;
+ }
+ fileIndex++;
+ RequestParams params = new RequestParams();
+
+ File rawSurveillancePhotoFile = FileUtil.getFile(item.getRawDataPath());
+
+ params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ params.addBodyParameter("InOrOutCamera", item.getCameraInOrOut() + "");
+ params.addBodyParameter("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId());
+ params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
+
+ File path = BaseApplication.getInstance().getFilesDir();
+ File f0 = new File(path, "f0");
+ if (!f0.exists()) {
+ f0.createNewFile();
+ }
+
+ FileWriter fw0 = new FileWriter(f0);
+ fw0.write("test1");
+ fw0.close();
+ params.setUri(AppApi.BASE_URL + AppApi.SURVEILLANCE_UPLOAD);
+ params.addBodyParameter("f0", f0);
+ params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
+ params.addBodyParameter("androidCreateTime", item.getCreateTime());
+ params.addBodyParameter("offlineUnknown", CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE +"");
+ params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ x.http().post(params, new BaseCommonCallBack() {
+ @Override
+ public void success() {
+ try {
+ if (1==1) {
+ SurveillanceDao.getInstance().removeLocalSqliteRecord(item);
+ }
} catch(Exception e) {
e.printStackTrace();
}
--
Gitblit v1.8.0