From 84e391f79e4c298e31b990667a54d991d645949f Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期三, 25 十二月 2019 09:01:50 +0800 Subject: [PATCH] a --- app/src/main/java/com/basic/security/fragment/PersonManageFragment.java | 136 ++++++++++++++++++++++++-------------------- 1 files changed, 74 insertions(+), 62 deletions(-) diff --git a/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java b/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java index fa17ed3..6515a12 100644 --- a/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java +++ b/app/src/main/java/com/basic/security/fragment/PersonManageFragment.java @@ -4,18 +4,17 @@ import com.basic.security.R; import com.basic.security.base.BaseFragment; +import com.basic.security.manager.BaseSettingManager; +import com.basic.security.manager.HintSignUpManager; +import com.basic.security.manager.PersonIdentityManager; +import com.basic.security.manager.PersonManager; import com.basic.security.manager.impl.cblite.AccountManager; -import com.basic.security.manager.impl.cblite.BaseSettingManager; -import com.basic.security.manager.impl.cblite.HintSignUpManager; -import com.basic.security.manager.impl.cblite.PersonIdentityManager; -import com.basic.security.manager.impl.cblite.PersonManager; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Person; import com.basic.security.utils.BasicIdUtil; import com.basic.security.utils.ButtonClickIntervalsUtils; import com.basic.security.utils.CheckIdCard; import com.basic.security.utils.FaceId; -import com.basic.security.utils.IdCard; import com.basic.security.utils.PhoneNumberCheckUtils; import com.basic.security.utils.ToastUtil; import com.basic.security.widget.ConfirmDialog; @@ -34,11 +33,11 @@ public ModelAdapter selectedPersonDocument; public boolean needVerifyIDCard = false; - private boolean isFromAdminRegister = false; - private boolean canSavePerson = true; public ConfirmDialog confirmDialog; public String savedPersonId; boolean messageComplete = false; + private boolean isFromAdminRegister = false; + private boolean canSavePerson = true; private String all_device = null; public boolean needIdCardInfo() { @@ -52,11 +51,11 @@ @Override public void show() { if (mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard) { - ((PersonIdentityFragment) mainActivity().fragment_person_identity).setIdentityWithPerson(null); + mainActivity().fragment_person_identity.setIdentityWithPerson(null); } // 瑙e喅浠庢敞鍐岄〉闈㈣烦鍒颁汉鍛樼鐞嗛〉闈�,绗竴娆′笉鏄剧ず璇峰湪鍒峰崱鍖洪獙璇佽韩浠借瘉 if (selectedPersonDocument != null && isFromAdminRegister) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).setPerson(selectedPersonDocument); + mainActivity().fragment_face_detail.setPerson(selectedPersonDocument); } } @@ -78,18 +77,18 @@ } } - public void savePerson() { + public boolean savePerson() { if (!ButtonClickIntervalsUtils.isCanClick()) { - return; + return false; } final String[] msg = {"淇濆瓨鎴愬姛"}; canSavePerson = true; BaseFragment currentFragment = mainActivity().currentFragment; class SavePersonHelper { - public void execute() { + public boolean execute() { if (checkPersonDocument()) { if (!canSavePerson) {// 鏍¢獙韬唤璇佸彿鍜屾墜鏈哄彿鏄惁绗﹀悎瑕佹眰 - return; + return false; } if (needSaveIdCard()) { saveIdCard(); @@ -100,21 +99,21 @@ setVerifyStatus(); } setIsRegistered(); - if (((PersonIdentityFragment) mainActivity().fragment_person_identity).savePersonIdentity(selectedPersonDocument.getId())) { + if (mainActivity().fragment_person_identity.savePersonIdentity(selectedPersonDocument.getId())) { byte[] camera_image_feature = selectedPersonDocument.getBlob("camera_image_feature"); if (camera_image_feature != null && camera_image_feature != null) { // 瑙e喅鍦╬ersonManager鐨勫凡娉ㄥ唽涓汉鍛樹俊鎭笉瀹屾暣鐨勬彁绀�,浜哄憳淇℃伅涓嶅畬鏁�,涓嶄繚瀛� // boolean messageComplete = ((FaceDetailFragment) mainActivity().fragment_face_detail).detailMessageIsComplete(); - int identitySize = ((PersonIdentityFragment) mainActivity().fragment_person_identity).getIdentitySize(); + int identitySize = mainActivity().fragment_person_identity.getIdentitySize(); identitySize = 1; // 涓嶅垽鏂槸鍚︽湁韬唤淇℃伅 if ("宸叉敞鍐�".equals(selectedPersonDocument.getString("sign_up_status")) && currentFragment == mainActivity().fragment_person_manage) { if (!messageComplete) { - return; + return false; } if (identitySize == 0) { ToastUtil.show("璇烽�夋嫨韬唤"); - return; + return false; } ToastUtil.show(msg[0]); } @@ -123,10 +122,21 @@ PersonManager.savePerson(selectedPersonDocument); savedPersonId = selectedPersonDocument.getId(); - doInUIThread(selectedPersonDocument); - + afterSavePerson(selectedPersonDocument); if (isNewPerson()) { + try { + String camera_image_path = selectedPersonDocument.getString(Person.camera_image_path); + byte[] feature = FaceId.instance.extractFeature(camera_image_path); + if (feature == null) { + PersonManager.deletePerson(selectedPersonDocument); + return false; + } + } catch (Exception e) { + PersonManager.deletePerson(selectedPersonDocument); + return false; + } FaceId.instance.addFeatureToDb(selectedPersonDocument.getId(), selectedPersonDocument.getBlob("camera_image_feature")); + ToastUtil.show("娉ㄥ唽鎴愬姛"); } } else { ToastUtil.show("鑾峰彇澶村儚澶辫触,璇风◢鍚庨噸璇�!"); @@ -139,11 +149,13 @@ }); } } + return true; } - public void setDevice(){ + + public void setDevice() { //鑾峰彇閫夋嫨鐨勮澶囷細褰撳墠璁惧杩樻槸闆嗙兢鎵�鏈夎澶� - String s = ((PersonIdentityFragment) mainActivity().fragment_person_identity).aboutDevice(); - selectedPersonDocument.setString("all_device",s); + String s = mainActivity().fragment_person_identity.aboutDevice(); + selectedPersonDocument.setString("all_device", s); } public void setIsRegistered() { @@ -152,8 +164,8 @@ } if (AccountManager.adminLoggedIn()) { String sign_up_status = selectedPersonDocument.getString("sign_up_status"); - messageComplete = ((FaceDetailFragment) mainActivity().fragment_face_detail).detailMessageIsComplete(); - int identitySize = ((PersonIdentityFragment) mainActivity().fragment_person_identity).getIdentitySize(); + messageComplete = mainActivity().fragment_face_detail.detailMessageIsComplete(); + int identitySize = mainActivity().fragment_person_identity.getIdentitySize(); identitySize = 1; // 涓嶅垽鏂槸鍚︽湁韬唤淇℃伅閮藉彲浠ヤ繚瀛� if (mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_compare_success || mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard @@ -169,7 +181,6 @@ // } if (messageComplete) { selectedPersonDocument.setString("sign_up_status", "宸叉敞鍐�"); - ToastUtil.show("娉ㄥ唽鎴愬姛"); } else { selectedPersonDocument.setString("sign_up_status", "鏈敞鍐�"); } @@ -254,7 +265,7 @@ if (currentFragment == mainActivity().fragment_su_logged_nic_wait_detail) { mainActivity().showFragment(mainActivity().fragment_su_logged_nic_wait_face); - ((FaceDetailFragment) mainActivity().fragment_face_detail).clearInPutText(); + mainActivity().fragment_face_detail.clearInPutText(); return; } if (currentFragment == mainActivity().fragment_su_logged_ic_wait_face) { @@ -263,7 +274,7 @@ if (currentFragment == mainActivity().fragment_su_logged_ic_compare_success) { isFromAdminRegister = true; mainActivity().showFragment(mainActivity().fragment_su_logged_ic_wait_face); - ((FaceDetailFragment) mainActivity().fragment_face_detail).clearInPutText(); + mainActivity().fragment_face_detail.clearInPutText(); return; } if (currentFragment == mainActivity().fragment_su_logged_ic_wait_idcard) { @@ -280,15 +291,15 @@ if (mainActivity().currentFragment != mainActivity().fragment_person_manage) { if (mainActivity().currentFragment != mainActivity().fragment_su_logged_nic_wait_face || mainActivity().currentFragment != mainActivity().fragment_su_logged_nic_wait_detail) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).setPerson(null); - ((PersonIdentityFragment) (mainActivity().fragment_person_identity)).setIdentityWithPerson(null); - ((PersonIdentityFragment) (mainActivity().fragment_person_identity)).setDevice("0"); + mainActivity().fragment_face_detail.setPerson(null); + mainActivity().fragment_person_identity.setIdentityWithPerson(null); + mainActivity().fragment_person_identity.setDevice("0"); } else { personChanged(null); } } else { - if ("鏈敞鍐�".equals(((FaceListFragment) mainActivity().fragment_face_list).isRegister)) { - ((FaceListFragment) mainActivity().fragment_face_list).findNextPosition(selectedPersonDocument); + if ("鏈敞鍐�".equals(mainActivity().fragment_face_list.isRegister)) { + mainActivity().fragment_face_list.findNextPosition(selectedPersonDocument); } else { personChanged(PersonManager.findPersonById(selectedPersonDocument.getId()), false); } @@ -363,7 +374,7 @@ selectedPersonDocument.setString("checked_time_rule_id", BaseSettingManager.getDefaultRegisterTimeId()); } if (currentFragment == mainActivity().fragment_su_auto_ic_compare_success) { - String phone = ((SuAutoIcCompareSuccessFragment) mainActivity().fragment_su_auto_ic_compare_success).phone_number.getText().toString().trim(); + String phone = mainActivity().fragment_su_auto_ic_compare_success.phone_number.getText().toString().trim(); if (!TextUtils.isEmpty(phone) && !PhoneNumberCheckUtils.isPhone(phone)) { allowPhone = false; } else { @@ -371,7 +382,7 @@ } } else if (currentFragment == mainActivity().fragment_su_auto_wait_face) { } else if (currentFragment == mainActivity().fragment_su_auto_nic_wait_detail) { - SuAutoNicWaitDetailFragment fragment_su_auto_nic_wait_detail = (SuAutoNicWaitDetailFragment) mainActivity().fragment_su_auto_nic_wait_detail; + SuAutoNicWaitDetailFragment fragment_su_auto_nic_wait_detail = mainActivity().fragment_su_auto_nic_wait_detail; String phone = fragment_su_auto_nic_wait_detail.phone_number.getText().toString(); String idCardNumber = fragment_su_auto_nic_wait_detail.id_card.getText().toString(); @@ -396,7 +407,7 @@ } } if (AccountManager.adminLoggedIn()) { - FaceDetailFragment faceDetailFragment = (FaceDetailFragment) mainActivity().fragment_face_detail; + FaceDetailFragment faceDetailFragment = mainActivity().fragment_face_detail; String phone = faceDetailFragment.getInPutPhoneNumber(); String idCardNumber = faceDetailFragment.getInPutIdCardNumber(); selectedPersonDocument.setString("sign_up_rule", faceDetailFragment.getSignUpRule()); @@ -499,15 +510,16 @@ return false; } } - new SavePersonHelper().execute(); + return new SavePersonHelper().execute(); } @UiThread - public void doInUIThread(ModelAdapter selectedPersonDocument) { + public void afterSavePerson(ModelAdapter selectedPersonDocument) { // 瑙e喅褰撲慨鏀硅繃浜哄憳淇℃伅鍚庡啀鐐瑰嚮淇濆瓨娓呯┖鏁版嵁 try { if (selectedPersonDocument != null) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).setText(selectedPersonDocument.getId()); + mainActivity().fragment_face_detail.setFaceDetailUI(selectedPersonDocument.getId()); +// personChanged(selectedPersonDocument); } } catch (Exception e) { e.printStackTrace(); @@ -536,7 +548,7 @@ if (mainActivity().currentFragment == mainActivity().fragment_person_manage) { // 姝ゆ柟娉曞垹闄ゅ悗浼氶�変腑鍓嶄竴涓�,濡傛灉鏄涓�涓細閫変腑鍚庝竴涓� - ((FaceListFragment) mainActivity().fragment_face_list).findNextPosition(selectedPersonDocument); + mainActivity().fragment_face_list.findNextPosition(selectedPersonDocument); } if (mainActivity().currentFragment == mainActivity().fragment_su_logged_nic_wait_detail || mainActivity().currentFragment == mainActivity().fragment_su_logged_ic_compare_success @@ -546,7 +558,7 @@ } else { mainActivity().showFragment(mainActivity().fragment_su_logged_nic_wait_face); } - ((PersonManageFragment) mainActivity().fragment_person_manage).personChanged(null, false); + mainActivity().fragment_person_manage.personChanged(null, false); } confirmDialog.dismiss(); } @@ -561,12 +573,12 @@ //鍙栨秷 public void giveUpSave() { - ((MenuFragment) mainActivity().fragment_menu).person_add(); + mainActivity().fragment_menu.person_add(); } public void personChanged(ModelAdapter personDocument) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).clearInPutText(); + mainActivity().fragment_face_detail.clearInPutText(); personChanged(personDocument, true); } @@ -580,11 +592,11 @@ showHotPoint(personDocument); if (personDocument == null) { if (reloadFaceList) { - ((FaceListFragment) mainActivity().fragment_face_list).findPersonList(null, null); + mainActivity().fragment_face_list.findPersonList(null, null); } } else { if (selectPerson) { - ((FaceListFragment) mainActivity().fragment_face_list).findPersonList(personDocument.getString("sign_up_status"), + mainActivity().fragment_face_list.findPersonList(personDocument.getString("sign_up_status"), new HashMap<>(), personDocument); } all_device = personDocument.getString("all_device"); @@ -592,41 +604,41 @@ } selectedPersonDocument = personDocument; - ((FaceDetailFragment) mainActivity().fragment_face_detail).setPerson(personDocument); - ((PersonIdentityFragment) (mainActivity().fragment_person_identity)).setIdentityWithPerson(personDocument != null ? personDocument.getId() : null); - ((PersonIdentityFragment) (mainActivity().fragment_person_identity)).setDevice(all_device); + mainActivity().fragment_face_detail.setPerson(personDocument); + mainActivity().fragment_person_identity.setIdentityWithPerson(personDocument != null ? personDocument.getId() : null); + mainActivity().fragment_person_identity.setDevice(all_device); } private void showHotPoint(ModelAdapter personDocument) { if (personDocument == null || "绯荤粺鍒濆鍖栧垎閰�".equals(personDocument.getString("sign_up_method"))) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).needPhone(false); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needName(false); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needIdNumber(false); + mainActivity().fragment_face_detail.needPhone(false); + mainActivity().fragment_face_detail.needName(false); + mainActivity().fragment_face_detail.needIdNumber(false); } else { // 鏍规嵁褰撳墠鐨勬敞鍐屾柟寮忓喅瀹氭槸鍚︽樉绀哄墠闈㈢殑绾㈢偣,缁熶竴瀵煎叆鐨勬殏涓嶅鐞� if ("绠$悊鍛樻敞鍐�".equals(personDocument.getString("sign_up_method"))) { if ("宸茬粡楠岃瘉韬唤璇�".equals(personDocument.getString("verify_status")) || "鏈獙璇佽韩浠借瘉".equals(personDocument.getString("verify_status"))) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).needPhone(BaseSettingManager.adminIDCardSignUpModeNeedPhone()); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needName(false); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needIdNumber(false); + mainActivity().fragment_face_detail.needPhone(BaseSettingManager.adminIDCardSignUpModeNeedPhone()); + mainActivity().fragment_face_detail.needName(false); + mainActivity().fragment_face_detail.needIdNumber(false); } if ("涓嶉渶瑕侀獙璇佽韩浠借瘉".equals(personDocument.getString("verify_status"))) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).needName(BaseSettingManager.adminNormalSignUpModeNeedName()); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needIdNumber(BaseSettingManager.adminNormalSignUpModeNeedIDNumber()); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needPhone(BaseSettingManager.adminNormalSignUpModeNeedPhone()); + mainActivity().fragment_face_detail.needName(BaseSettingManager.adminNormalSignUpModeNeedName()); + mainActivity().fragment_face_detail.needIdNumber(BaseSettingManager.adminNormalSignUpModeNeedIDNumber()); + mainActivity().fragment_face_detail.needPhone(BaseSettingManager.adminNormalSignUpModeNeedPhone()); } } if ("鑷姪娉ㄥ唽".equals(personDocument.getString("sign_up_method"))) { if ("宸茬粡楠岃瘉韬唤璇�".equals(personDocument.getString("verify_status")) || "鏈獙璇佽韩浠借瘉".equals(personDocument.getString("verify_status"))) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).needPhone(BaseSettingManager.isAutoSignUpIDCardModeNeedPhone()); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needName(false); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needIdNumber(false); + mainActivity().fragment_face_detail.needPhone(BaseSettingManager.isAutoSignUpIDCardModeNeedPhone()); + mainActivity().fragment_face_detail.needName(false); + mainActivity().fragment_face_detail.needIdNumber(false); } if ("涓嶉渶瑕侀獙璇佽韩浠借瘉".equals(personDocument.getString("verify_status"))) { - ((FaceDetailFragment) mainActivity().fragment_face_detail).needName(BaseSettingManager.isAutoSignUpNotIDCardModeNeedName()); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needIdNumber(BaseSettingManager.isAutoSignUpNotIDCardModeNeedIDNumber()); - ((FaceDetailFragment) mainActivity().fragment_face_detail).needPhone(BaseSettingManager.isAutoSignUpNotIDCardModeNeedPhone()); + mainActivity().fragment_face_detail.needName(BaseSettingManager.isAutoSignUpNotIDCardModeNeedName()); + mainActivity().fragment_face_detail.needIdNumber(BaseSettingManager.isAutoSignUpNotIDCardModeNeedIDNumber()); + mainActivity().fragment_face_detail.needPhone(BaseSettingManager.isAutoSignUpNotIDCardModeNeedPhone()); } } } -- Gitblit v1.8.0