From 44e05fc867c3f028cf110f7b2fefb417d51646b2 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 14 三月 2024 12:01:13 +0800
Subject: [PATCH] 添加密码校验 修复用户卡bug

---
 app/src/main/java/com/dayu/recharge/activity/MyActivity.java         |    3 ++-
 app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java    |    6 ++++--
 app/src/main/res/layout/activity_ip.xml                              |    4 ++--
 app/src/main/res/values/strings.xml                                  |    2 +-
 app/src/main/java/com/dayu/recharge/activity/HomeActivity.java       |    4 +++-
 app/src/main/java/com/dayu/recharge/view/PassWordDialog.java         |    3 ++-
 app/src/main/java/com/dayu/recharge/MyApplication.java               |    7 ++++---
 app/src/main/java/com/dayu/recharge/activity/SysActivity.java        |    4 ++--
 app/src/main/java/com/dayu/recharge/card/UserCard.java               |    4 ++--
 app/src/main/res/layout/activity_login.xml                           |    2 +-
 app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java |   12 ++++++++++--
 app/src/main/res/layout/activity_my.xml                              |    2 +-
 app/build.gradle                                                     |    5 ++---
 13 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index ca782cd..494202c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,9 +16,8 @@
         applicationId "com.dayu.recharge"
         minSdk 23
         targetSdk 26
