From d09bdcac6830afaad6e277fb558c16d2aa6187a7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 14 十二月 2023 11:13:21 +0800
Subject: [PATCH] 卡标识码列表功能相关,可分辨设置不同类型卡标识码
---
app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java | 82 +++++++++++++++++++++++++++++++++-------
1 files changed, 67 insertions(+), 15 deletions(-)
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 2a419ff..7c47f40 100644
--- a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
@@ -1,6 +1,7 @@
package com.dayu.recharge.activity;
import android.content.Context;
+import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
@@ -11,11 +12,14 @@
import com.dayu.recharge.databinding.ActivityAdminSetupBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
import com.dayu.recharge.dbBean.IpBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.example.pickerviewlibrary.picker.TeaPickerView;
import com.example.pickerviewlibrary.picker.entity.PickerData;
import com.example.pickerviewlibrary.picker.listener.OnPickerClickListener;
import com.tencent.bugly.crashreport.CrashReport;
+
+import java.lang.reflect.Method;
+import java.util.zip.CRC32;
/**
* Copyright (C), 2023,
@@ -50,30 +54,29 @@
adminBinding.setupOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (!TextUtils.isEmpty(adminBinding.adminName.getText().toString())
- && !TextUtils.isEmpty(adminBinding.adminPhone.getText().toString())
- && !TextUtils.isEmpty(adminData.getCun())
+ if (!TextUtils.isEmpty(adminData.getCun())
&& !TextUtils.isEmpty(adminBinding.adminSerial.getText().toString())
) {
if (Integer.valueOf(adminBinding.adminSerial.getText().toString()) <= 16777215) {
- adminData.setName(adminBinding.adminName.getText().toString());
- adminData.setPhone(adminBinding.adminPhone.getText().toString());
+ adminBinding.adminAddressCode.setText(adminData.getAddressCode());
adminData.setSerial(adminBinding.adminSerial.getText().toString());
baseDao.adminDao().insert(adminData);
- MyApplication.myApplication.initEasySocket(false, null);
-
- ToastUtil.show(AdminSetupActivity.this, "璁剧疆鎴愬姛");
setData();
- IpBean ipBean = baseDao.ipDao().findFirst();
+ IpBean ipBean = MyApplication.myApplication.ipBean;
if (ipBean != null) {
MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode());
}
-
+ TipUtil.show(AdminSetupActivity.this, "璁剧疆鎴愬姛", new TipUtil.TipListener() {
+ @Override
+ public void onCancle() {
+ AdminSetupActivity.this.finish();
+ }
+ });
} else {
- ToastUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
+ TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
}
} else {
- ToastUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
+ TipUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
}
}
});
@@ -104,9 +107,10 @@
if (adminData != null) {
this.adminData = adminData;
adminBinding.adminSerial.setText(adminData.getSerial());
- adminBinding.adminPhone.setText(adminData.getPhone());
- adminBinding.adminName.setText(adminData.getName());
+ 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()));
}
} catch (Exception e) {
@@ -145,6 +149,7 @@
adminData.setAddressCode(pickerData.getSecondText().getCode());
}
adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
+ adminBinding.adminAddressCode.setText(adminData.getAddressCode());
pickerView.dismiss();
}
});
@@ -155,5 +160,52 @@
}
}
+ public static String getSN() {
+ String serial = null;
+ try {
+ Class<?> c = Class.forName("android.os.SystemProperties");
+ Method get = c.getMethod("get", String.class);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ try {
+ serial = (String) get.invoke(c, "ro.sunmi.serial");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return serial;
+ } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ serial = Build.getSerial();
+ return serial;
+ } else {
+ //瀹夊崜8浠ヤ笅浣跨敤Build.SERIAL鐩稿悓鏂瑰紡
+ //return Build.SERIAL;
+ try {
+ serial = (String) get.invoke(c, "ro.serialno");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return serial;
+ }
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static String generateUniqueNumber(String input) {
+ try {
+ // 浣跨敤CRC32鍝堝笇鍑芥暟
+ CRC32 crc32 = new CRC32();
+ crc32.update(input.getBytes());
+ long crcValue = crc32.getValue();
+ // 灏嗗搱甯屽�兼槧灏勫埌6浣嶆暟瀛楃殑鑼冨洿
+ long sixDigitNumber = Math.abs(crcValue) % 1000000;
+ // 鏍煎紡鍖栦负6浣嶆暟瀛楃殑瀛楃涓�
+ return String.format("%06d", sixDigitNumber);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
}
--
Gitblit v1.8.0