xuxiuxi
2017-06-20 5838c9545e775d9f0586e2b654ed538d9a85ee51
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -1,10 +1,15 @@
package cn.com.basic.face.service;
import android.os.AsyncTask;
import android.util.Base64;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import org.xutils.http.RequestParams;
import org.xutils.x;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
@@ -15,10 +20,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.ResultBean;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
import cn.com.basic.face.fragment.SurveillanceFragment;
import cn.com.basic.face.util.AppApi;
import cn.com.basic.face.util.Constant;
import cn.com.basic.face.util.PostData;
import cn.com.basic.face.util.Uploader;
public class SurveillanceMng {
@@ -58,8 +66,8 @@
            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
                Date now = new Date();
                Date createTime = item.getCreateTime();
                long secs = (now.getTime() - createTime.getTime()) / 1000 ;
                if (secs*1.0 / 60*5 >= 1) {
                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
                if (minutes >= 5) {
                    continue;
                }
                newPrevList.add(item);
@@ -68,18 +76,44 @@
        return newPrevList;
    }
    public void addBitmap(final List<SurveillanceQueryItem> bitmapList, byte[] byteArray, int len, String cameraInOrOut) {
    public void addBitmap(final List<SurveillanceQueryItem> bitmapList, final byte[] byteArray, int len, final String cameraInOrOut) {
        if (!BaseApplication.deviceAvailable) {
            return;
        }
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.SURVEILLANCE_UPLOAD);
        params.addBodyParameter("base64Photo", Base64.encodeToString(byteArray, 0, len, Base64.DEFAULT));
        params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
        params.addBodyParameter("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId());
        params.addBodyParameter("InOrOutCamera", cameraInOrOut+"");
        x.http().post(params, new BaseCommonCallBack() {
            public void success() {
                List<SurveillanceQueryItem> items = getList(SurveillanceQueryItem.class);
        class ConnectionTask extends AsyncTask<String, Void, String> {
            private String json = "";
            @Override
            protected String doInBackground(String... urls) {
                try {
                    PostData pd = new PostData();
                    pd.addValue("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
                    pd.addValue("InOrOutCamera", cameraInOrOut + "");
                    pd.addValue("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId());
                    pd.addData("surveillancePhoto", "application/octet-stream", byteArray);
                    Uploader uploader = new Uploader("", AppApi.BASE_URL + AppApi.SURVEILLANCE_UPLOAD);
                    json = uploader.upload("face/Surveillance/o_upload.do", pd);
                    return json;
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
            @Override
            protected void onPostExecute(String result) {
                try {
                    System.out.println("json="+result);
                    ResultBean resultBean = JSON.parseObject(result, ResultBean.class);
                    if (resultBean == null) {
                        System.out.println("resultBean="+resultBean);
                        return;
                    }
                    Object data = resultBean.getData();
                    if (data instanceof JSONArray) {
                        JSONArray jsonArray = (JSONArray) data;
                        List<SurveillanceQueryItem> items =  JSON.parseArray(jsonArray.toJSONString(), SurveillanceQueryItem.class);
                List prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
                List prevAttendanceList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().getPrevList();
@@ -93,10 +127,6 @@
                    if (type == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE
                            || type == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE
                            ) {
                        //item.setRegisterOrCheckIn(CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE);
                        if (prevVisitorList.size() > 3 ) {
                        }
                        item.setCreateTime(new Date());
                        newVisitorList.add(0, item);
                        if (i < bitmapList.size()) {
@@ -119,6 +149,7 @@
                            item.setHeight(surveillanceQueryItem.getHeight());
                        }
                    }
                            System.out.println("inOutCamera="+item.getInOrOutCamera());
                }
                if (newVisitorList.size() > 0) {
@@ -134,9 +165,16 @@
                    }
                    SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(prevAttendanceList);
                }
                    }
                } catch(Exception e) {
                    e.printStackTrace();
                }
            }
            }
        });
        ConnectionTask task = new ConnectionTask();
        String[] params = new String[2];
        task.execute(params);
    }
    public List getSurveillancePhotoList(long selectedId) {