xuxiuxi
2017-06-27 c7d60f1695f7fd2c8b1ff7a1e4965d4697aca7ac
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -6,6 +6,7 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Base64;
@@ -18,6 +19,8 @@
import android.widget.TextView;
import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.SurveillanceFragment;
@@ -26,6 +29,7 @@
import cn.com.basic.face.base.PictureTaker;
import cn.com.basic.face.dialog.SurveillancePhotoDialog;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.common.ResultBean;
import cn.com.basic.face.discern.entity.Register;
import cn.com.basic.face.discern.query.item.CheckInQueryItem;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
@@ -40,6 +44,8 @@
import cn.com.basic.face.util.AppApi;
import cn.com.basic.face.dialog.DateSelectDialog;
import cn.com.basic.face.dialog.CountryDialog;
import cn.com.basic.face.util.PostData;
import cn.com.basic.face.util.Uploader;
import cn.com.basic.face.widget.register.RegisterRightFieldLabelView;
import cn.com.basic.face.widget.register.RegisterRightFieldTextView;
import cn.com.basic.face.dialog.SelectDialog;
@@ -134,16 +140,18 @@
    @OnClick(R.id.fragment_register_save)
    public void fragment_register_save_click(View v) {
        if (!BaseApplication.deviceAvailable) {
            return;
        }
//        SurveillanceMng.getInstance().addBitmap(new ArrayList(), new byte[]{1,2,3}, 3, "1");
//
//        if (1==1) {
//            return;
//        }
        RequestParams params = new RequestParams();
        DisplayMetrics metrics = getActivity().getResources().getDisplayMetrics();
        int h1 = fragment_register_surveillance_photo.getHeight();
        int h2 = fragment_register_upload_custom_photo.getHeight();
        int h3 = fragment_register_id_card_photo.getHeight();
        DisplayMetrics displayMetrics = BaseApplication.getInstance().getResources().getDisplayMetrics();
        float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
        float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
        String name = fragment_register_name.getValue();
        if (name.trim().length() <= 0) {
@@ -205,14 +213,18 @@
            fragment_register_visitor_class.callOnClick();
            return;
        }
        params.addBodyParameter(Register.FieldNames.username, name);
        params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
        params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
        params.addBodyParameter(Register.FieldNames.identifyNum, id_num);
        params.addBodyParameter(Register.FieldNames.companyId, company);
        params.addBodyParameter(Register.FieldNames.birthday, birthday);
        final PostData pd = new PostData();
        pd.addValue(Register.FieldNames.username, name);
        pd.addValue(Register.FieldNames.mobilePhone, phone);
        pd.addValue(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
        pd.addValue(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
        pd.addValue(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
        pd.addValue(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
        pd.addValue(Register.FieldNames.identifyNum, id_num);
        pd.addValue(Register.FieldNames.companyId, company);
        pd.addValue(Register.FieldNames.birthday, birthday);
        if (surveillanceQueryItem_selectPhoto != null) {
            params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
@@ -220,47 +232,63 @@
            fragment_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
            NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
            String str = Base64.encodeToString(nativeImg.image, 0, nativeImg.size, Base64.DEFAULT);
            params.addBodyParameter("base64Image", str);
        }
        if (surveillanceQueryItem_uploadPhoto != null) {
//            params.addBodyParameter("width", surveillanceQueryItem_uploadPhoto.getWidth());
//            params.addBodyParameter("height", surveillanceQueryItem_uploadPhoto.getHeight());
//            fragment_register_surveillance_photo_img = surveillanceQueryItem_uploadPhoto.getBitmap();
//
//            NativeImg nativeImg = surveillanceQueryItem_uploadPhoto.getNativeImg();
//            String str = Base64.encodeToString(nativeImg.image, 0, nativeImg.size, Base64.DEFAULT);
//
//            params.addBodyParameter("base64Image", str);
            byte[] imageBytes = new byte[nativeImg.size];
            for (int i = 0; i < nativeImg.size; i++) {
                imageBytes[i] = nativeImg.image[i];
            }
            pd.addData("rawSurveillancePhoto", "application/octet-stream", imageBytes);
        }
        if (fragment_register_surveillance_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            params.addBodyParameter(Register.FieldNames.surveillancePhoto, encodedImage);
            pd.addData(Register.FieldNames.surveillancePhoto, "application/octet-stream", imageBytes);
        }
        if (fragment_register_upload_custom_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            params.addBodyParameter(Register.FieldNames.uploadCustomPhoto, encodedImage);
            pd.addData(Register.FieldNames.uploadCustomPhoto, "application/octet-stream", imageBytes);
        }
        if (fragment_register_id_card_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            params.addBodyParameter(Register.FieldNames.idCardPhoto, encodedImage);
            pd.addData(Register.FieldNames.idCardPhoto, "application/octet-stream", imageBytes);
        }
        RegisterMng.getInstance().add(params);
        class ConnectionTask extends AsyncTask<String, Void, String> {
            private String json = "";
            @Override
            protected String doInBackground(String... urls) {
                try {
                    Uploader uploader = new Uploader("", AppApi.BASE_URL + AppApi.REGISTER_ADD);
                    json = uploader.upload("", pd);
                    return json;
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
            @Override
            protected void onPostExecute(String result) {
                try {
                    Toast.makeText(BaseApplication.getInstance(),"添加成功", Toast.LENGTH_SHORT).show();
                    //RegisterFragment.getInstance().resetForm();
                } catch(Exception e) {
                    e.printStackTrace();
                }
            }
        }
        ConnectionTask task = new ConnectionTask();
        String[] params1 = new String[2];
        task.execute(params1);
    }
    public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -304,23 +332,16 @@
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                fragment_register_upload_custom_photo.setImageBitmap(bitmap);
                //fragment_register_upload_custom_photo_img = bitmap;
                fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE);
                fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
                List<SurveillanceQueryItem> bitmapList = new ArrayList<>();
                SurveillanceQueryItem item = new SurveillanceQueryItem();
//                item.setBitmap(bitmap);
                item.setWidth(bitmap.getWidth()+"");
                item.setHeight(bitmap.getHeight()+"");
                item.setLocalUri(uri);
//                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
//                byte[] imageBytes = byteArrayOutputStream.toByteArray();
//                String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
//                item.setBase64Image(encodedImage);
                setSurveillanceQueryItem_selectPhoto(item);
                bitmapList.add(item);
                bitmapList.add(item);
@@ -504,11 +525,6 @@
    @OnClick(R.id.fragment_register_id_card_photo)
    public void fragment_register_id_card_photo_click(View view) {
//        Intent takePicture = new Intent(MainActivity.getInstance(), PictureTaker.class);
//        startActivityForResult(takePicture, fragment_register_id_card_photo_);
//        Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//        startActivityForResult(takePicture, fragment_register_id_card_photo_);
        Intent intent = new Intent();
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
        idCardImageCaptureFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg");