From 1ffa3cb19f95855d44fbc9485f4eb3286b12e359 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 22 十一月 2023 12:43:17 +0800
Subject: [PATCH] 修改提示方式 修改充值流程
---
app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java | 6
app/src/main/java/com/dayu/recharge/activity/MyActivity.java | 13
app/src/main/res/layout/activity_admin_setup.xml | 58 -
app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java | 59 ++
app/src/main/java/com/dayu/recharge/utils/ToastUtil.java | 16
app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 43
app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java | 4
app/src/main/java/com/dayu/recharge/tools/WriteCardUtils.java | 30 +
app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java | 71 ++
app/src/main/res/layout/activity_recharge.xml | 157 ++++
app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 417 ++++++--------
app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java | 10
app/src/main/java/com/dayu/recharge/view/PassWordDialog.java | 5
app/src/main/res/values/colors.xml | 1
app/src/main/java/com/dayu/recharge/activity/SysActivity.java | 6
app/src/main/res/layout/text_dialog.xml | 54 +
app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java | 24
app/src/main/java/com/dayu/recharge/activity/DomainActivity.java | 12
app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java | 81 ++
app/src/main/res/layout/activity_my.xml | 2
app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java | 133 ++++
app/src/main/res/layout/activity_recharge_detail.xml | 80 ++
app/src/main/java/com/dayu/recharge/view/TipDialog.java | 91 +++
app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java | 6
app/src/main/res/layout/activity_new_card.xml | 4
app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java | 49 +
app/src/main/java/com/dayu/recharge/activity/PowerActivity.java | 6
app/src/main/AndroidManifest.xml | 12
app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java | 4
app/src/main/java/com/dayu/recharge/activity/HomeActivity.java | 21
app/src/main/java/com/dayu/recharge/MyApplication.java | 15
app/src/main/java/com/dayu/recharge/net/SocketNet.java | 32
app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java | 29
app/src/main/java/com/dayu/recharge/utils/TipUtil.java | 38 +
app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java | 5
app/src/main/res/layout/activity_home.xml | 2
app/src/main/java/com/dayu/recharge/view/EdtDialog.java | 6
app/src/main/java/com/dayu/recharge/dbBean/RechargeBean.java | 30
app/src/main/res/layout/activity_red_card.xml | 6
39 files changed, 1,158 insertions(+), 480 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9d92012..a680c04 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -78,7 +78,14 @@
<activity android:name=".activity.PassWordActivity" />
<activity android:name=".activity.MyActivity" />
- <activity android:name=".activity.RechargeActivity" />
+ <activity
+ android:name=".activity.RechargeActivity"
+ android:launchMode="singleTop">
+ <intent-filter>
+ <action android:name="android.nfc.action.TAG_DISCOVERED" />
+ <data android:mimeType="text/plain" />
+ </intent-filter>
+ </activity>
<activity
android:name=".activity.ReadCardAcitivy"
@@ -106,7 +113,8 @@
<activity android:name=".activity.DomainActivity" />
<activity android:name=".activity.ElectricPriceActivity" />
<activity android:name=".activity.IdentifyingActivity" />
- <activity android:name=".activity.ReplacementActivity"/>
+ <activity android:name=".activity.ReplacementActivity" />
+ <activity android:name=".activity.RechargeDetail" />
<meta-data
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index 2b4e13f..eac3399 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -9,9 +9,9 @@
import com.dayu.recharge.dao.BaseDaoSingleton;
import com.dayu.recharge.dbBean.DeviceNumber;
import com.dayu.recharge.dbBean.IpBean;
+import com.dayu.recharge.utils.ToastUtil;
import com.easysocket.EasySocket;
import com.easysocket.config.EasySocketOptions;
-import com.easysocket.connection.action.SocketStatus;
import com.easysocket.entity.SocketAddress;
import com.tencent.bugly.crashreport.CrashReport;
import com.dayu.recharge.net.ScoketMessageProtocol;
@@ -26,8 +26,7 @@
import com.dayu.recharge.utils.AidlUtil;
import com.dayu.recharge.utils.CRC8;
import com.dayu.recharge.utils.SocketUtil;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.TipUtil;
import java.util.Arrays;
@@ -100,7 +99,7 @@
createSocket(msg.obj + "", ipBean.getPort());
break;
case 2:
- ToastUtil.show(MyApplication.this, "DNS瑙f瀽澶辫触");
+ ToastUtil.show("DNS瑙f瀽澶辫触");
break;
}
@@ -186,14 +185,14 @@
BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().insert(deviceNumber);
// WSHelper.getInstance(MyApplication.this).put("initCode", initCode);
- ToastUtil.show(MyApplication.this, "鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
+ ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show(MyApplication.this, "纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
+ ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
}
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show(MyApplication.this, "纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒");
+ ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒");
}
}
@@ -203,7 +202,7 @@
}
});
} else {//鏍¢獙CRC閿欒
- ToastUtil.show(MyApplication.this, "鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒");
+ ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒");
}
}
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 91d6565..cfac406 100644
--- a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java
@@ -12,7 +12,7 @@
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;
@@ -54,19 +54,21 @@
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, "璁剧疆鎴愬姛");
+ TipUtil.show(AdminSetupActivity.this, "璁剧疆鎴愬姛", new TipUtil.TipListener() {
+ @Override
+ public void onCancle() {
+ AdminSetupActivity.this.finish();
+ }
+ });
setData();
IpBean ipBean = baseDao.ipDao().findFirst();
if (ipBean != null) {
@@ -74,10 +76,10 @@
}
} else {
- ToastUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
+ TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
}
} else {
- ToastUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
+ TipUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
}
}
});
@@ -108,8 +110,7 @@
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()));
@@ -151,6 +152,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();
}
});
diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
index 5b1e40b..a27aa80 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -9,8 +9,16 @@
import android.content.Context;
import android.content.Intent;
import android.nfc.NfcAdapter;
+import android.os.Handler;
+import android.os.Message;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.card.UserCard;
+import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.utils.TipUtil;
+import com.tencent.bugly.crashreport.CrashReport;
+
+import java.util.List;
+import java.util.Map;
/**
* Author:Created by Ricky on 2017/8/25.
@@ -22,8 +30,27 @@
* 灏哊FC鏍囩鍗¢潬杩戞墜鏈哄悗閮紙NFC鏍囩鍗″彲缃戜笂鑷璐拱锛�
*/
public class BaseNfcActivity extends BaseActivity {
+
+ /**
+ * 璇ュ崱宸插啓鍏ョ敤鎴蜂俊鎭�
+ */
+ public final static int HAS_USER = 1;
+ /**
+ * 璇ュ崱鏈啓鍏ョ敤鎴蜂俊鎭�
+ */
+ public final static int NO_USER = 2;
+ /**
+ * 鍏呭��
+ */
+ public final static int RECHARGE = 3;
+
+ public final static int ERROR = -1;
+
protected NfcAdapter mNfcAdapter;
private PendingIntent mPendingIntent;
+
+ volatile UserCard userCard;
+ Handler handler;
/**
* onCreat->onStart->onResume->onPause->onStop->onDestroy
@@ -71,13 +98,51 @@
*/
protected Boolean ifNFCUse(Context context) {
if (mNfcAdapter == null) {
- ToastUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�");
+ TipUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�");
return false;
}
if (mNfcAdapter != null && !mNfcAdapter.isEnabled()) {
- ToastUtil.show(context, "璇峰湪绯荤粺璁剧疆涓厛鍚敤NFC鍔熻兘锛�");
+ TipUtil.show(context, "璇峰湪绯荤粺璁剧疆涓厛鍚敤NFC鍔熻兘锛�");
return false;
}
return true;
}
+
+ /**
+ * 璇诲彇鍏ㄩ儴鏁版嵁
+ */
+ public void readAllData(Intent intent) {
+ try {
+ NfcReadHelper.getInstence(intent)
+ .getAllData(new NfcReadHelper.NFCCallListback() {
+ @Override
+ public void callBack(Map<String, List<byte[]>> data) {
+ Message message = new Message();
+// 鑾峰彇1鎵囧尯鏁版嵁
+ List<byte[]> oneSector = data.get("1");
+ if (oneSector != null && oneSector.size() > 0) {
+ userCard = UserCard.getBean(oneSector);
+ message.what = RECHARGE;
+ } else {
+ message.what = ERROR;
+ }
+ if (handler != null) {
+ handler.sendMessage(message);
+ }
+ }
+
+ @Override
+ public void error(int code) {
+ if (handler != null) {
+ Message message = new Message();
+ message.what = ERROR;
+ handler.sendMessage(message);
+ }
+ }
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ CrashReport.postCatchedException(e);
+ }
+ }
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java b/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
index 9c15735..7cf1cae 100644
--- a/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
@@ -7,7 +7,7 @@
import com.dayu.recharge.databinding.ActivityDomainBinding;
import com.dayu.recharge.dbBean.DomainBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
/**
* Created by Android Studio.
@@ -34,27 +34,27 @@
String port = binding.port.getText().toString();
int portInt = 0;
if (TextUtils.isEmpty(domainNumber)) {
- ToastUtil.show("璇疯緭鍏ユ纭殑鍩熷悕搴忓彿");
+ TipUtil.show("璇疯緭鍏ユ纭殑鍩熷悕搴忓彿");
return;
}
if (TextUtils.isEmpty(port)) {
- ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
+ TipUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
return;
} else {
portInt = Integer.valueOf(port);
}
if (TextUtils.isEmpty(domain)) {
- ToastUtil.show("璇疯緭鍏ュ煙鍚�");
+ TipUtil.show("璇疯緭鍏ュ煙鍚�");
return;
} else if (portInt <= 0 || portInt > 65535) {
- ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
+ TipUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
return;
}
domainBean.setDomainNumber(domainNumber);
domainBean.setDomain(domain);
domainBean.setPort(portInt);
baseDao.domainPortDao().insert(domainBean);
- ToastUtil.show("淇濆瓨鎴愬姛");
+ TipUtil.show("淇濆瓨鎴愬姛");
initData();
}
});
diff --git a/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java b/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java
index a49d247..d98ecd5 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java
@@ -7,7 +7,7 @@
import com.dayu.recharge.databinding.ActivityElectricPriceBinding;
import com.dayu.recharge.dbBean.ElectricPriceBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
/**
* Copyright (C), 2023,
@@ -33,10 +33,10 @@
if (!TextUtils.isEmpty(electricPriceBinding.electricNewNum.getText())) {
electricPriceBean.setPrice(Float.parseFloat(electricPriceBinding.electricNewNum.getText().toString()));
baseDao.electricPriceDao().insert(electricPriceBean);
- ToastUtil.show("淇濆瓨鎴愬姛");
+ TipUtil.show("淇濆瓨鎴愬姛");
initData();
} else {
- ToastUtil.show("璇疯緭鍏ユ纭噾棰�");
+ TipUtil.show("璇疯緭鍏ユ纭噾棰�");
}
}
});
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 ea32a72..cfa7ada 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -8,7 +8,7 @@
import com.dayu.recharge.databinding.ActivityHomeBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.permissionx.guolindev.PermissionX;
@@ -20,12 +20,13 @@
*/
public class HomeActivity extends BaseActivity {
-
+ public static HomeActivity homeActivity;
ActivityHomeBinding homeBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ homeActivity = this;
homeBinding = ActivityHomeBinding.inflate(LayoutInflater.from(this));
setContentView(homeBinding.getRoot());
initView();
@@ -52,11 +53,11 @@
homeBinding.homeNewCard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- AdminDataBean adminData= baseDao.adminDao().findFirst();
- if (adminData!=null){
+ AdminDataBean adminData = baseDao.adminDao().findFirst();
+ if (adminData != null) {
startActivity(new Intent(HomeActivity.this, NewCardActivity.class));
- }else {
- ToastUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
+ } else {
+ TipUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
}
}
@@ -64,7 +65,13 @@
homeBinding.homeRecharge.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- startActivity(new Intent(HomeActivity.this, RechargeActivity.class));
+ AdminDataBean adminData = baseDao.adminDao().findFirst();
+ if (adminData != null) {
+ startActivity(new Intent(HomeActivity.this, RechargeActivity.class));
+ } else {
+ TipUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
+ }
+
}
});
homeBinding.homeRedCard.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java b/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
index 77d30e1..58821bd 100644
--- a/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
@@ -7,7 +7,7 @@
import com.dayu.recharge.databinding.ActivityIdentyfyingBinding;
import com.dayu.recharge.dbBean.IdentityBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
/**
* Created by Android Studio.
@@ -41,9 +41,9 @@
if (!TextUtils.isEmpty(data)){
myIdentityBean.setIdentity(binding.electricOldNumber.getText().toString());
baseDao.identityDao().insert(myIdentityBean);
- ToastUtil.show("淇濆瓨鎴愬姛");
+ TipUtil.show("淇濆瓨鎴愬姛");
}else {
- ToastUtil.show("璇疯緭鍏ュ崱鏍囪瘑");
+ TipUtil.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 758307a..0e9a60f 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -16,8 +16,7 @@
import com.dayu.recharge.net.SocketNet;
import com.dayu.recharge.utils.DeviceNumberUtils;
import com.dayu.recharge.utils.ExcelUtil;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.view.PassWordDialog;
import com.dayu.recharge.view.datepicker.CustomDatePicker;
import com.dayu.recharge.view.datepicker.DateFormatUtils;
@@ -143,7 +142,7 @@
String[] title;
String fileName;
if (listData == null || listData.size() == 0) {
- ToastUtil.show(MyActivity.this, "璁板綍涓虹┖");
+ TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
return;
}
if (isRechargeList) {
@@ -180,11 +179,11 @@
try {
adminData = baseDao.adminDao().findFirst();
if (adminData != null) {
- myBinding.myAdminName.setText(adminData.getName());
+ myBinding.myAdminName.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
myBinding.myVillageNum.setText(adminData.getSerial());
} else {
- myBinding.myAdminName.setText("璇风偣鍑荤鐞嗗憳璁剧疆");
- myBinding.myVillageNum.setText("璇风偣鍑荤鐞嗗憳璁剧疆");
+ myBinding.myAdminName.setText("璇风偣鍑诲湴鍧�淇℃伅璁剧疆");
+ myBinding.myVillageNum.setText("璇风偣鍑诲湴鍧�淇℃伅璁剧疆");
}
StringBuilder msgData = new StringBuilder();
if (MyApplication.myApplication.isConncet) {
@@ -239,7 +238,7 @@
public void onTimeSelected(long timestamp) {
endTime = timestamp;
if ((endTime < beginTime) && endTime != beginTime) {
- ToastUtil.show(MyActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
+ TipUtil.show(MyActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
} else {
try {
endTime = endTime + (1000 * 60 * 60 * 24) - 1;
diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index 5355d4f..eef5996 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -6,6 +6,7 @@
import android.os.Message;
import android.text.TextUtils;
import android.view.LayoutInflater;
+import android.widget.Toast;
import com.dayu.recharge.MyApplication;
@@ -21,7 +22,6 @@
import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.databinding.ActivityWriteTextBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
-import com.dayu.recharge.dbBean.DeviceNumber;
import com.dayu.recharge.dbBean.ElectricPriceBean;
import com.dayu.recharge.dbBean.RechargeBean;
import com.dayu.recharge.dbBean.UserCardBean;
@@ -34,20 +34,18 @@
import com.dayu.recharge.tools.HexUtil;
import com.dayu.recharge.tools.NFCWriteHelper;
import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.tools.WriteCardUtils;
import com.dayu.recharge.utils.AidlUtil;
import com.dayu.recharge.utils.CRC8;
import com.dayu.recharge.utils.DateUtil;
import com.dayu.recharge.utils.DeviceNumberUtils;
import com.dayu.recharge.utils.MornyUtil;
import com.dayu.recharge.utils.SocketUtil;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.TipUtil;
import com.tencent.bugly.crashreport.CrashReport;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
/**
* Copyright (C), 2023,
@@ -57,21 +55,6 @@
*/
public class NFCWreatActivity extends BaseNfcActivity {
-
- /**
- * 璇ュ崱宸插啓鍏ョ敤鎴蜂俊鎭�
- */
- public final static int HAS_USER = 1;
- /**
- * 璇ュ崱鏈啓鍏ョ敤鎴蜂俊鎭�
- */
- public final static int NO_USER = 2;
- /**
- * 鍏呭��
- */
- public final static int RECHARGE = 3;
-
- public final static int ERROR = -1;
boolean cleanFlag = false;
boolean userFlag = false;
@@ -92,6 +75,7 @@
String morny;
+ String userName;
AdminDataBean adminData;
RechargeBean rechargeBean;
Intent intent;
@@ -99,7 +83,6 @@
RegisteredCard registeredCard;
CleanUserCard cleanUserCard;
- volatile UserCard userCard;
ManageCard manageCard;
DomainCard domainCard;
@@ -116,6 +99,11 @@
* 鏄惁鏄敤鎴峰崱锛屽亣濡傛槸鐢ㄦ埛鍗$殑璇濋渶瑕佹娴嬪崱鐗囨槸鍚﹀凡缁忓紑杩囨埛锛屽亣濡傚凡寮�鎴峰垯鎶ラ敊涓嶈兘鍐嶅啓鍗�
*/
boolean isUser = false;//
+
+ //鏄惁鏄厖鍊艰繃绋�
+ boolean isRecharge = false;
+ //鍏呭�奸�氫俊鏄惁瀹屾垚
+ boolean rechargeIsOk = false;
ActivityWriteTextBinding binding;
@Override
@@ -124,7 +112,7 @@
try {
binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
-
+ initView();
nfcWreatActivity = this;
getData();
baseApp = (MyApplication) getApplication();
@@ -134,12 +122,36 @@
}
}
+ private void initView() {
+ handler = new Handler(new Handler.Callback() {
+ @Override
+ public boolean handleMessage(Message msg) {
+ switch (msg.what) {
+
+ case HAS_USER://鍒ゆ柇宸插啓鍏ョ敤鎴�
+ binding.textView.setText("璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖");
+ binding.textView.setTextColor(getResources().getColor(R.color.red));
+ stopAnim();
+ break;
+ case NO_USER://娌℃湁鍐欒繃鐢ㄦ埛缁х画淇濆瓨
+ saveData();
+ break;
+ default:
+ stopAnim();
+ TipUtil.show(NFCWreatActivity.this, "鍗$墖璇诲彇澶辫触");
+ break;
+
+ }
+ return false;
+ }
+ });
+ }
+
private void getData() {
try {
if (this.getIntent().hasExtra("userCard")) {
userCard = (UserCard) this.getIntent().getSerializableExtra("userCard");
- isUser = true;
}
if (this.getIntent().hasExtra("cleanCard")) {
cleanCard = (CleanCard) this.getIntent().getSerializableExtra("cleanCard");
@@ -155,6 +167,7 @@
}
if (this.getIntent().hasExtra("dbUserCard")) {
userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("dbUserCard");
+ isUser = true;
}
if (this.getIntent().hasExtra("cleanUserCard")) {
cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
@@ -177,8 +190,13 @@
binding.cardData.setText("鍒朵綔閰嶇疆姘存车鍔熺巼鍗�");
}
if (this.getIntent().hasExtra("morny")) {
+ startAnim();
+ isRecharge = true;
morny = this.getIntent().getStringExtra("morny");
+ userName = this.getIntent().getStringExtra("userName");
binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�");
+ // 鍏呭�奸�昏緫
+ recharge(userCard.getInitPeasantCode(), userName, "鍚敤");
}
try {
@@ -239,8 +257,8 @@
|| domainCard != null || testCard != null
|| configureDeviceRegistrationCrad != null
|| configurationPowerCard != null) {
- if (userCard != null) {
- setUser(intent, userCard);
+ if (userCard != null && TextUtils.isEmpty(morny)) {
+ userFlag = WriteCardUtils.setUser(intent, userCard);
}
if (cleanCard != null) {
setClean(intent, cleanCard);
@@ -269,19 +287,14 @@
if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
try {
if (userFlag && userCardBean != null) {
-
- ToastUtil.show(this, "娉ㄥ唽鎴愬姛");
- NFCWreatActivity.this.finish();
- if (NewCardActivity.newCardActivity != null) {
- NewCardActivity.newCardActivity.finish();
- }
-
+ //鐢ㄦ埛鍗�
+ startDetailActivity(userCardBean.getUserName(), "鍚敤");
} else if (!TextUtils.isEmpty(morny)) {
NFCWreatActivity.this.finish();
- ToastUtil.show(this, "鍏呭�兼垚鍔�");
+ TipUtil.show("鍏呭�兼垚鍔�");
} else {
NFCWreatActivity.this.finish();
- ToastUtil.show(this, "鍐欏崱鎴愬姛");
+ TipUtil.show("鍐欏崱鎴愬姛");
}
} catch (Exception e) {
@@ -289,17 +302,19 @@
CrashReport.postCatchedException(e);
}
} else {
- ToastUtil.show(this, "鍐欏崱澶辫触");
+ TipUtil.show("鍐欏崱澶辫触");
}
stopAnim();
- } else if (!TextUtils.isEmpty(morny)) {
- readAllData(intent);
- } else if (userCard == null && userCardBean != null) {
+ }
+// else if (!TextUtils.isEmpty(morny)) {
+//
+// }
+ else if (userCard == null && userCardBean != null) {
//琛ュ崱閫昏緫
selectBalance(userCardBean.getInitPeasantCode());
} else {
stopAnim();
- ToastUtil.show(this, "鍙傛暟閿欒");
+ TipUtil.show(this, "鍙傛暟閿欒");
}
} catch (Exception e) {
e.printStackTrace();
@@ -309,11 +324,19 @@
@Override
public void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
try {
this.intent = intent;
startAnim();
if (isUser) {
checkHasUser();
+ } else if (isRecharge) {
+ if (rechargeIsOk) {
+ rechargeWrratCard();
+ } else {
+ Toast.makeText(this, "姝e湪閫氫俊璇风◢鍚�", Toast.LENGTH_SHORT).show();
+ }
+
} else {
saveData();
}
@@ -322,65 +345,6 @@
CrashReport.postCatchedException(e);
}
}
-
-
- /**
- * 璇诲彇鍏ㄩ儴鏁版嵁
- */
- private void readAllData(Intent intent) {
- try {
- NfcReadHelper.getInstence(intent)
- .getAllData(new NfcReadHelper.NFCCallListback() {
- @Override
- public void callBack(Map<String, List<byte[]>> data) {
- Message message = new Message();
-// 鑾峰彇1鎵囧尯鏁版嵁
- List<byte[]> oneSector = data.get("1");
- if (oneSector != null && oneSector.size() > 0) {
- userCard = UserCard.getBean(oneSector);
- message.what = RECHARGE;
- } else {
- message.what = ERROR;
- }
- handler.sendMessage(message);
- }
-
- @Override
- public void error(int code) {
- Message message = new Message();
- message.what = ERROR;
- handler.sendMessage(message);
- }
- });
- } catch (Exception e) {
- e.printStackTrace();
- CrashReport.postCatchedException(e);
- }
- }
-
- Handler handler = new Handler(new Handler.Callback() {
- @Override
- public boolean handleMessage(Message msg) {
- switch (msg.what) {
-
- case HAS_USER://鍒ゆ柇宸插啓鍏ョ敤鎴�
- ToastUtil.show(NFCWreatActivity.this, "璇ュ崱宸茬粡鍐欏叆鐢ㄦ埛淇℃伅锛岃鏇存崲鍗$墖");
- break;
- case NO_USER://娌℃湁鍐欒繃鐢ㄦ埛缁х画淇濆瓨
- saveData();
- break;
- case RECHARGE://鍏呭�兼祦绋�
- selectBalance(userCard.getInitPeasantCode());
- break;
- default:
- stopAnim();
- ToastUtil.show(NFCWreatActivity.this, "鍗$墖璇诲彇澶辫触");
- break;
-
- }
- return false;
- }
- });
/**
@@ -426,7 +390,7 @@
//鍏呭�间笂浼狅紙Socket锛�
- private void recharge(String initPeasantCode) {
+ private void recharge(String initPeasantCode, String name, String statu) {
try {
RechargeRequestBean rechargeRequestBean = new RechargeRequestBean();
rechargeRequestBean.setControl("01");
@@ -436,46 +400,61 @@
rechargeRequestBean.setAFN("95");
rechargeRequestBean.setInitPeasantCode(initPeasantCode);
rechargeRequestBean.setBalance(morny);
+
rechargeRequestBean.setOrderId(SocketUtil.getOrderId(NFCWreatActivity.this));
SocketNet.getInstance().sendTestMessage(rechargeRequestBean.pack(), new SocketCallBack() {
@Override
public void onSocketResponse(SocketData readData) {
+ //閲戦
+ byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
+ int balance = SocketUtil.get16to10LowHigh(blanceByte);
+ //濮撳悕
+ byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
+ userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+ byte[] orderByte = Arrays.copyOfRange(readData.getBodyBytes(), 19, 27);
+ String orderId = BcdUtil.bcdToStr(orderByte);
if (CRC8.isCRC8(readData.getOriginDataBytes())) {
String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]);
//00鍚敤01绂佺敤02闅跺睘淇℃伅涓嶇03鏃犳鍗′俊鎭�04鍏跺畠
if ("00".equalsIgnoreCase(state)) {
+ rechargeIsOk = true;
+ binding.cardData.setText("鍏呭�奸�氫俊瀹屾垚锛岃甯栧崱鍏呭��");
+ rechargeBean = new RechargeBean();
+ rechargeBean.setDate(System.currentTimeMillis());
+ rechargeBean.setMorny(morny);
+ rechargeBean.setUserName(name);
+
+ rechargeBean.setSerial(adminData.getSerial());
+ userCard.setRechargeDate(Calendar.getInstance());
+ rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + "");
+ rechargeBean.setInitPeasantCode(initPeasantCode);
+ rechargeBean.setOrderID(orderId);
try {
baseDao.rechargeDao().insert(rechargeBean);
} catch (Exception e) {
e.printStackTrace();
}
userCard.setRechargeTimes(userCard.getRechargeTimes() + 1);
- setUser(intent, userCard);
- // 鎵撳嵃鐩稿叧
- setPrinterData(rechargeBean);
- ToastUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛");
- RechargeActivity.rechargeActivity.finish();
- NFCWreatActivity.nfcWreatActivity.finish();
} else if ("01".equalsIgnoreCase(state)) {
+ userCard.setState("01");
+ userFlag = WriteCardUtils.setUser(intent, userCard);
NFCWreatActivity.this.finish();
- ToastUtil.show(NFCWreatActivity.this, "鍏呭�兼姤鏂囬敊璇�-绂佺敤");
+ TipUtil.show("鍏呭�兼姤鏂囬敊璇�-绂佺敤");
} else if ("02".equalsIgnoreCase(state)) {
- ToastUtil.show(NFCWreatActivity.this, "鍏呭�兼姤鏂囬敊璇�-闅跺睘淇℃伅涓嶇");
+ TipUtil.show("鍏呭�兼姤鏂囬敊璇�-闅跺睘淇℃伅涓嶇");
NFCWreatActivity.this.finish();
} else if ("03".equalsIgnoreCase(state)) {
- ToastUtil.show(NFCWreatActivity.this, "鍏呭�兼姤鏂囬敊璇�-鏃犳鍗′俊鎭�");
+ TipUtil.show("鍏呭�兼姤鏂囬敊璇�-鏃犳鍗′俊鎭�");
NFCWreatActivity.this.finish();
} else {
- ToastUtil.show(NFCWreatActivity.this, "鍏呭�兼姤鏂囬敊璇�-鍏跺畠");
+ TipUtil.show("鍏呭�兼姤鏂囬敊璇�-鍏跺畠");
NFCWreatActivity.this.finish();
}
-
-
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show(NFCWreatActivity.this, "鍏呭�兼姤鏂囬敊璇牎楠孋RC閿欒");
+ TipUtil.show(NFCWreatActivity.this, "鍏呭�兼姤鏂囬敊璇牎楠孋RC閿欒");
NFCWreatActivity.this.finish();
}
stopAnim();
@@ -484,7 +463,7 @@
@Override
public void onSocketError(int code, String msg) {
stopAnim();
- ToastUtil.show(NFCWreatActivity.this, msg);
+ TipUtil.show(NFCWreatActivity.this, msg);
}
});
} catch (Exception e) {
@@ -494,13 +473,31 @@
}
- private void setmanageCard(Intent intent, final ManageCard manageCard) {
- NFCWriteHelper.getInstence(intent).writeData(manageCard.toZeroByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- manageCardFlag = flag;
+ //寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹�
+ private void rechargeWrratCard() {
+ UserCard userCardold = NfcReadHelper.getInstence(intent).getUserCardData();
+ if (userCardold != null) {
+ //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
+ if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) {
+ userCard.setState("00");
+ userFlag = WriteCardUtils.setUser(intent, userCard);
+ // 鎵撳嵃鐩稿叧
+ if (userFlag) {
+ setPrinterData(rechargeBean);
+ startDetailActivity(userName, "鍚敤");
+ } else {
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
+ }
+ } else {
+ TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
}
- });
+ } else {
+
+ }
+ }
+
+ private void setmanageCard(Intent intent, final ManageCard manageCard) {
+ manageCardFlag = NFCWriteHelper.getInstence(intent).writeData(manageCard.toZeroByte(), 1, 0);
}
/**
@@ -510,41 +507,9 @@
* @param clearOrInitCard
*/
private void setClean(Intent intent, final CleanCard clearOrInitCard) {
- NFCWriteHelper.getInstence(intent).writeData(clearOrInitCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- cleanFlag = flag;
- }
- });
+ cleanFlag = NFCWriteHelper.getInstence(intent).writeData(clearOrInitCard.toByte(), 1, 0);
}
- //鍚戝崱鍐欏叆鐢ㄦ埛淇℃伅
- private void setUser(Intent intent, UserCard userCard) {
- NFCWriteHelper.getInstence(intent).writeData(userCard.getZeroBytes(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- userFlag = flag;
- }
- });
- if (!userFlag) {
- return;
- }
- NFCWriteHelper.getInstence(intent).writeData(userCard.getOneBytes(), 1, 1, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- userFlag = flag;
- }
- });
- if (!userFlag) {
- return;
- }
- NFCWriteHelper.getInstence(intent).writeData(userCard.getTwoBytes(), 1, 2, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- userFlag = flag;
- }
- });
- }
/**
* 閲嶆柊娉ㄥ唽璁惧鍗�
@@ -553,12 +518,7 @@
* @param registeredCard
*/
private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) {
- NFCWriteHelper.getInstence(intent).writeData(registeredCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- registeredFlag = flag;
- }
- });
+ registeredFlag = NFCWriteHelper.getInstence(intent).writeData(registeredCard.toByte(), 1, 0);
}
/**
@@ -568,12 +528,7 @@
* @param cleanUserCard
*/
private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
- NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- cleanUserCardFlag = flag;
- }
- });
+ cleanUserCardFlag = NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0);
}
/**
@@ -584,30 +539,15 @@
*/
private void setDomainCard(Intent intent, DomainCard domainCard) {
try {
- NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- domainCrdFlag = flag;
- }
- });
+ domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0);
if (!domainCrdFlag) {
return;
}
- NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- domainCrdFlag = flag;
- }
- });
+ domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1);
if (!domainCrdFlag) {
return;
}
- NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- domainCrdFlag = flag;
- }
- });
+ domainCrdFlag = NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2);
} catch (Exception e) {
domainCrdFlag = false;
throw new RuntimeException(e);
@@ -615,38 +555,41 @@
}
private void setTestCard(Intent intent, TestCard testCard) {
- NFCWriteHelper.getInstence(intent).writeData(testCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- testCardFlag = flag;
- }
- });
+ testCardFlag = NFCWriteHelper.getInstence(intent).writeData(testCard.toByte(), 1, 0);
}
private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
- NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- configDeviceRegiestFlag = flag;
- }
- });
+ configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0);
}
private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
try {
- NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
- @Override
- public void isSusses(boolean flag) {
- configPowerFlag = flag;
- }
- });
+ configPowerFlag = NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0);
} catch (Exception e) {
configPowerFlag = false;
throw new RuntimeException(e);
}
}
+
+ private void startDetailActivity(String userName, String statu) {
+ Intent detail = new Intent(this, RechargeDetail.class);
+ detail.putExtra("userName", userName);
+ detail.putExtra("statu", statu);
+ detail.putExtra("userCard", userCard);
+ if (!TextUtils.isEmpty(morny)) {
+ detail.putExtra("morny", morny);
+ }
+ startActivity(detail);
+ if (NewCardActivity.newCardActivity != null) {
+ NewCardActivity.newCardActivity.finish();
+ }
+ if (RechargeActivity.rechargeActivity != null) {
+ RechargeActivity.rechargeActivity.finish();
+ }
+ NFCWreatActivity.nfcWreatActivity.finish();
+ }
/**
* 鏌ヨ浣欓
@@ -672,7 +615,6 @@
try {
stateText = new StringBuffer();
- stateText.append("鐘� 鎬侊細");
String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
if (userCard == null) {
userCard = new UserCard();
@@ -691,57 +633,32 @@
userCard.setAddressCode(adminData.getAddressCode());
userCard.setInitPeasantCode(initPeasantCode);
}
-
+ //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊�
+ //閲戦
+ byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
+ int balance = SocketUtil.get16to10LowHigh(blanceByte);
+ //濮撳悕
+ byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
+ String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
if ("00".equals(state)) {
- //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊�
- //閲戦
- byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
- int balance = SocketUtil.get16to10LowHigh(blanceByte);
- //濮撳悕
- byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
- String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
- userCard.setBalance(balance);
- //涓巗ocket鏈嶅姟鍣ㄩ�氫俊鍚庤繘琛屽悗缁搷浣�
-
- if (!TextUtils.isEmpty(morny)) {
- //鍏呭��
- rechargeBean = new RechargeBean();
- rechargeBean.setDate(System.currentTimeMillis());
- rechargeBean.setMorny(morny);
- if (userCardBean != null) {
- rechargeBean.setUserName(userCardBean.getUserName());
- } else {
- rechargeBean.setUserName(name);
- }
- List<UserCardBean> userCardBeans = baseDao.userCardDao().findAll();
- String userId = "";
- if (userCardBeans != null) {
- for (int i = 0; i < userCardBeans.size(); i++) {
- if (initPeasantCode.equalsIgnoreCase(userCardBeans.get(i).getInitPeasantCode())) {
- userId = userCardBeans.get(i).getUserID();
- }
- }
- }
- rechargeBean.setSerial(adminData.getSerial());
- userCard.setRechargeDate(Calendar.getInstance());
- rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + "");
- rechargeBean.setUserId(userId);
- recharge(initPeasantCode);
- } else {
- //琛ュ崱閫昏緫
- setUser(intent, userCard);
- if (userFlag) {
- NFCWreatActivity.this.finish();
- ToastUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛");
- }
- }
-
stateText.append("鍚敤");
+ userCard.setBalance(balance);
+ userCard.setState("00");
+ //琛ュ崱閫昏緫
+ userFlag = WriteCardUtils.setUser(intent, userCard);
+ if (userFlag) {
+ NFCWreatActivity.this.finish();
+ TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛");
+ }
return;
} else if ("01".equals(state)) {
stateText.append("绂佺敤");
userCard.setState("01");
- setUser(intent, userCard);
+ userCard.setBalance(balance);
+ userFlag = WriteCardUtils.setUser(intent, userCard);
+
+ startDetailActivity(name, stateText.toString());
+
} else if ("02".equals(state)) {
stateText.append("闅跺睘淇℃伅涓嶇");
} else if ("03".equals(state)) {
@@ -749,21 +666,23 @@
} else if ("04".equals(state)) {
stateText.append("鍏跺畠");
}
- ToastUtil.show(NFCWreatActivity.this, stateText.toString());
+ stopAnim();
+ binding.cardData.setText(stateText);
+ TipUtil.show(NFCWreatActivity.this, stateText.toString());
} catch (Exception e) {
e.printStackTrace();
stopAnim();
}
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show(NFCWreatActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
+ TipUtil.show(NFCWreatActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
}
}
@Override
public void onSocketError(int code, String msg) {
stopAnim();
- ToastUtil.show(NFCWreatActivity.this, msg);
+ TipUtil.show(NFCWreatActivity.this, msg);
}
});
} catch (Exception e) {
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 0d0cc7d..007a915 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -29,8 +29,7 @@
import com.dayu.recharge.tools.Utils;
import com.dayu.recharge.utils.CRC8;
import com.dayu.recharge.utils.SocketUtil;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.TipUtil;
import com.permissionx.guolindev.PermissionX;
import org.json.JSONException;
@@ -67,7 +66,8 @@
}
private void initView() {
- newCardBinding.newCardId.setFilters(new InputFilter[] { new AlphaNumericXFilter(),new InputFilter.LengthFilter(18) });
+ newCardBinding.newCardName.setFilters(new InputFilter[]{new ChineseInputFilter()});
+ newCardBinding.newCardId.setFilters(new InputFilter[]{new AlphaNumericXFilter(), new InputFilter.LengthFilter(18)});
//韬唤璇佽瘑鍒�
newCardBinding.newCardScanBtn.setOnClickListener(new View.OnClickListener() {
@Override
@@ -91,13 +91,13 @@
&& !TextUtils.isEmpty(phone) && !TextUtils.isEmpty(userID)
) {
if (userName.length() <= 1 || !validateName(userName)) {
- ToastUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
+ TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
return;
} else if (phone.length() < 11) {
- ToastUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
+ TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
return;
} else if (!Utils.check(userID)) {
- ToastUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
+ TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
return;
} else {
dialog = ProgressDialog.show(NewCardActivity.this, "", "姝e湪閫氫俊璇风◢鍚�", true, true);
@@ -111,7 +111,7 @@
}
} else {
- ToastUtil.show(NewCardActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
+ TipUtil.show(NewCardActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
}
}
});
@@ -146,7 +146,7 @@
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- if (resultCode == RESULT_OK){
+ if (resultCode == RESULT_OK) {
switch (requestCode) {
case SCAN_IDCARD_REQUEST:
String result = data.getStringExtra("OCRResult");
@@ -197,7 +197,7 @@
String initCode = DeviceNumberUtils.getDeviceNumber();
if (TextUtils.isEmpty(initCode)) {
- ToastUtil.show(this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
+ TipUtil.show(this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
IpBean ipBean = baseDao.ipDao().findFirst();
if (ipBean != null && adminData != null) {
MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode());
@@ -259,21 +259,21 @@
intent.putExtra("dbUserCard", userCardBean);
startActivity(intent);
} else if (state.equalsIgnoreCase("01")) {
- ToastUtil.show(NewCardActivity.this, "寮�鍗℃姤鏂�--韬唤璇佸凡娉ㄥ唽");
+ TipUtil.show(NewCardActivity.this, "寮�鍗℃姤鏂�--韬唤璇佸凡娉ㄥ唽");
} else if (state.equalsIgnoreCase("02")) {
- ToastUtil.show(NewCardActivity.this, "寮�鍗℃姤鏂�--鍏朵粬鍘熷洜澶辫触");
+ TipUtil.show(NewCardActivity.this, "寮�鍗℃姤鏂�--鍏朵粬鍘熷洜澶辫触");
}
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show(NewCardActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
+ TipUtil.show(NewCardActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
}
}
@Override
public void onSocketError(int code, String msg) {
dialog.dismiss();
- ToastUtil.show(NewCardActivity.this, msg);
+ TipUtil.show(NewCardActivity.this, msg);
}
});
@@ -300,4 +300,27 @@
return null; // 鍏佽杈撳叆瀛楃
}
}
+
+ public class ChineseInputFilter implements InputFilter {
+ @Override
+ public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
+ StringBuilder builder = new StringBuilder();
+ for (int i = start; i < end; i++) {
+ char currentChar = source.charAt(i);
+ // 鍙厑璁告眽瀛�
+ if (isChineseCharacter(currentChar)) {
+ builder.append(currentChar);
+ }
+ }
+ return builder.toString();
+ }
+
+ private boolean isChineseCharacter(char c) {
+ // 杩欓噷浣跨敤Unicode鑼冨洿鍒ゆ柇鏄惁涓烘眽瀛�
+ // 姹夊瓧鐨刄nicode鑼冨洿鏄細0x4e00 - 0x9fa5
+ return (c >= 0x4e00 && c <= 0x9fa5);
+ }
+ }
+
+
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java
index d8cbaf1..e959fbb 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardListActivity.java
@@ -5,12 +5,11 @@
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
-import android.widget.AdapterView;
import com.dayu.recharge.adapter.NewCardAdapter;
import com.dayu.recharge.databinding.ActivityNewcardListBinding;
import com.dayu.recharge.dbBean.UserCardBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.view.datepicker.CustomDatePicker;
import com.dayu.recharge.view.datepicker.DateFormatUtils;
@@ -90,7 +89,7 @@
public void onTimeSelected(long timestamp) {
endTime = timestamp;
if ((endTime < beginTime) && endTime != beginTime) {
- ToastUtil.show(NewCardListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
+ TipUtil.show(NewCardListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
} else {
try {
endTime = endTime + (1000 * 60 * 60 * 24) - 1;
diff --git a/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java b/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
index 493f65d..e89fc9e 100644
--- a/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
@@ -7,7 +7,7 @@
import com.dayu.recharge.databinding.ActivityPswBinding;
import com.dayu.recharge.dbBean.PassWordBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.utils.WSMD5;
/**
@@ -44,16 +44,16 @@
if (pswBinding.pswNew.getText().toString().equals(pswBinding.pswNewAgin.getText().toString())) {
passWordBean.setPassWord(pswBinding.pswNewAgin.getText().toString());
baseDao.loginPsDao().insert(passWordBean);
- ToastUtil.show(PassWordActivity.this, "瀵嗙爜淇敼瀹屾垚");
+ TipUtil.show(PassWordActivity.this, "瀵嗙爜淇敼瀹屾垚");
PassWordActivity.this.finish();
} else {
- ToastUtil.show(PassWordActivity.this, "涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�");
+ TipUtil.show(PassWordActivity.this, "涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�");
}
} else {
- ToastUtil.show(PassWordActivity.this, "鏃у瘑鐮佽緭鍏ラ敊璇�");
+ TipUtil.show(PassWordActivity.this, "鏃у瘑鐮佽緭鍏ラ敊璇�");
}
} else {
- ToastUtil.show(PassWordActivity.this, "璇疯緭瀹屽唴瀹�");
+ TipUtil.show(PassWordActivity.this, "璇疯緭瀹屽唴瀹�");
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java b/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
index 8220dc7..91452f4 100644
--- a/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
@@ -7,7 +7,7 @@
import com.dayu.recharge.databinding.ActivityPowerBinding;
import com.dayu.recharge.dbBean.PowerBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
/**
* Copyright (C), 2023,
@@ -44,11 +44,11 @@
if (!TextUtils.isEmpty(data)) {
powerBean.setPower(data);
baseDao.powerDao().insert(powerBean);
- ToastUtil.show("淇濆瓨鎴愬姛");
+ TipUtil.show("淇濆瓨鎴愬姛");
// PowerActivity.this.finish();
initData();
} else {
- ToastUtil.show("璇疯緭鍏ユ按娉靛姛鐜�");
+ TipUtil.show("璇疯緭鍏ユ按娉靛姛鐜�");
}
}
});
diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
index 2913686..6c9fe1d 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -5,7 +5,6 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -14,8 +13,6 @@
import com.dayu.recharge.card.DomainCard;
import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.databinding.ActivityRedCardBinding;
-import com.dayu.recharge.dbBean.RechargeBean;
-import com.dayu.recharge.dbBean.UserCardBean;
import com.dayu.recharge.net.SocketCallBack;
import com.dayu.recharge.net.SocketData;
import com.dayu.recharge.net.SocketNet;
@@ -23,13 +20,13 @@
import com.dayu.recharge.tools.BcdUtil;
import com.dayu.recharge.tools.HexUtil;
import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.tools.WriteCardUtils;
import com.dayu.recharge.utils.CRC8;
import com.dayu.recharge.utils.DeviceNumberUtils;
import com.dayu.recharge.utils.MornyUtil;
import com.dayu.recharge.utils.MyCommon;
import com.dayu.recharge.utils.SocketUtil;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.TipUtil;
import java.util.Arrays;
import java.util.Calendar;
@@ -60,6 +57,8 @@
volatile UserCard userCard;
ActivityRedCardBinding redCardBinding;
+
+ Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -96,6 +95,8 @@
@Override
public void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ this.intent = intent;
startAnim();
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
readAllData(intent);
@@ -105,7 +106,8 @@
/**
* 璇诲彇鍏ㄩ儴鏁版嵁
*/
- private void readAllData(Intent intent) {
+
+ public void readAllData(Intent intent) {
NfcReadHelper.getInstence(intent)
.getAllData(new NfcReadHelper.NFCCallListback() {
@Override
@@ -227,10 +229,10 @@
break;
case MyCommon.ERROR_MOVE:
stopAnim();
- ToastUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
+ TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
break;
default:
- ToastUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+ TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
stopAnim();
break;
}
@@ -281,11 +283,23 @@
try {
stateText = new StringBuffer();
-// stateText.append("鐘� 鎬侊細");
+ //閲戦
+ byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
+ int balance = SocketUtil.get16to10LowHigh(blanceByte);
+ //濮撳悕
+ byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
+ String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+ setUserData(name, balance, stateText.toString());
String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
if ("00".equals(state)) {
+ userCard.setBalance(balance);
+ userCard.setState("00");
+ WriteCardUtils.setUser(intent, userCard);
stateText.append("鍚敤");
} else if ("01".equals(state)) {
+ userCard.setBalance(balance);
+ userCard.setState("01");
+ WriteCardUtils.setUser(intent, userCard);
stateText.append("绂佺敤");
} else if ("02".equals(state)) {
stateText.append("闅跺睘淇℃伅涓嶇");
@@ -294,29 +308,22 @@
} else if ("04".equals(state)) {
stateText.append("鍏跺畠");
}
- //閲戦
- byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
- int balance = SocketUtil.get16to10LowHigh(blanceByte);
- //濮撳悕
- byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
- String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
- setUserData(name, balance, stateText.toString());
stopAnim();
} catch (Exception e) {
e.printStackTrace();
}
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show(ReadCardAcitivy.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
+ TipUtil.show(ReadCardAcitivy.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
}
stopAnim();
}
@Override
public void onSocketError(int code, String msg) {
- ToastUtil.show(ReadCardAcitivy.this, msg);
+ TipUtil.show(ReadCardAcitivy.this, msg);
}
});
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
index 50ca2b4..a0b2a39 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -10,10 +10,22 @@
import android.widget.EditText;
import com.dayu.recharge.databinding.ActivityRechargeBinding;
+import com.dayu.recharge.dbBean.AdminDataBean;
+import com.dayu.recharge.net.SocketCallBack;
+import com.dayu.recharge.net.SocketData;
+import com.dayu.recharge.net.SocketNet;
+import com.dayu.recharge.socketBean.BalanceSelecteRequestBean;
+import com.dayu.recharge.tools.BcdUtil;
+import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.tools.WriteCardUtils;
+import com.dayu.recharge.utils.CRC8;
import com.dayu.recharge.utils.DeviceNumberUtils;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.MornyUtil;
+import com.dayu.recharge.utils.SocketUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.tencent.bugly.crashreport.CrashReport;
+
+import java.util.Arrays;
/**
@@ -22,11 +34,16 @@
* Date: 2023-11-5 09:52
* Description: 鍏呭�肩晫闈�
*/
-public class RechargeActivity extends BaseActivity {
+public class RechargeActivity extends BaseNfcActivity {
+ Intent intent;
+ boolean userFlag;
ActivityRechargeBinding binding;
public static RechargeActivity rechargeActivity;
+
+ AdminDataBean adminData;
+ String userName;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -43,7 +60,33 @@
}
}
+ public void onNewIntent(Intent intent) {
+
+ try {
+ this.intent = intent;
+ userCard = NfcReadHelper.getInstence(intent).getUserCardData();
+ if (userCard != null) {
+
+ selectBalance(userCard.getInitPeasantCode());
+ } else {
+ TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触");
+ }
+
+ readAllData(intent);
+ } catch (Exception e) {
+ e.printStackTrace();
+ CrashReport.postCatchedException(e);
+ }
+ super.onNewIntent(intent);
+ }
+
private void initView() {
+ try {
+ adminData = baseDao.adminDao().findFirst();
+ } catch (Exception e) {
+ e.printStackTrace();
+ CrashReport.postCatchedException(e);
+ }
binding.rechargeRegistBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -51,20 +94,22 @@
if (!TextUtils.isEmpty(morny)) {
String initCode = DeviceNumberUtils.getDeviceNumber();
if (TextUtils.isEmpty(initCode)) {
- ToastUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
-// return;
+ TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
}
Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
intent.putExtra("morny", morny);
+ intent.putExtra("userName", userName);
+ intent.putExtra("userCard", userCard);
startActivity(intent);
} else {
- ToastUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級");
+ TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級");
}
}
});
}
+ //鏍¢獙閲戦
public static void setPricePoint(final EditText editText) {
editText.addTextChangedListener(new TextWatcher() {
@Override
@@ -110,5 +155,81 @@
}
+ /**
+ * 鏌ヨ浣欓
+ *
+ * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿
+ */
+ private void selectBalance(String initPeasantCode) {
+ try {
+ BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean();
+ requestBean.setAFN("94");
+ requestBean.setControl("01");
+ String initCode = DeviceNumberUtils.getDeviceNumber();
+ requestBean.setInitCode(initCode);
+ requestBean.setInitPeasantCode(initPeasantCode);
+ requestBean.setXuLie(SocketUtil.getXuLie(this));
+ SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() {
+ @Override
+ public void onSocketResponse(SocketData readData) {
+ if (CRC8.isCRC8(readData.getOriginDataBytes())) {
+ StringBuffer stateText = null;
+ try {
+ stateText = new StringBuffer();
+ String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
+
+ //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊�
+ //閲戦
+ byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
+ int balance = SocketUtil.get16to10LowHigh(blanceByte);
+ //濮撳悕
+ byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
+ userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+ if ("00".equals(state)) {
+ stateText.append("鍚敤");
+ binding.rechargeReadLL.setVisibility(View.GONE);
+ binding.rechargeTextLL.setVisibility(View.VISIBLE);
+
+ binding.userName.setText(userName);
+ binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance));
+ binding.redStatu.setText(stateText.toString());
+ binding.redInitCode.setText(initPeasantCode);
+ userCard.setState("00");
+ userCard.setBalance(balance);
+ return;
+ } else if ("01".equals(state)) {
+ stateText.append("绂佺敤");
+ userCard.setState("01");
+ userCard.setBalance(balance);
+ userFlag = WriteCardUtils.setUser(intent, userCard);
+ TipUtil.show("璇ュ崱宸茶绂佺敤");
+ } else if ("02".equals(state)) {
+ stateText.append("闅跺睘淇℃伅涓嶇");
+ } else if ("03".equals(state)) {
+ stateText.append("鏃犳鍗′俊鎭�");
+ } else if ("04".equals(state)) {
+ stateText.append("鍏跺畠");
+ }
+ TipUtil.show(RechargeActivity.this, stateText.toString());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else {
+ //鏍¢獙CRC閿欒
+ TipUtil.show(RechargeActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
+ }
+ }
+
+ @Override
+ public void onSocketError(int code, String msg) {
+ TipUtil.show(RechargeActivity.this, msg);
+ }
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ CrashReport.postCatchedException(e);
+ }
+
+ }
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java b/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java
new file mode 100644
index 0000000..7d1f2ac
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java
@@ -0,0 +1,81 @@
+package com.dayu.recharge.activity;
+
+import android.os.Build;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import com.dayu.recharge.card.UserCard;
+import com.dayu.recharge.databinding.ActivityRechargeDetailBinding;
+import com.dayu.recharge.utils.MornyUtil;
+
+import java.util.Calendar;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-21
+ * Time: 15:01
+ * 澶囨敞锛氬啓鍗″悗鐨勮鎯呴〉
+ */
+public class RechargeDetail extends BaseActivity {
+
+ ActivityRechargeDetailBinding binding;
+ UserCard userCard;
+ String statu;
+ String userName;
+ String morny;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ binding = ActivityRechargeDetailBinding.inflate(LayoutInflater.from(this));
+ setContentView(binding.getRoot());
+
+ try {
+ userCard = (UserCard) getIntent().getSerializableExtra("userCard");
+ statu = getIntent().getStringExtra("statu");
+ userName = getIntent().getStringExtra("userName");
+ if (getIntent().hasExtra("morny")) {
+ morny = getIntent().getStringExtra("morny");
+ }
+ setUserData(userName, statu);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ private void setUserData(String userName, String statu) {
+ int balance = userCard.getBalance();
+ if (!TextUtils.isEmpty(morny)) {
+ balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
+ binding.redRemainderMorny.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
+ } else {
+ balance = userCard.getBalance();
+ binding.redRemainderMorny.setVisibility(View.GONE);
+ }
+ binding.redName.setText("鐢ㄦ埛濮撳悕锛�" + userName);
+ binding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(balance) + " 鍏�");
+ binding.redStatu.setText("鍗$姸鎬侊細" + statu);
+ if (userCard != null) {
+ binding.redInitCode.setText("鐢ㄦ埛娉ㄥ唽缂栧彿锛�" + userCard.getInitPeasantCode());
+ Calendar calendar = userCard.getRechargeDate();
+ if (calendar != null) {
+ int year = calendar.get(Calendar.YEAR);
+ int month = calendar.get(Calendar.MONTH); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
+ int day = calendar.get(Calendar.DAY_OF_MONTH);
+ int hour = calendar.get(Calendar.HOUR_OF_DAY);
+ int minute = calendar.get(Calendar.MINUTE);
+ int second = calendar.get(Calendar.SECOND);
+ binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + month + day + " " + hour + ":" + minute + ":" + second);
+ } else {
+ binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�");
+ }
+
+ binding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + "");
+ }
+ }
+}
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
index 9dd6132..6c0b70e 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
@@ -10,7 +10,7 @@
import com.dayu.recharge.databinding.ActivityRechargeListBinding;
import com.dayu.recharge.dbBean.RechargeBean;
import com.dayu.recharge.utils.ArithUtil;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.view.datepicker.CustomDatePicker;
import com.dayu.recharge.view.datepicker.DateFormatUtils;
@@ -100,7 +100,7 @@
public void onTimeSelected(long timestamp) {
endTime = timestamp;
if ((endTime < beginTime) && endTime != beginTime) {
- ToastUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
+ TipUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
} else {
endTime = endTime + (1000 * 60 * 60 * 24) - 1;
List<RechargeBean> userList = baseDao.rechargeDao().findByTime(beginTime, endTime);
diff --git a/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java b/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java
index 47b2e64..f0aa5d6 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReplacementActivity.java
@@ -11,7 +11,7 @@
import com.dayu.recharge.adapter.NewCardAdapter;
import com.dayu.recharge.databinding.ActivityReplacementBinding;
import com.dayu.recharge.dbBean.UserCardBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.view.EdtDialog;
import java.util.List;
@@ -73,7 +73,7 @@
userCardBeanList.addAll(beans);
adapter.notifyDataSetChanged();
} else {
- ToastUtil.show("鏈壘鍒拌鐢ㄦ埛");
+ TipUtil.show("鏈壘鍒拌鐢ㄦ埛");
}
}
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 be7ad6f..5bffa64 100644
--- a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
@@ -1,9 +1,7 @@
package com.dayu.recharge.activity;
-import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.telephony.TelephonyManager;
import android.view.LayoutInflater;
import android.view.View;
@@ -18,7 +16,7 @@
import com.dayu.recharge.databinding.ActivityAdminBinding;
import com.dayu.recharge.dbBean.DomainBean;
import com.dayu.recharge.dbBean.PowerBean;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
/**
* Copyright (C), 2023,
@@ -131,7 +129,7 @@
intent.putExtra("configurationPowerCard", configurationPowerCard);
startActivity(intent);
} else {
- ToastUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
+ TipUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
}
}
diff --git a/app/src/main/java/com/dayu/recharge/dbBean/RechargeBean.java b/app/src/main/java/com/dayu/recharge/dbBean/RechargeBean.java
index 08b5f6c..c2b8225 100644
--- a/app/src/main/java/com/dayu/recharge/dbBean/RechargeBean.java
+++ b/app/src/main/java/com/dayu/recharge/dbBean/RechargeBean.java
@@ -16,11 +16,33 @@
public long id;
private String serial;//璁惧搴忓垪鍙�
public String userName;
-
public String userId;//鐢ㄦ埛韬唤璇佸彿
public long date;
public String morny;//鍏呭�奸噾棰�
public String balance;//浣欓
+ public String total_morn;//鎬诲厖鍊奸噾棰�
+ //鐘舵�� 0鏈笂浼� 1鎴愬姛涓婁紶
+ public String orderID;//璁㈠崟鍙�
+ //鏈嶅姟鍣ㄨ繑鍥炵殑鍐滄埛娉ㄥ唽缂栧彿
+ private String initPeasantCode;
+
+ public int state = 0;
+
+ public String getOrderID() {
+ return orderID;
+ }
+
+ public void setOrderID(String orderID) {
+ this.orderID = orderID;
+ }
+
+ public String getInitPeasantCode() {
+ return initPeasantCode;
+ }
+
+ public void setInitPeasantCode(String initPeasantCode) {
+ this.initPeasantCode = initPeasantCode;
+ }
public String getTotal_morn() {
return total_morn;
@@ -33,12 +55,6 @@
public void setUserId(String userId) {
this.userId = userId;
}
-
- public String total_morn;//鎬诲厖鍊奸噾棰�
- //鐘舵�� 0鏈笂浼� 1鎴愬姛涓婁紶
-
-
- public int state = 0;
public void setTotal_morn(String total_morn) {
this.total_morn = total_morn;
diff --git a/app/src/main/java/com/dayu/recharge/net/SocketNet.java b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
index 481b320..fe1e5cb 100644
--- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java
+++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -2,7 +2,6 @@
import android.content.Context;
import android.os.Handler;
-import android.text.TextUtils;
import android.util.Log;
import com.dayu.recharge.dao.BaseDaoSingleton;
@@ -15,9 +14,6 @@
import com.easysocket.interfaces.conn.ISocketActionListener;
import com.easysocket.interfaces.conn.SocketActionListener;
import com.dayu.recharge.MyApplication;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
-import com.easysocket.utils.LogUtil;
/**
@@ -29,7 +25,7 @@
public class SocketNet {
public static SocketNet socketNet;
SocketCallBack myCallBack;
- byte[] dataMessage;
+ // byte[] dataMessage;
boolean isTest = false;
Context mContext;
@@ -53,9 +49,10 @@
// 鍙戦��
// EasySocket.getInstance().upMessage(dataMessage);
if (EasySocket.getInstance().getDefconnection() != null) {
- EasySocket.getInstance().disconnect(false);
- EasySocket.getInstance().connect();
- this.dataMessage = dataMessage;
+// EasySocket.getInstance().disconnect(false);
+// EasySocket.getInstance().connect();
+ EasySocket.getInstance().upMessage(dataMessage);
+// this.dataMessage = dataMessage;
} else {
MyApplication.myApplication.initEasySocket(false, null);
}
@@ -72,8 +69,8 @@
isTest = true;
mContext = context;
if (EasySocket.getInstance().getDefOptions().getSocketAddress() != null && !MyApplication.myApplication.isDoInitMachine) {
- EasySocket.getInstance().disconnect(false);
- EasySocket.getInstance().connect();
+// EasySocket.getInstance().disconnect(false);
+// EasySocket.getInstance().connect();
} else {
// ToastUtil.show(mContext, "Socket鍦板潃涓虹┖");
}
@@ -97,8 +94,9 @@
@Override
public void onSocketConnSuccess(SocketAddress socketAddress) {
Log.i("SocketActionListener", "杩炴帴鎴愬姛");
+ MyApplication.myApplication.isConncet = true;
DeviceNumber initCode = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
- if (initCode==null && !MyApplication.myApplication.isDoInitMachine) {
+ if (initCode == null && !MyApplication.myApplication.isDoInitMachine) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
@@ -111,12 +109,12 @@
}, 500);
}
- if (dataMessage != null) {
- EasySocket.getInstance().upMessage(dataMessage);
- }
+// if (dataMessage != null) {
+// EasySocket.getInstance().upMessage(dataMessage);
+// }
if (isTest) {
MyApplication.myApplication.isConncet = true;
- EasySocket.getInstance().disconnect(false);
+// EasySocket.getInstance().disconnect(false);
} else {
}
@@ -130,7 +128,7 @@
*/
@Override
public void onSocketConnFail(SocketAddress socketAddress, boolean isNeedReconnect) {
-// isConnected = false;
+ MyApplication.myApplication.isConncet = false;
Log.i("SocketActionListener", "socket杩炴帴澶辫触");
if (isTest) {
// ToastUtil.show(mContext, "杩炴帴澶辫触,璇锋鏌ョ綉缁�");
@@ -170,7 +168,7 @@
SocketData socketData = new SocketData();
socketData.setBodyData(originReadData.getBodyBytes());
socketData.setHeaderData(originReadData.getHeaderData());
- dataMessage = null;
+// dataMessage = null;
if (myCallBack != null) {
myCallBack.onSocketResponse(socketData);
}
diff --git a/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java b/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java
index 449ebe7..856fc30 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NFCWriteHelper.java
@@ -24,10 +24,10 @@
* email 1058083107@qq.com
* description
*/
-public class NFCWriteHelper extends BaseNFCHelper{
+public class NFCWriteHelper extends BaseNFCHelper {
private Tag tag;
- private NFCWriteHelper.NFCCallback callback;
+
private static NFCWriteHelper helper;
private static int PASSWORD_LENTH = 6;
@@ -67,12 +67,12 @@
/**
* 鍐欏崱
*
- * @param str 涔﹀啓鍐呭锛�16涓瓧鑺�
- * @param a 涔﹀啓鐨勬墖鍖� (浠�0寮�濮嬫暟)
- * @param b 涔﹀啓鐨勫潡(浠�0寮�濮嬫暟)
- * @param callback 杩斿洖鐩戝惉
+ * @param str 涔﹀啓鍐呭锛�16涓瓧鑺�
+ * @param a 涔﹀啓鐨勬墖鍖� (浠�0寮�濮嬫暟)
+ * @param b 涔﹀啓鐨勫潡(浠�0寮�濮嬫暟)
+ * @param
*/
- public void writeData(byte[] str, int a, int b, NFCWriteHelper.NFCCallback callback) {
+ public boolean writeData(byte[] str, int a, int b) {
if (str.length <= 16) {
try {
MifareClassic mfc = MifareClassic.get(tag);
@@ -84,15 +84,13 @@
int count = mfc.getSectorCount();
//濡傛灉浼犺繘鏉ョ殑鎵囧尯澶т簡鎴栬�呭皬浜嗙洿鎺ラ��鍑烘柟娉�
if (a > count - 1 || a < 0) {
- callback.isSusses(false);
- return;
+ return false;
}
//鑾峰彇鍐欑殑鎵囧尯鐨勫潡鐨勬暟閲�
int bCount = mfc.getBlockCountInSector(a);
//濡傛灉杈撳叆鐨勫潡澶т簡鎴栬�呭皬浜嗕篃鏄洿鎺ラ��鍑�
if (b > bCount - 1 || b < 0) {
- callback.isSusses(false);
- return;
+ return false;
}
//楠岃瘉鎵囧尯瀵嗙爜
boolean isOpen = mfc.authenticateSectorWithKeyA(a, bytes);
@@ -100,13 +98,12 @@
int bIndex = mfc.sectorToBlock(a);
//鍐欏崱
mfc.writeBlock(bIndex + b, str);
- callback.isSusses(true);
- return;
+ return true;
}
- callback.isSusses(false);
+ return false;
} catch (Exception e) {
e.printStackTrace();
- callback.isSusses(false);
+ return false;
} finally {
try {
mfc.close();
@@ -117,8 +114,10 @@
}
} catch (Exception e) {
e.printStackTrace();
+ return false;
}
}
+ return false;
}
diff --git a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
index 5e3b08d..428cfd8 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
@@ -5,6 +5,7 @@
import android.nfc.Tag;
import android.nfc.tech.MifareClassic;
+import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.utils.MyCommon;
import java.io.IOException;
@@ -45,6 +46,64 @@
return helper;
}
+
+ public UserCard getUserCardData() {
+ UserCard userCard = null;
+ Map<String, List<byte[]>> map = new HashMap<>();
+ MifareClassic mfc = MifareClassic.get(tag);
+ if (null != mfc) {
+ try {
+ //閾炬帴NFC
+ mfc.connect();
+ //鑾峰彇鎵囧尯鏁伴噺
+ int count = mfc.getSectorCount();
+ //瀛樺偍绌洪棿
+ int size = mfc.getSize();
+ //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
+ boolean flag = false;
+ List<byte[]> list = new ArrayList<>();
+ //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
+ boolean isOpen = mfc.authenticateSectorWithKeyA(1, bytes);
+ if (isOpen) {
+ //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
+ int bCount = mfc.getBlockCountInSector(1);
+ //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
+ int bIndex = mfc.sectorToBlock(1);
+ //String data1 = "";
+ for (int j = 0; j < bCount; j++) {
+ //璇诲彇鏁版嵁
+ byte[] data = null;
+ try {
+ data = mfc.readBlock(bIndex);
+ bIndex++;
+ list.add(data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ flag = true;
+ }
+
+ if (flag) {
+ userCard = UserCard.getBean(list);
+ return userCard;
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ mfc.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return null;
+ }
+
+
/**
* 璇诲彇NFC鍗$殑鍏ㄩ儴淇℃伅
*
diff --git a/app/src/main/java/com/dayu/recharge/tools/WriteCardUtils.java b/app/src/main/java/com/dayu/recharge/tools/WriteCardUtils.java
new file mode 100644
index 0000000..8409f34
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/tools/WriteCardUtils.java
@@ -0,0 +1,30 @@
+package com.dayu.recharge.tools;
+
+import android.content.Intent;
+
+import com.dayu.recharge.card.UserCard;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-21
+ * Time: 14:46
+ * 澶囨敞锛�
+ */
+public class WriteCardUtils {
+ static boolean userFlag = false;
+
+ //鍚戝崱鍐欏叆鐢ㄦ埛淇℃伅
+ public static boolean setUser(Intent intent, UserCard userCard) {
+ userFlag = NFCWriteHelper.getInstence(intent).writeData(userCard.getZeroBytes(), 1, 0);
+ if (!userFlag) {
+ return false;
+ }
+ userFlag = NFCWriteHelper.getInstence(intent).writeData(userCard.getOneBytes(), 1, 1);
+ if (!userFlag) {
+ return false;
+ }
+ userFlag = NFCWriteHelper.getInstence(intent).writeData(userCard.getTwoBytes(), 1, 2);
+ return userFlag;
+ }
+}
diff --git a/app/src/main/java/com/dayu/recharge/utils/TipUtil.java b/app/src/main/java/com/dayu/recharge/utils/TipUtil.java
new file mode 100644
index 0000000..50b80af
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/utils/TipUtil.java
@@ -0,0 +1,38 @@
+package com.dayu.recharge.utils;
+
+import android.content.Context;
+
+import com.dayu.recharge.activity.HomeActivity;
+import com.dayu.recharge.view.TipDialog;
+
+public class TipUtil {
+ public interface TipListener {
+ public void onCancle();
+ }
+
+ public static void show(Context context, String data) {
+// Toast.makeText(context, data, Toast.LENGTH_LONG).show();
+ TipDialog tipDialog = new TipDialog(context, data);
+ tipDialog.show();
+
+ }
+
+ public static void show(Context context, String data, TipListener tipListener) {
+// Toast.makeText(context, data, Toast.LENGTH_LONG).show();
+ TipDialog tipDialog = new TipDialog(context, data, tipListener);
+ tipDialog.show();
+
+ }
+
+ public static void show(String data) {
+// Toast.makeText(, data, Toast.LENGTH_LONG).show();
+ TipDialog tipDialog = new TipDialog(HomeActivity.homeActivity, data);
+ tipDialog.show();
+ }
+
+ public static void show(String data, TipListener tipListener) {
+// Toast.makeText(, data, Toast.LENGTH_LONG).show();
+ TipDialog tipDialog = new TipDialog(HomeActivity.homeActivity, data, tipListener);
+ tipDialog.show();
+ }
+}
diff --git a/app/src/main/java/com/dayu/recharge/utils/ToastUtil.java b/app/src/main/java/com/dayu/recharge/utils/ToastUtil.java
index 02f2b15..6a9965a 100644
--- a/app/src/main/java/com/dayu/recharge/utils/ToastUtil.java
+++ b/app/src/main/java/com/dayu/recharge/utils/ToastUtil.java
@@ -1,18 +1,18 @@
package com.dayu.recharge.utils;
-import android.content.Context;
import android.widget.Toast;
import com.dayu.recharge.MyApplication;
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-22
+ * Time: 11:49
+ * 澶囨敞锛�
+ */
public class ToastUtil {
-
-
- public static void show(Context context, String data) {
- Toast.makeText(context, data, Toast.LENGTH_LONG).show();
- }
-
public static void show(String data) {
- Toast.makeText(MyApplication.myApplication, data, Toast.LENGTH_LONG).show();
+ Toast.makeText(MyApplication.myApplication, data, Toast.LENGTH_SHORT).show();
}
}
diff --git a/app/src/main/java/com/dayu/recharge/view/EdtDialog.java b/app/src/main/java/com/dayu/recharge/view/EdtDialog.java
index db16808..544ba21 100644
--- a/app/src/main/java/com/dayu/recharge/view/EdtDialog.java
+++ b/app/src/main/java/com/dayu/recharge/view/EdtDialog.java
@@ -12,7 +12,7 @@
import android.widget.TextView;
import com.dayu.recharge.R;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
/**
* Copyright (C), 2022,
@@ -52,7 +52,7 @@
public void onClick(View v) {
if (intent!=null){
if (TextUtils.isEmpty(editText.getText().toString())) {
- ToastUtil.show(mContext, "璇疯緭鍏ュ簭鍒楀彿");
+ TipUtil.show(mContext, "璇疯緭鍏ュ簭鍒楀彿");
} else {
if (Integer.valueOf(editText.getText().toString()) <= 16777215) {
// EquipmentNumber equipmentNumber = (EquipmentNumber) intent.getSerializableExtra("equipmentNumber");
@@ -60,7 +60,7 @@
mContext.startActivity(intent);
EdtDialog.this.dismiss();
} else {
- ToastUtil.show(mContext, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
+ TipUtil.show(mContext, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
}
}
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 ae91165..634ec23 100644
--- a/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
+++ b/app/src/main/java/com/dayu/recharge/view/PassWordDialog.java
@@ -1,6 +1,5 @@
package com.dayu.recharge.view;
-import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
@@ -13,7 +12,7 @@
import com.tencent.bugly.crashreport.CrashReport;
import com.dayu.recharge.R;
-import com.dayu.recharge.utils.ToastUtil;
+import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.utils.WSMD5;
/**
@@ -46,7 +45,7 @@
mContext.startActivity(intent);
PassWordDialog.this.dismiss();
} else {
- ToastUtil.show(mContext, "瀵嗙爜閿欒");
+ TipUtil.show(mContext, "瀵嗙爜閿欒");
}
} catch (Exception e) {
CrashReport.postCatchedException(e);
diff --git a/app/src/main/java/com/dayu/recharge/view/TipDialog.java b/app/src/main/java/com/dayu/recharge/view/TipDialog.java
new file mode 100644
index 0000000..e1a540d
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/view/TipDialog.java
@@ -0,0 +1,91 @@
+package com.dayu.recharge.view;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import com.dayu.recharge.R;
+import com.dayu.recharge.utils.TipUtil;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-22
+ * Time: 9:12
+ * 澶囨敞锛�
+ */
+public class TipDialog extends Dialog {
+
+
+ Context mContext;
+ EdtDialog.DialogBack mDialogBack;
+ String mData;
+ TipUtil.TipListener listener;
+
+ public TipDialog(Context context, String data, TipUtil.TipListener tipListener) {
+ super(context, R.style.ws_pay_showSelfDialog);
+ mContext = context;
+ mData = data;
+ listener = tipListener;
+ initView();
+ }
+
+ public TipDialog(Context context, String data) {
+ super(context, R.style.ws_pay_showSelfDialog);
+ mContext = context;
+ mData = data;
+ initView();
+ }
+
+ public TipDialog(Context context, EdtDialog.DialogBack dialogBack) {
+ super(context, R.style.ws_pay_showSelfDialog);
+ mContext = context;
+ mDialogBack = dialogBack;
+ initView();
+ }
+
+ private void initView() {
+ getWindow().setGravity(Gravity.CENTER);
+ setContentView(R.layout.text_dialog);
+ setCanceledOnTouchOutside(false);
+ final TextView editText = (TextView) this.findViewById(R.id.textData);
+ editText.setText(mData);
+ TextView cannel = (TextView) this.findViewById(R.id.cannel);
+
+ cannel.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (listener != null) {
+ listener.onCancle();
+ }
+ TipDialog.this.dismiss();
+ }
+ });
+
+ }
+
+ @Override
+ public void show() {
+
+ super.show();
+ /**
+ * 璁剧疆瀹藉害鍏ㄥ睆锛岃璁剧疆鍦╯how鐨勫悗闈�
+ */
+ WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
+ layoutParams.gravity = Gravity.CENTER;
+ layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
+ layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT;
+ getWindow().getDecorView().setPadding(0, 0, 0, 0);
+ getWindow().setAttributes(layoutParams);
+ }
+
+ public interface DialogBack {
+ void onOk(String data);
+
+ void onCancel();
+ }
+}
diff --git a/app/src/main/res/layout/activity_admin_setup.xml b/app/src/main/res/layout/activity_admin_setup.xml
index 4bc09db..44fa307 100644
--- a/app/src/main/res/layout/activity_admin_setup.xml
+++ b/app/src/main/res/layout/activity_admin_setup.xml
@@ -45,48 +45,8 @@
</LinearLayout>
- <LinearLayout
- style="@style/newCardLL"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="绠$悊鍛樺悕绉帮細"
- android:textSize="@dimen/new_card_size" />
-
- <EditText
- android:id="@+id/admin_name"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:maxLength="5"
- android:textSize="@dimen/new_card_size" />
- </LinearLayout>
-
- <LinearLayout
- style="@style/newCardLL"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鐢佃瘽锛�"
- android:textSize="@dimen/new_card_size" />
-
- <EditText
- android:id="@+id/admin_phone"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="number"
- android:maxLength="11"
- android:textSize="@dimen/new_card_size" />
-
-
- </LinearLayout>
<LinearLayout
android:id="@+id/chose_address"
@@ -109,6 +69,24 @@
android:textSize="@dimen/new_card_size" />
</LinearLayout>
+ <LinearLayout
+ android:id="@+id/chose_address_code"
+ style="@style/newCardLL"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍦板潃缂栫爜锛�"
+ android:textSize="@dimen/new_card_size" />
+
+ <TextView
+ android:id="@+id/admin_address_code"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/new_card_size" />
+ </LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index ea0c492..4eeafd8 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -25,7 +25,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
- android:text="鏂板崱娉ㄥ唽"
+ android:text="鏂板崱寮�鎴�"
android:textSize="@dimen/home_text_size" />
<TextView
diff --git a/app/src/main/res/layout/activity_my.xml b/app/src/main/res/layout/activity_my.xml
index 5763811..3e5c97c 100644
--- a/app/src/main/res/layout/activity_my.xml
+++ b/app/src/main/res/layout/activity_my.xml
@@ -56,7 +56,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="绠$悊鍛橈細"
+ android:text="鍦板潃淇℃伅锛�"
android:textSize="@dimen/text_size" />
<TextView
diff --git a/app/src/main/res/layout/activity_new_card.xml b/app/src/main/res/layout/activity_new_card.xml
index 40d0c61..c365bc9 100644
--- a/app/src/main/res/layout/activity_new_card.xml
+++ b/app/src/main/res/layout/activity_new_card.xml
@@ -9,7 +9,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_title_height"
android:background="@drawable/title_bar_bg"
- app:centerText="鏂板崱娉ㄥ唽"
+ app:centerText="鏂板崱寮�鎴�"
app:leftImage="@mipmap/icon_back" />
<ScrollView
@@ -163,7 +163,7 @@
android:layout_alignParentBottom="true"
android:background="@color/title_bg"
android:gravity="center"
- android:text="娉ㄥ唽"
+ android:text="寮�鎴�"
android:textColor="#000000"
android:textSize="@dimen/new_card_size" />
</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_recharge.xml b/app/src/main/res/layout/activity_recharge.xml
index 3ed91c1..1cbff10 100644
--- a/app/src/main/res/layout/activity_recharge.xml
+++ b/app/src/main/res/layout/activity_recharge.xml
@@ -12,44 +12,149 @@
app:centerText="鍏呭��"
app:leftImage="@mipmap/icon_back" />
- <ScrollView
+ <LinearLayout
+ android:id="@+id/recharge_read_LL"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_above="@+id/recharge_registBtn"
- android:layout_below="@+id/titleBar">
+ android:layout_below="@+id/titleBar"
+ android:orientation="vertical"
+ android:visibility="visible">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:gravity="center"
+ android:text="璇峰皢鍗¤创鍦ㄨ澶囦笂杩涜璇诲崱"
+ android:textSize="@dimen/text_size" />
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@id/textView"
+ android:scaleType="center"
+ android:src="@mipmap/nfc_write" />
+
+
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:id="@+id/recharge_text_LL"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@+id/titleBar"
+ android:orientation="vertical"
+ android:padding="20dp"
+ android:visibility="gone">
+
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐢ㄦ埛濮撳悕锛�"
+ android:textSize="@dimen/new_card_size" />
- <LinearLayout
- style="@style/newCardLL"
+ <TextView
+ android:id="@+id/userName"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="閲戦锛堝厓锛夛細"
- android:textSize="@dimen/new_card_size" />
-
- <EditText
- android:id="@+id/recharge_water"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="numberDecimal"
- android:textSize="@dimen/new_card_size" />
-
-
- </LinearLayout>
-
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/new_card_size" />
</LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:orientation="horizontal">
- </ScrollView>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�"
+ android:textSize="@dimen/text_size" />
+
+ <TextView
+ android:id="@+id/red_initCode"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:textSize="@dimen/new_card_size" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:orientation="horizontal">
+
+ <TextView
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍓╀綑閲戦锛�"
+ android:textSize="@dimen/text_size" />
+
+ <TextView
+ android:id="@+id/red_remainder_blance"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/new_card_size" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍗$姸鎬侊細"
+ android:textSize="@dimen/text_size" />
+
+ <TextView
+ android:id="@+id/red_statu"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="@dimen/new_card_size" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/recharge_LL"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/recharge_tx"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="閲戦锛堝厓锛夛細"
+ android:textColor="@color/red"
+ android:textSize="@dimen/new_card_size" />
+
+ <EditText
+ android:id="@+id/recharge_water"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="璇疯緭鍏ュ厖鍊肩殑閲戦"
+ android:inputType="numberDecimal"
+ android:textSize="@dimen/new_card_size" />
+ </LinearLayout>
+ </LinearLayout>
+
<TextView
android:id="@+id/recharge_registBtn"
diff --git a/app/src/main/res/layout/activity_recharge_detail.xml b/app/src/main/res/layout/activity_recharge_detail.xml
new file mode 100644
index 0000000..a923fd1
--- /dev/null
+++ b/app/src/main/res/layout/activity_recharge_detail.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <com.dayu.recharge.view.TitleBar
+ android:id="@+id/titleBar"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dimen_title_height"
+ android:background="@drawable/title_bar_bg"
+ app:centerText="鍐欏崱璇︽儏椤�"
+ app:leftImage="@mipmap/icon_back" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="30dp">
+
+ <TextView
+ android:id="@+id/red_name"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+
+ android:text="鐢ㄦ埛濮撳悕锛�"
+ android:textSize="@dimen/text_size" />
+
+ <TextView
+ android:id="@+id/red_initCode"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�"
+ android:textSize="@dimen/text_size" />
+
+
+ <TextView
+ android:id="@+id/red_remainder_morny"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鍏呭�奸噾棰濓細"
+ android:textSize="@dimen/text_size" />
+ <TextView
+ android:id="@+id/red_remainder_blance"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鍓╀綑閲戦锛�"
+ android:textSize="@dimen/text_size" />
+
+ <TextView
+ android:id="@+id/red_rechargeDate"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鏈崱鏈�鍚庤喘姘存棩鏈燂細"
+ android:textSize="@dimen/text_size"
+ android:visibility="gone" />
+
+ <TextView
+ android:id="@+id/red_rechargeNumber"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鏈崱鍏呭�兼鏁帮細"
+ android:textSize="@dimen/text_size"
+ android:visibility="gone" />
+
+ <TextView
+ android:id="@+id/red_statu"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鍗$姸鎬侊細"
+ android:textSize="@dimen/text_size" />
+ </LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_red_card.xml b/app/src/main/res/layout/activity_red_card.xml
index 6b36e64..985f6d9 100644
--- a/app/src/main/res/layout/activity_red_card.xml
+++ b/app/src/main/res/layout/activity_red_card.xml
@@ -57,7 +57,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="鏈崱鏈�鍚庤喘姘存棩鏈燂細"
- android:textSize="@dimen/text_size" />
+ android:textSize="@dimen/text_size"
+ android:visibility="gone" />
<TextView
android:id="@+id/red_rechargeNumber"
@@ -65,7 +66,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="鏈崱鍏呭�兼鏁帮細"
- android:textSize="@dimen/text_size" />
+ android:textSize="@dimen/text_size"
+ android:visibility="gone" />
<TextView
android:id="@+id/red_statu"
diff --git a/app/src/main/res/layout/text_dialog.xml b/app/src/main/res/layout/text_dialog.xml
new file mode 100644
index 0000000..bece331
--- /dev/null
+++ b/app/src/main/res/layout/text_dialog.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="#00ffffff"
+ android:gravity="center"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ws_pay_bg_dialog_top_stroke"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:padding="20dp">
+
+
+ <TextView
+ android:id="@+id/textData"
+ android:layout_width="300dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:gravity="center"
+ android:textColor="#000000"
+ android:textSize="20sp" />
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/cannel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:background="@drawable/ws_login_red_btn_one"
+ android:paddingLeft="15dp"
+ android:paddingTop="5dp"
+ android:paddingRight="15dp"
+ android:paddingBottom="5dp"
+ android:text="纭"
+ android:textSize="@dimen/text_size" />
+
+
+ </LinearLayout>
+
+
+ </LinearLayout>
+
+</LinearLayout>
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index e74c198..467f1cb 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -19,4 +19,5 @@
<color name="date_picker_text_light">#59B29C</color>
<color name="date_picker_text_dark">#333333</color>
<color name="ws_pay_alpha">#00000000</color>
+ <color name="red">#ff0000</color>
</resources>
--
Gitblit v1.8.0