From 2b11b80884fbdbc05bd8f8a76515616306a03a0a Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 12 八月 2024 09:56:36 +0800
Subject: [PATCH] 齐河联网版程序除补卡相关逻辑

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java |  141 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 113 insertions(+), 28 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..dd324a9 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NewCardActivity.java
@@ -11,21 +11,34 @@
 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 +55,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;
@@ -76,10 +87,9 @@
         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)
@@ -91,28 +101,7 @@
                 } 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 +110,7 @@
         });
     }
 
+    //鏍¢獙鎵嬫満鍙�
     private boolean isValidPhoneNumber(String phoneNumber) {
         // 瀹氫箟鎵嬫満鍙风殑姝e垯琛ㄨ揪寮忥紝纭繚鏁板瓧閮ㄥ垎娌℃湁杩炵画6浣嶇浉鍚岀殑鏁板瓧
         String phoneRegex = "^1[0-9]{10}$";
@@ -248,8 +238,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 +296,100 @@
         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, "api/sjgg/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, peasantPhone, peasantName, 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());
+
+        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, "api/sjgg/base/peasant/savePeasant", AddUserResult.class, data, new SubscriberListener<BaseResponse<AddUserResult>>() {
+            @Override
+            public void onNext(BaseResponse<AddUserResult> t) {
+                if (t.isSuccess()) {
+                    startNFCWreatActivity(peasantIdNumber, peasantPhone, peasantName, t.getData().getPeasantId(), morny);
+                }else {
+                    ToastUtil.show(t.getMsg());
+                }
+            }
+        });
+    }
+
+
 }

--
Gitblit v1.8.0