xingzilong
2017-08-18 9e5babf9db52e64bdae60137be7696e56241fca6
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -11,11 +11,13 @@
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;
@@ -25,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 {
@@ -65,7 +72,6 @@
            File rawSurveillancePhotoFile = FileUtil.writeToFile("rawSurveillancePhotoFile_"+fileIndex, byteArray);
            File surveillancePhotoFile = FileUtil.writeToFile("surveillancePhotoFile_"+fileIndex, surveillancePhotoBytes);
            params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
            params.addBodyParameter("InOrOutCamera", cameraInOrOut + "");
            params.addBodyParameter("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId());
            params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
@@ -86,10 +92,12 @@
            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 {
                        SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
                        SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getList(SurveillanceQueryItem.class), bitmapList, cameraInOrOut);
                    } catch(Exception e) {
                        e.printStackTrace();
@@ -101,61 +109,8 @@
        }
    }
    public void sendOfflineUnknownToServer() {
        if (!BaseApplication.deviceAvailable) {
            return;
        }
        UnknownQueryItem item = SurveillanceDao.getInstance().readOfflineUnknownFromLocal();
        if (item == null) {
            return;
        }
        syncOfflineData(item);
    }
    public void removePhotoFileWhenStorageIsSlow() {
    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_UNKNOWN_ITEM_TYPE+"");
            x.http().post(params, new BaseCommonCallBack() {
                @Override
                public void success() {
                    try {
                        if (1==1) {
                            SurveillanceDao.getInstance().removeLocalSqliteRecord(item);
                        }
                    } catch(Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}