From 9c3cb299d08649b43ccbb93a94163ebe9505c064 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 19 八月 2024 09:49:04 +0800
Subject: [PATCH] 优化代码
---
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java | 199 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 169 insertions(+), 30 deletions(-)
diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java
index 7165c03..a620a8d 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java
@@ -2,30 +2,46 @@
import android.content.Intent;
import android.os.Bundle;
+import android.text.Editable;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextUtils;
+import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
+import android.widget.EditText;
import androidx.annotation.NonNull;
import com.dayu.baselibrary.tools.Utils;
+import com.dayu.baselibrary.utils.DeviceUtils;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.baselibrary.utils.ToastUtil;
+import com.dayu.qiheonlinelibrary.QHOnLineApplication;
+import com.dayu.qiheonlinelibrary.bean.AddUserResult;
+import com.dayu.qiheonlinelibrary.bean.PricePlanResult;
+import com.dayu.qiheonlinelibrary.bean.UserListResult;
import com.dayu.qiheonlinelibrary.card.UserCard;
import com.dayu.qiheonlinelibrary.databinding.ActivityNewCardQhlBinding;
import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean;
import com.dayu.qiheonlinelibrary.dbBean.UserCardBean;
+import com.dayu.qiheonlinelibrary.net.ApiManager;
+import com.dayu.qiheonlinelibrary.net.BaseResponse;
+import com.dayu.qiheonlinelibrary.net.RSAUtile;
+import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener;
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 java.text.SimpleDateFormat;
import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -42,10 +58,8 @@
public class NewCardActivity extends BaseActivity {
public static final int SCAN_IDCARD_REQUEST = 1;
- UserCardBean userCardBean;
ActivityNewCardQhlBinding newCardBinding;
- AdminDataBean adminData;
static NewCardActivity newCardActivity;
private int defValueMainId = 2;
@@ -63,7 +77,8 @@
}
private void initView() {
- newCardBinding.newCardName.setFilters(new InputFilter[]{new ChineseInputFilter()});
+ setPricePoint(newCardBinding.newCardMorny);
+// newCardBinding.newCardName.setFilters(new InputFilter[]{new ChineseInputFilter()});
newCardBinding.newCardId.setFilters(new InputFilter[]{new AlphaNumericXFilter(), new InputFilter.LengthFilter(18)});
//韬唤璇佽瘑鍒�
newCardBinding.newCardScanBtn.setOnClickListener(new View.OnClickListener() {
@@ -76,43 +91,21 @@
newCardBinding.newCardRegistBtn.setOnClickListener(v -> {
String userName = newCardBinding.newCardName.getText().toString();
- long date = System.currentTimeMillis();
String phone = newCardBinding.newCardPhone.getText().toString();
String userID = newCardBinding.newCardId.getText().toString().toUpperCase();
-
+ String morny = newCardBinding.newCardMorny.getText().toString();
if (!TextUtils.isEmpty(userName)
&& !TextUtils.isEmpty(phone) && !TextUtils.isEmpty(userID)
) {
- if (userName.length() <= 1 || !validateName(userName)) {
+ if (userName.length() <= 1) {
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
} else if (phone.length() < 11 || !isValidPhoneNumber(phone)) {
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
} else if (!Utils.check(userID)) {
TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
} else {
- userCardBean = new UserCardBean();
- userCardBean.setUserName(userName);
- userCardBean.setDate(date);
- 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);
+ selectUser(userID, phone, userName, morny);
}
} else {
@@ -121,6 +114,7 @@
});
}
+ //鏍¢獙鎵嬫満鍙�
private boolean isValidPhoneNumber(String phoneNumber) {
// 瀹氫箟鎵嬫満鍙风殑姝e垯琛ㄨ揪寮忥紝纭繚鏁板瓧閮ㄥ垎娌℃湁杩炵画6浣嶇浉鍚岀殑鏁板瓧
String phoneRegex = "^1[0-9]{10}$";
@@ -248,8 +242,7 @@
private void setData() {
try {
- adminData = baseDao.adminDao().findFirst();
- newCardBinding.newCardVillageNum.setText(adminData.getSerial());
+ newCardBinding.newCardArerNumber.setText(QHOnLineApplication.getInstance().arerNumber);
} catch (Exception e) {
e.printStackTrace();
}
@@ -307,4 +300,150 @@
newCardActivity = null;
}
+
+ /**
+ * 鏌ヨ鐢ㄦ埛
+ *
+ * @param peasantIdNumber
+ * @param peasantPhone
+ * @param peasantName
+ * @param morny 寮�鍗¢噾棰�
+ */
+ private void selectUser(String peasantIdNumber, String peasantPhone, String peasantName, String morny) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("adcd", QHOnLineApplication.getInstance().adcd);
+ data.put("peasantIdNumber", peasantIdNumber);
+ data.put("current", 1);
+ data.put("pageSize", 10);
+ ApiManager.getInstance().requestPostLoading(this, "base/peasant/pagePeasantVo", UserListResult.class, data, new SubscriberListener<BaseResponse<UserListResult>>() {
+ @Override
+ public void onNext(BaseResponse<UserListResult> t) {
+ if (t.isSuccess()) {
+ if (t.getData().getTotal() == 0) {
+ if (!TextUtils.isEmpty(QHOnLineApplication.getInstance().planId)) {
+ addUser(peasantIdNumber, peasantPhone, peasantName, QHOnLineApplication.getInstance().planId, morny);
+ }
+ } else {
+ startNFCWreatActivity(peasantIdNumber, t.getData().getRecords().get(0).getPeasantPhone(), t.getData().getRecords().get(0).getPeasantName(), t.getData().getRecords().get(0).getPeasantId(), morny);
+ }
+ } else {
+ ToastUtil.show(t.getMsg());
+ }
+ }
+ });
+ }
+
+ private void startNFCWreatActivity(String peasantIdNumber, String peasantPhone, String peasantName, String peasanId, String morny) {
+ UserCard userCard = new UserCard();
+ userCard.setArerNumber(Integer.valueOf(QHOnLineApplication.getInstance().arerNumber));
+ userCard.setUserCode(QHOnLineApplication.getInstance().adcd);
+ userCard.setCardWriteState(0);
+ userCard.setCardState(1);
+ userCard.setBalance(0);
+ userCard.setSurplusElecticity(0);
+ userCard.setTotalMorny(0);
+ userCard.setRechargeDate(Calendar.getInstance());
+ userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr));
+ UserCardBean userCardBean = new UserCardBean();
+
+ userCardBean.setUserName(peasantName);
+ userCardBean.setUserID(peasantIdNumber);
+ userCardBean.setPhone(peasantPhone);
+ userCardBean.setPersonId(peasanId);
+ if (!TextUtils.isEmpty(morny)) {
+ userCardBean.setCardMorny(Integer.valueOf(morny));
+ } else {
+ userCardBean.setCardMorny(0);
+ }
+ userCardBean.setAddressCode(QHOnLineApplication.getInstance().adcd);
+ userCardBean.setAddressName(QHOnLineApplication.getInstance().addressName);
+ userCardBean.setArerNumber(QHOnLineApplication.getInstance().arerNumber);
+ userCardBean.setDate(System.currentTimeMillis());
+ userCardBean.setSerial(DeviceUtils.getSN());
+
+ Intent intent = new Intent(NewCardActivity.this, NFCWreatActivity.class);
+ intent.putExtra("userCard", userCard);
+ intent.putExtra("dbUserCard", userCardBean);
+ startActivity(intent);
+ }
+
+ /**
+ * 娣诲姞鐢ㄦ埛
+ *
+ * @param peasantIdNumber
+ * @param peasantPhone
+ * @param peasantName
+ * @param planId 浠锋牸ID
+ */
+ private void addUser(String peasantIdNumber, String peasantPhone, String peasantName, String planId, String morny) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("planId", planId);
+ data.put("adcd", QHOnLineApplication.getInstance().adcd);
+ data.put("peasantIdNumber", peasantIdNumber);
+ data.put("peasantCode", "");
+ data.put("peasantName", peasantName);
+ data.put("peasantPhone", peasantPhone);
+ ApiManager.getInstance().requestPostLoading(this, "base/peasant/savePeasant", AddUserResult.class, data, new SubscriberListener<BaseResponse<AddUserResult>>() {
+ @Override
+ public void onNext(BaseResponse<AddUserResult> t) {
+ if (t.isSuccess()) {
+ startNFCWreatActivity(peasantIdNumber, t.getData().getPeasantPhone(), t.getData().getPeasantName(), t.getData().getPeasantId(), morny);
+ } else {
+ ToastUtil.show(t.getMsg());
+ }
+ }
+ });
+ }
+
+ //鏍¢獙閲戦
+ public void setPricePoint(final EditText editText) {
+ editText.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before,
+ int count) {
+ if (s.toString().contains(".")) {
+ if (s.length() - 1 - s.toString().indexOf(".") > 2) {
+ s = s.toString().subSequence(0,
+ s.toString().indexOf(".") + 3);
+ editText.setText(s);
+ editText.setSelection(s.length());
+ }
+ }
+ if (s.toString().trim().substring(0).equals(".")) {
+ s = "0" + s;
+ editText.setText(s);
+ editText.setSelection(2);
+ }
+
+ if (s.toString().startsWith("0")
+ && s.toString().trim().length() > 1) {
+ if (!s.toString().substring(1, 2).equals(".")) {
+ editText.setText(s.subSequence(0, 1));
+ editText.setSelection(1);
+ }
+ }
+ String morny = editText.getText().toString();
+ if (!TextUtils.isEmpty(morny)) {
+// rechageWater = MornyUtil.intDiv(MornyUtil.changeY2F(editText.getText().toString()), waterPrice);
+// binding.redRechargeWater.setText("鍏呭�兼按閲忥細" + rechageWater + " 绔嬫柟绫�(鍚�)");
+ }
+
+
+ }
+
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count,
+ int after) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ // TODO Auto-generated method stub
+
+ }
+
+ });
+
+ }
}
--
Gitblit v1.8.0