左晓为主开发手持机充值管理机
zuoxiao
2024-03-14 44e05fc867c3f028cf110f7b2fefb417d51646b2
添加密码校验
修复用户卡bug
13个文件已修改
58 ■■■■■ 已修改文件
app/build.gradle 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/MyApplication.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/HomeActivity.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/MyActivity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/SysActivity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/card/UserCard.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/view/PassWordDialog.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_ip.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_login.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_my.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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{
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错误
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) {
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();
            }
        });
        //参数设置
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("请点击地址信息设置");
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);
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);
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;
        }
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")) {
                    //密码为dyjsczgl@2024
                    if (WSMD5.getMD5Str(editText.getText().toString()).equalsIgnoreCase("c42da502706e47c7962cb539cbc87321")) {
                        mContext.startActivity(intent);
                        PassWordDialog.this.dismiss();
                    } else {
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>
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>
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" />
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">读NFC标签中的文本数据</string>
    <string name="str_write_text">写NFC标签中的文本数据</string>