From 954eaed548efb75b3dc79343587acb79e53d214d Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 23 八月 2024 17:19:59 +0800
Subject: [PATCH] 优化写卡逻辑,再次读取内容确认写卡成功再提示成功
---
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NewCardActivity.java | 166 +++++++++++++++++++++++++++++++-----------------------
1 files changed, 95 insertions(+), 71 deletions(-)
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NewCardActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NewCardActivity.java
index 6128547..9627cb6 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NewCardActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NewCardActivity.java
@@ -1,6 +1,5 @@
package com.dayu.qihealonelibrary.activity;
-import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.InputFilter;
@@ -13,26 +12,25 @@
import com.dayu.baselibrary.tools.Utils;
import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.baselibrary.utils.ToastUtil;
import com.dayu.qihealonelibrary.card.UserCard;
-import com.dayu.qihealonelibrary.databinding.ActivityNewCardBinding;
+import com.dayu.qihealonelibrary.databinding.ActivityNewCardQhaBinding;
import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
-import com.dayu.qihealonelibrary.dbBean.IpBean;
import com.dayu.qihealonelibrary.dbBean.UserCardBean;
-
-import com.dayu.qihealonelibrary.utils.DeviceNumberUtils;
-
-import com.dayu.qihealonelibrary.view.ProgressDialog;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
+import com.kernal.passportreader.sdk.CardsCameraActivity;
+import com.kernal.passportreader.sdk.utils.DefaultPicSavePath;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.Arrays;
+import java.util.Calendar;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+
+import kernal.idcard.android.ResultMessage;
+import kernal.idcard.camera.CardOcrRecogConfigure;
+import kernal.idcard.camera.SharedPreferencesHelper;
/**
* Copyright (C), 2023,
@@ -40,26 +38,27 @@
* Date: 2023-11-10 19:52
* Description: 鏂板崱娉ㄥ唽
*/
-public class NewCardActivity extends QHAloneBaseActivity {
+public class NewCardActivity extends BaseActivity {
public static final int SCAN_IDCARD_REQUEST = 1;
UserCardBean userCardBean;
- Dialog dialog;
- ActivityNewCardBinding newCardBinding;
+ ActivityNewCardQhaBinding newCardBinding;
AdminDataBean adminData;
static NewCardActivity newCardActivity;
+ private int defValueMainId = 2;
+ private int defValueSubId = 0;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
newCardActivity = this;
- newCardBinding = ActivityNewCardBinding.inflate(LayoutInflater.from(this));
+ newCardBinding = ActivityNewCardQhaBinding.inflate(LayoutInflater.from(this));
setContentView(newCardBinding.getRoot());
setData();
initView();
-// LibraryInitOCR.initOCR(NewCardActivity.this);
}
private void initView() {
@@ -69,11 +68,10 @@
newCardBinding.newCardScanBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
-
- getPermission();
+ rxPermission();
}
});
-
+ //寮�鎴�
newCardBinding.newCardRegistBtn.setOnClickListener(v -> {
String userName = newCardBinding.newCardName.getText().toString();
@@ -87,13 +85,10 @@
) {
if (userName.length() <= 1 || !validateName(userName)) {
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
- return;
} else if (phone.length() < 11 || !isValidPhoneNumber(phone)) {
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
- return;
} else if (!Utils.check(userID)) {
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
- return;
} else {
userCardBean = new UserCardBean();
userCardBean.setUserName(userName);
@@ -101,6 +96,22 @@
userCardBean.setSerial(adminData.getSerial());
userCardBean.setPhone(phone);
userCardBean.setUserID(userID);
+
+
+ UserCard userCard = new UserCard();
+ userCard.setArerNumber(Integer.valueOf(adminData.getSerial()));
+ userCard.setDeviceNumberl(Integer.valueOf(adminData.getAddressCode()));
+ userCard.setRechargeTimes((byte) 0);
+ userCard.setTotalWater(0);
+ userCard.setTotalElectric(0);
+ userCard.setBalance(0);
+ userCard.setSurplusWater(0);
+ userCard.setRechargeDate(Calendar.getInstance());
+
+ Intent intent = new Intent(NewCardActivity.this, NFCWreatActivity.class);
+ intent.putExtra("userCard", userCard);
+ intent.putExtra("dbUserCard", userCardBean);
+ startActivity(intent);
}
} else {
@@ -147,40 +158,30 @@
return false;
}
-
- private void getPermission() {
- try {
- XXPermissions.with(this)
- // 鐢宠鍗曚釜鏉冮檺
+ private void rxPermission() {
+ XXPermissions.with(this)
+ // 鐢宠鍗曚釜鏉冮檺
// .permission(Permission.RECORD_AUDIO)
- // 鐢宠澶氫釜鏉冮檺
- .permission(Permission.CAMERA)
- // 璁剧疆鏉冮檺璇锋眰鎷︽埅鍣紙灞�閮ㄨ缃級
- //.interceptor(new PermissionInterceptor())
- // 璁剧疆涓嶈Е鍙戦敊璇娴嬫満鍒讹紙灞�閮ㄨ缃級
- //.unchecked()
- .request(new OnPermissionCallback() {
+ // 鐢宠澶氫釜鏉冮檺
+ .permission(Permission.CAMERA)
+ .request(new OnPermissionCallback() {
- @Override
- public void onGranted(@NonNull List<String> permissions, boolean allGranted) {
- if (allGranted) {
-
- }
+ @Override
+ public void onGranted(@NonNull List<String> permissions, boolean allGranted) {
+ if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃
+ startCamera();
}
+ }
- @Override
- public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
- if (doNotAskAgain) {
- // 濡傛灉鏄姘镐箙鎷掔粷灏辫烦杞埌搴旂敤鏉冮檺绯荤粺璁剧疆椤甸潰
- } else {
+ @Override
+ public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
+ if (doNotAskAgain) {
+ // 濡傛灉鏄姘镐箙鎷掔粷灏辫烦杞埌搴旂敤鏉冮檺绯荤粺璁剧疆椤甸潰
+ } else {
// toast("鑾峰彇褰曢煶鍜屾棩鍘嗘潈闄愬け璐�");
- }
}
- });
- } catch (
- Throwable e) {
- e.printStackTrace();
- }
+ }
+ });
}
@@ -190,34 +191,58 @@
if (resultCode == RESULT_OK) {
switch (requestCode) {
case SCAN_IDCARD_REQUEST:
- String result = data.getStringExtra("OCRResult");
try {
- JSONObject jo = new JSONObject(result);
+ //璺宠浆鎵弿鐣岄潰璇嗗埆瀹屾垚涔嬪悗锛屾暟鎹洖浼�
+ if (data != null) {
+ //鏁版嵁鍥炰紶鐨勮幏鍙�
+ Bundle bundle = data.getBundleExtra("resultbundle");
+ //bundle涓嶄负null锛屼唬琛ㄨ繖璇嗗埆鎴愬姛
+ if (bundle != null) {
+ ResultMessage resultMessage = (ResultMessage) bundle.getSerializable("resultMessage");
+ newCardBinding.newCardName.setText(resultMessage.GetRecogResult[1]);
+ newCardBinding.newCardId.setText(resultMessage.GetRecogResult[6]);
+ newCardBinding.newCardIdTip.setVisibility(View.VISIBLE);
+ } else {
+ String error = data.getStringExtra("error");
+ String StrPath = data.getStringExtra("strpicpath");
+ ToastUtil.show(error);
+ }
-// sb.append(String.format("姝i潰 = %s\n", jo.opt("type")));
-// sb.append(String.format("濮撳悕 = %s\n", jo.opt("name")));
-// sb.append(String.format("鎬у埆 = %s\n", jo.opt("sex")));
-// sb.append(String.format("姘戞棌 = %s\n", jo.opt("folk")));
-// sb.append(String.format("鏃ユ湡 = %s\n", jo.opt("birt")));
-// sb.append(String.format("鍙风爜 = %s\n", jo.opt("num")));
-// sb.append(String.format("浣忓潃 = %s\n", jo.opt("addr")));
-// sb.append(String.format("绛惧彂鏈哄叧 = %s\n", jo.opt("issue")));
-// sb.append(String.format("鏈夋晥鏈熼檺 = %s\n", jo.opt("valid")));
-// sb.append(String.format("鏁翠綋鐓х墖 = %s\n", jo.opt("imgPath")));
-// sb.append(String.format("澶村儚璺緞 = %s\n", jo.opt("headPath")));
-
- newCardBinding.newCardName.setText(jo.opt("name").toString());
- newCardBinding.newCardId.setText(jo.opt("num").toString());
- newCardBinding.newCardIdTip.setVisibility(View.VISIBLE);
-
- } catch (JSONException e) {
- throw new RuntimeException(e);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
+
break;
}
}
}
+
+ private void startCamera() {
+ CardOcrRecogConfigure.getInstance()
+ .initLanguage(getApplicationContext())
+ .setSaveCut(true)
+ .setOpenIDCopyFuction(true)
+ .setnMainId(getSharedPreferencesStoreMainId())
+ .setnSubID(getSharedPreferencesStoreSubId())
+ .setFlag(0)
+ .setnCropType(0)
+ .setSavePath(new DefaultPicSavePath(this, true));
+ Intent intent = new Intent(this, CardsCameraActivity.class);
+ startActivityForResult(intent, SCAN_IDCARD_REQUEST);
+ }
+
+ public int getSharedPreferencesStoreMainId() {
+ return SharedPreferencesHelper.getInt(
+ getApplicationContext(), "nMainId", defValueMainId);
+ }
+
+ public int getSharedPreferencesStoreSubId() {
+ return SharedPreferencesHelper.getInt(
+ getApplicationContext(), "nSubID", defValueSubId);
+ }
+
private void setData() {
@@ -229,7 +254,6 @@
}
}
-
public boolean validateName(String name) {
--
Gitblit v1.8.0