From 1a10d546c76f474d33e23c5958c08aa0afcdae67 Mon Sep 17 00:00:00 2001 From: sujinwen <sujinwen@454eff88-639b-444f-9e54-f578c98de674> Date: 星期一, 24 七月 2017 11:46:45 +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