-        versionCode 14
-        versionName "1.4"
-
+        versionCode 16
+        versionName "1.6"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 
 //        ndk{
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index 5a2be39..298df2e 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -81,8 +81,8 @@
             }
             if (ipBean == null) {
                 ipBean = new IpBean();
-                ipBean.setIp("dayuyanjiuyuan.top");
-                ipBean.setPort(8888);
+                ipBean.setIp("newreceive.hnsjgg.com");
+                ipBean.setPort(9999);
             }
             if (ipBean != null) {
                 try {
@@ -196,8 +196,9 @@
 //                                            WSHelper.getInstance(MyApplication.this).put("initCode", initCode);
                                             ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
                                         } else {
+                                            Log.i(TAG, "娉ㄥ唽澶辫触--- 鐘舵�佺爜锛�" + state);
                                             //鏍¢獙CRC閿欒
-                                            ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
+//                                            ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
                                         }
                                     } else {
                                         //鏍¢獙CRC閿欒
diff --git a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
index 4d570f0..7cc1970 100644
--- a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
@@ -13,6 +13,7 @@
 import com.dayu.recharge.databinding.ActivityAdminSetupBinding;
 import com.dayu.recharge.dbBean.AdminDataBean;
 import com.dayu.recharge.dbBean.IpBean;
+import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.TipUtil;
 import com.example.pickerviewlibrary.picker.TeaPickerView;
 import com.example.pickerviewlibrary.picker.entity.PickerData;
@@ -20,6 +21,7 @@
 import com.tencent.bugly.crashreport.CrashReport;
 
 import java.lang.reflect.Method;
+import java.util.Random;
 import java.util.zip.CRC32;
 
 /**
@@ -107,11 +109,17 @@
 
             if (adminData != null) {
                 this.adminData = adminData;
-                adminBinding.adminSerial.setText(adminData.getSerial());
+                adminBinding.adminSerial.setText(SocketUtil.getXuLie(this));
                 adminBinding.adminAddressCode.setText(adminData.getAddressCode());
                 adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
             } else {
-                adminBinding.adminSerial.setText("12" + generateUniqueNumber(getSN()));
+                // 鍒涘缓涓�涓殢鏈烘暟鐢熸垚鍣ㄥ璞�
+                Random random = new Random();
+                // 鐢熸垚 1 鍒� 12 涔嬮棿鐨勯殢鏈烘暟瀛�
+                int randomNumber = random.nextInt(12) + 1;
+                String xulie = SocketUtil.get10to16LowHigh(Integer.valueOf(randomNumber + generateUniqueNumber(getSN())), 6);
+                adminBinding.adminSerial.setText(xulie);
+
             }
 
         } catch (Exception e) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
index 33d033f..a517d7a 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -12,6 +12,7 @@
 import com.dayu.recharge.databinding.ActivityHomeBinding;
 import com.dayu.recharge.dbBean.AdminDataBean;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.view.PassWordDialog;
 
 
 /**
@@ -82,7 +83,8 @@
         homeBinding.homeAdmin.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                startActivity(new Intent(HomeActivity.this, SysActivity.class));
+                PassWordDialog passWordDialog = new PassWordDialog(HomeActivity.this, new Intent(HomeActivity.this, SysActivity.class));
+                passWordDialog.show();
             }
         });
         //鍙傛暟璁剧疆
diff --git a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
index c7cee23..291a879 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -20,6 +20,7 @@
 import com.dayu.recharge.net.SocketNet;
 import com.dayu.recharge.utils.DeviceNumberUtils;
 import com.dayu.recharge.utils.ExcelUtil;
+import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.TipUtil;
 import com.dayu.recharge.view.PassWordDialog;
 import com.dayu.recharge.view.datepicker.CustomDatePicker;
@@ -221,7 +222,7 @@
             adminData = baseDao.adminDao().findFirst();
             if (adminData != null) {
                 myBinding.myAdminName.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
-                myBinding.myVillageNum.setText(adminData.getSerial());
+                myBinding.myVillageNum.setText(SocketUtil.getXuLie(this));
             } else {
                 myBinding.myAdminName.setText("璇风偣鍑诲湴鍧�淇℃伅璁剧疆");
                 myBinding.myVillageNum.setText("璇风偣鍑诲湴鍧�淇℃伅璁剧疆");
diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
index 1c3029e..3a5170e 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -6,6 +6,7 @@
 import android.text.InputFilter;
 import android.text.Spanned;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 
@@ -232,7 +233,7 @@
 
         try {
             adminData = baseDao.adminDao().findFirst();
-            newCardBinding.newCardVillageNum.setText(adminData.getSerial());
+            newCardBinding.newCardVillageNum.setText(SocketUtil.getXuLie(this));
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -278,9 +279,10 @@
                 if (CRC8.isCRC8(readData.getOriginDataBytes())) {
 
                     String state = BcdUtil.bcdToStr(readData.getBodyBytes()[26]); //BCD鐮�00鎴愬姛01韬唤璇佸凡娉ㄥ唽02鍏朵粬鍘熷洜澶辫触
+                    Log.i("initCard", "state:" + state);
                     if (state.equalsIgnoreCase("00")) {
-                        String initPeasantCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 10, 26));
 
+                        String initPeasantCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 10, 26));
                         String serial = baseDao.adminDao().findFirst().getSerial();
                         UserCard userCard = new UserCard();
                         userCard.setRechargeTimes(0);
diff --git a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
index 5fda231..ce5ad00 100644
--- a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
@@ -78,8 +78,8 @@
                 domainCard.setPort(domainBean.getPort());
             } else {
                 domainCard.setDomainNumber("1");
-                domainCard.setDomainName("dayuyanjiuyuan.top");
-                domainCard.setPort(8888);
+                domainCard.setDomainName("newreceive.hnsjgg.com");
+                domainCard.setPort(9999);
             }
             intent.putExtra("domainCard", domainCard);
             startActivity(intent);
diff --git a/app/src/main/java/com/dayu/recharge/card/UserCard.java b/app/src/main/java/com/dayu/recharge/card/UserCard.java
index 93a8656..6643b8c 100644
--- a/app/src/main/java/com/dayu/recharge/card/UserCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/UserCard.java
@@ -115,7 +115,7 @@
                 calendar.set(2000 + year, month, day, hour, minute, second);
                 byte[] initPeasantCodeBytes = new byte[16];
                 System.arraycopy(one,10,initPeasantCodeBytes,0,5);
-                System.arraycopy(two,0,initPeasantCodeBytes,0,11);
+                System.arraycopy(two,0,initPeasantCodeBytes,5,11);
                 userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
                 return userCard;
             }
@@ -203,7 +203,7 @@
                 data[9] = bcdSecond;
             }
             byte[] initPeasantCodes = HexUtil.hexToByteArray(initPeasantCode);
-            System.arraycopy(initPeasantCodes, 5, data, 0, 5);
+            System.arraycopy(initPeasantCodes, 0, data, 10, 5);
             data[15] = getByteSum(data);
             return data;
         }
diff --git a/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java b/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
index cb564b2..c02fbdb 100644
--- a/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
+++ b/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
@@ -42,7 +42,8 @@
             @Override
             public void onClick(View v) {
                 try {
-                    if (WSMD5.getMD5Str(editText.getText().toString()).equals("c4ca4238a0b923820dcc509a6f75849b")) {
+                    //瀵嗙爜涓篸yjsczgl@2024
+                    if (WSMD5.getMD5Str(editText.getText().toString()).equalsIgnoreCase("c42da502706e47c7962cb539cbc87321")) {
                         mContext.startActivity(intent);
                         PassWordDialog.this.dismiss();
                     } else {
diff --git a/app/src/main/res/layout/activity_ip.xml b/app/src/main/res/layout/activity_ip.xml
index 5804427..e1187e4 100644
--- a/app/src/main/res/layout/activity_ip.xml
+++ b/app/src/main/res/layout/activity_ip.xml
@@ -30,7 +30,7 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:hint="socket閫氫俊IP"
-            android:text="dayuyanjiuyuan.top" />
+            android:text="newreceive.hnsjgg.com" />
 
 
     </LinearLayout>
@@ -53,7 +53,7 @@
             android:layout_height="wrap_content"
             android:hint="socket閫氫俊绔彛"
             android:inputType="number"
-            android:text="08888" />
+            android:text="9999" />
     </LinearLayout>
 
 
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 89bcd76..71c6ccc 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -40,7 +40,7 @@
                 android:id="@+id/login_pw"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:hint="璇疯緭鍏ュ瘑鐮�"
+                android:hint="鍒濆瀵嗙爜涓烘暟瀛�1-6"
                 android:inputType="textPassword"
                 android:text="" />
         </LinearLayout>
diff --git a/app/src/main/res/layout/activity_my.xml b/app/src/main/res/layout/activity_my.xml
index 8e4e698..393fe26 100644
--- a/app/src/main/res/layout/activity_my.xml
+++ b/app/src/main/res/layout/activity_my.xml
@@ -147,7 +147,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
-                android:text="瀵嗙爜璁剧疆"
+                android:text="鐧诲綍瀵嗙爜璁剧疆"
                 android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ddcbbe9..9078b7a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
 <resources>
-    <string name="app_name">鍏呭�肩鐞�</string>
+    <string name="app_name">澶х鍏呭�肩鐞�</string>
     <string name="str_read_text">璇籒FC鏍囩涓殑鏂囨湰鏁版嵁</string>
     <string name="str_write_text">鍐橬FC鏍囩涓殑鏂囨湰鏁版嵁</string>
 

--
Gitblit v1.8.0