From 61a4ae8b08652f24916218037beeef594bcde83b Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 15 十一月 2023 15:36:32 +0800 Subject: [PATCH] 读取卡片相关 读取卡片byte转bean相关 --- app/src/main/java/com/dayu/recharge/activity/MyActivity.java | 7 app/src/main/res/layout/activity_ip.xml | 9 app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 190 +++++++++---- app/src/main/java/com/dayu/recharge/tools/HexUtil.java | 2 app/src/main/java/com/dayu/recharge/card/CleanCard.java | 3 app/src/main/java/com/dayu/recharge/card/DomainCard.java | 51 +++ app/src/main/res/layout/activity_domain.xml | 24 + app/src/main/java/com/dayu/recharge/activity/SysActivity.java | 12 app/src/main/java/com/dayu/recharge/card/TestCard.java | 3 app/src/main/java/com/dayu/recharge/card/ManageCard.java | 3 app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java | 18 + app/src/main/java/com/dayu/recharge/activity/DomainActivity.java | 19 + app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java | 3 app/src/main/java/com/dayu/recharge/utils/MyCommon.java | 44 ++ app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java | 27 + app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java | 7 app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java | 3 easysocket/src/main/java/com/easysocket/EasySocket.java | 4 app/src/main/java/com/dayu/recharge/activity/PowerActivity.java | 3 app/src/main/java/com/dayu/recharge/card/RegisteredCard.java | 3 app/src/main/AndroidManifest.xml | 3 app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java | 36 +- app/src/main/java/com/dayu/recharge/card/PassWordCard.java | 3 app/src/main/java/com/dayu/recharge/dao/RechargeDao.java | 4 app/src/main/java/com/dayu/recharge/dbBean/DomainBean.java | 11 app/src/main/java/com/dayu/recharge/MyApplication.java | 114 ++++---- app/src/main/java/com/dayu/recharge/net/SocketNet.java | 8 app/src/main/java/com/dayu/recharge/card/CleanUserCard.java | 8 app/src/main/java/com/dayu/recharge/card/UserCard.java | 3 app/src/main/res/layout/activity_parameter.xml | 15 app/src/main/res/layout/activity_red_card.xml | 139 ++++------ app/src/main/res/mipmap-xhdpi/logo.jpg | 0 32 files changed, 486 insertions(+), 293 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 95b1bec..c4679d7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -36,7 +36,7 @@ <application android:name=".MyApplication" android:allowBackup="true" - android:icon="@mipmap/ic_launcher" + android:icon="@mipmap/logo" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> @@ -103,6 +103,7 @@ <activity android:name=".activity.ParameterActivity" /> <activity android:name=".activity.PowerActivity" /> <activity android:name=".activity.DomainActivity"/> + <activity android:name=".activity.ElectricPriceActivity"/> <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 d1f2172..1b1ca34 100644 --- a/app/src/main/java/com/dayu/recharge/MyApplication.java +++ b/app/src/main/java/com/dayu/recharge/MyApplication.java @@ -10,6 +10,7 @@ import com.dayu.recharge.dbBean.IpBean; 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; @@ -52,7 +53,7 @@ AidlUtil.getInstance().connectPrinterService(this); initEasySocket(false, null); socketConnect(); - CrashReport.initCrashReport(getApplicationContext(), "846987eae9", true); + CrashReport.initCrashReport(getApplicationContext(), "45551598b8", true); } private boolean isAidl; @@ -135,72 +136,77 @@ if (!TextUtils.isEmpty(ip) && !TextUtils.isEmpty(String.valueOf(port)) && !TextUtils.isEmpty(addressCode)) { - isDoInitMachine = true; - InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean(); - initMachineRequestBean.setControl("01"); - //130107200008 112 闈掓硥灞呭浼� - initMachineRequestBean.setAddress(addressCode); - initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this)); - initMachineRequestBean.setAFN("91"); + if (EasySocket.getInstance().getDefconnection() != null) { + isDoInitMachine = true; + InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean(); + initMachineRequestBean.setControl("01"); + //130107200008 112 闈掓硥灞呭浼� + initMachineRequestBean.setAddress(addressCode); + initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this)); + initMachineRequestBean.setAFN("91"); // - Log.i("Socket", "娉ㄥ唽鎶ユ枃"); - SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() { - @Override - public void onSocketResponse(SocketData readData) { + Log.i("Socket", "娉ㄥ唽鎶ユ枃"); + SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() { + @Override + public void onSocketResponse(SocketData readData) { - if (CRC8.isCRC8(readData.getOriginDataBytes())) { - //鏍¢獙CRC鎴愬姛 - InitMachineBackBean initMachineBackBean = new InitMachineBackBean(); + if (CRC8.isCRC8(readData.getOriginDataBytes())) { + //鏍¢獙CRC鎴愬姛 + InitMachineBackBean initMachineBackBean = new InitMachineBackBean(); - String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18)); - //纭鏀跺埌娉ㄥ唽鍙锋姤鏂� - ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean(); - confirmMachineRequestBean.setControl("01"); - //130107200008 112 闈掓硥灞呭浼� - confirmMachineRequestBean.setAddress(addressCode); - confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this)); - confirmMachineRequestBean.setAFN("92"); - confirmMachineRequestBean.setInitCode(initCode); - Log.i("Socket", "纭娉ㄥ唽鎶ユ枃"); - SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() { + String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18)); + //纭鏀跺埌娉ㄥ唽鍙锋姤鏂� + ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean(); + confirmMachineRequestBean.setControl("01"); + //130107200008 112 闈掓硥灞呭浼� + confirmMachineRequestBean.setAddress(addressCode); + confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this)); + confirmMachineRequestBean.setAFN("92"); + confirmMachineRequestBean.setInitCode(initCode); + Log.i("Socket", "纭娉ㄥ唽鎶ユ枃"); + SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() { - @Override - public void onSocketResponse(SocketData readData) { - isDoInitMachine = false; - if (CRC8.isCRC8(readData.getOriginDataBytes())) { - byte stateByte = readData.getBodyBytes()[2]; - String state = BcdUtil.bcdToStr(stateByte); - //BCD鐮�00鎴愬姛01澶辫触(娉ㄥ唽鍙蜂笉鏄湇鍔″櫒杩斿洖淇℃伅) - if (state.equalsIgnoreCase("00")) { - //淇濆瓨璁惧娉ㄥ唽鍙� - BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst(); - WSHelper.getInstance(MyApplication.this).put("initCode", initCode); - ToastUtil.show(MyApplication.this, "鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�"); + @Override + public void onSocketResponse(SocketData readData) { + isDoInitMachine = false; + if (CRC8.isCRC8(readData.getOriginDataBytes())) { + byte stateByte = readData.getBodyBytes()[2]; + String state = BcdUtil.bcdToStr(stateByte); + //BCD鐮�00鎴愬姛01澶辫触(娉ㄥ唽鍙蜂笉鏄湇鍔″櫒杩斿洖淇℃伅) + if (state.equalsIgnoreCase("00")) { + //淇濆瓨璁惧娉ㄥ唽鍙� + BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst(); + WSHelper.getInstance(MyApplication.this).put("initCode", initCode); + ToastUtil.show(MyApplication.this, "鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�"); + } else { + //鏍¢獙CRC閿欒 + ToastUtil.show(MyApplication.this, "纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�"); + } } else { //鏍¢獙CRC閿欒 - ToastUtil.show(MyApplication.this, "纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�"); + ToastUtil.show(MyApplication.this, "纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒"); } - } else { - //鏍¢獙CRC閿欒 - ToastUtil.show(MyApplication.this, "纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒"); } - } - @Override - public void onSocketError(int code, String msg) { + @Override + public void onSocketError(int code, String msg) { - } - }); - } else {//鏍¢獙CRC閿欒 - ToastUtil.show(MyApplication.this, "鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒"); + } + }); + } else {//鏍¢獙CRC閿欒 + ToastUtil.show(MyApplication.this, "鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒"); + } } - } - @Override - public void onSocketError(int code, String msg) { + @Override + public void onSocketError(int code, String msg) { - } - }); + } + }); + + } + + } } 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 c24ce79..6983e9f 100644 --- a/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java @@ -29,12 +29,17 @@ binding.electricOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - + String domainNumber = binding.domainNumber.getText().toString(); String domain = binding.domain.getText().toString(); String port = binding.port.getText().toString(); int portInt = 0; + if (TextUtils.isEmpty(domainNumber)) { + ToastUtil.show("璇疯緭鍏ユ纭殑鍩熷悕搴忓彿"); + return; + } if (TextUtils.isEmpty(port)) { ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�"); + return; } else { portInt = Integer.valueOf(port); } @@ -45,7 +50,7 @@ ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�"); return; } - + domainBean.setDomainNumber(domainNumber); domainBean.setDomain(domain); domainBean.setPort(portInt); baseDao.domainPortDao().insert(domainBean); @@ -59,11 +64,13 @@ private void initData() { domainBean = baseDao.domainPortDao().findFirst(); if (domainBean != null) { - binding.domainOldTV.setText(domainBean.getDomain() + ":" + domainBean.getPort()); + binding.domainOldTV.setText("搴忓彿锛�" + domainBean.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainBean.getDomain() + "\n" + "绔彛鍙凤細" + domainBean.getPort()); } else { - domainBean = new DomainBean(); + binding.domainOldTV.setText("璇疯缃柊鐨勫煙鍚嶅崱淇℃伅"); } + domainBean = new DomainBean(); } - - } + + + 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 014f0fd..a49d247 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java @@ -13,30 +13,28 @@ * Copyright (C), 2023, * Author: zuo * Date: 2023-11-10 10:18 - * Description: + * Description: 鐢甸噺鍗曚环 */ public class ElectricPriceActivity extends BaseActivity { ActivityElectricPriceBinding electricPriceBinding; - ElectricPriceBean priceBean; + ElectricPriceBean electricPriceBean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); electricPriceBinding = ActivityElectricPriceBinding.inflate(LayoutInflater.from(this)); setContentView(electricPriceBinding.getRoot()); + initData(); - ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst(); - if (priceBean != null) { - this.priceBean = priceBean; - electricPriceBinding.electricOldNumber.setText(priceBean.getPrice() + ""); - } electricPriceBinding.electricOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!TextUtils.isEmpty(electricPriceBinding.electricNewNum.getText())) { - priceBean.setPrice(Float.parseFloat(electricPriceBinding.electricNewNum.getText().toString())); - baseDao.electricPriceDao().insert(priceBean); + electricPriceBean.setPrice(Float.parseFloat(electricPriceBinding.electricNewNum.getText().toString())); + baseDao.electricPriceDao().insert(electricPriceBean); + ToastUtil.show("淇濆瓨鎴愬姛"); + initData(); } else { ToastUtil.show("璇疯緭鍏ユ纭噾棰�"); } @@ -46,5 +44,16 @@ } + private void initData() { + ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst(); + if (priceBean != null) { + electricPriceBean = priceBean; + electricPriceBinding.electricOldNumber.setText(priceBean.getPrice() + "鍏�"); + } else { + electricPriceBean = new ElectricPriceBean(); + electricPriceBinding.electricOldNumber.setText("1.000鍏�"); + } + } + } 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 a5e7f17..18d07ee 100644 --- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java @@ -58,8 +58,9 @@ myBinding.myAdmin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - PassWordDialog passWordDialog = new PassWordDialog(MyActivity.this, new Intent(MyActivity.this, AdminSetupActivity.class)); - passWordDialog.show(); +// PassWordDialog passWordDialog = new PassWordDialog(MyActivity.this, new Intent(MyActivity.this, AdminSetupActivity.class)); +// passWordDialog.show(); + startActivity(new Intent(MyActivity.this, AdminSetupActivity.class)); } }); myBinding.myPsw.setOnClickListener(new View.OnClickListener() { @@ -187,7 +188,7 @@ if (TextUtils.isEmpty(initCode)) { msgData.append(",璁惧鏈敞鍐�"); } else { - msgData.append(",璁惧宸叉敞鍐�" + initCode); + msgData.append(",璁惧宸叉敞鍐�,璁惧娉ㄥ唽鍙凤細" + initCode); } myBinding.myTestConnect.setText(msgData); } 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 46f9bb0..f7edf95 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java @@ -157,6 +157,9 @@ ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); if (electricPriceBean != null) { userCard.setElectricityPrice(electricPriceBean.getPrice()); + } else { + //榛樿鏄�1鍏� + userCard.setElectricityPrice(1.000f); } userCard.setState("00"); userCard.setBalance(0); diff --git a/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java b/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java index 8a6dc7f..76505e8 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java @@ -41,5 +41,12 @@ startActivity(intent); } }); + binding.parameterElectricPrice.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(ParameterActivity.this, ElectricPriceActivity.class); + startActivity(intent); + } + }); } } 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 cc2fe65..6d51c56 100644 --- a/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java @@ -45,7 +45,8 @@ powerBean.setPower(data); baseDao.powerDao().insert(powerBean); ToastUtil.show("淇濆瓨鎴愬姛"); - PowerActivity.this.finish(); +// PowerActivity.this.finish(); + initData(); } else { ToastUtil.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 c524104..cdb7633 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java +++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java @@ -10,6 +10,8 @@ import android.view.View; +import com.dayu.recharge.card.ConfigurationPowerCard; +import com.dayu.recharge.card.DomainCard; import com.dayu.recharge.card.UserCard; import com.dayu.recharge.databinding.ActivityRedCardBinding; import com.dayu.recharge.dbBean.RechargeBean; @@ -23,11 +25,13 @@ import com.dayu.recharge.tools.NfcReadHelper; import com.dayu.recharge.utils.CRC8; 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 java.util.Arrays; +import java.util.Calendar; import java.util.List; import java.util.Map; @@ -41,13 +45,19 @@ private static final int USER_CRAD = 1; private static final int MANAGE_CRAD = 2; + private static final int CLEAN_CARD = 3; + private static final int REGISTERED_CARD = 4; + private static final int CLEAN_ALL_USER = 5; + private static final int DOMAIN_CARD = 6; + private static final int TEST_CARD = 7; + private static final int CONFIGURATION_CARD = 8; + + private static final int CONFIGURATION_POWER_CARD = 9; + private static final int PASS_WORD_CRAD = 10; private static final int ERROR = -1; - UserCard userCard; - UserCardBean waterCard; - RechargeBean rechargeBean; - // 鍐滄埛娉ㄥ唽缂栧彿 + volatile UserCard userCard; ActivityRedCardBinding redCardBinding; @Override @@ -57,17 +67,29 @@ setContentView(redCardBinding.getRoot()); } - private void setData(String statu) { - String initCode = WSHelper.getInstance(this).get("initCode", ""); - if (TextUtils.isEmpty(initCode)) { - ToastUtil.show(this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃"); - return; - } -// redCardBinding.redVillageNum.setText("璁惧搴忓垪鍙凤細" + initS.getANo() + ""); - redCardBinding.redName.setText("鐢� 鎴� 鍚嶏細" + rechargeBean.getUserName()); - redCardBinding.redRemainderMorny.setText("鍓╀綑閲戦锛�" + rechargeBean.getBalance() + "" + "鍏�"); - redCardBinding.redStatu.setText("鐘� 鎬侊細" + statu); + private void setUserData(String userName, int blance, String statu) { + viweGone(true); + redCardBinding.redName.setText("鐢ㄦ埛濮撳悕锛�" + userName); + redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(blance) + "鍏�"); + redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu); + if (userCard != null) { + redCardBinding.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); + redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + month + day + " " + hour + ":" + minute + ":" + second); + } else { + redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�"); + } + + redCardBinding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + ""); + } } @@ -93,11 +115,41 @@ if (oneSector != null && oneSector.size() > 0) { byte cardType = oneSector.get(0)[0]; String cardTypeStr = HexUtil.byteToHex(cardType); -// switch (cardTypeStr){ -// case -// } + switch (cardTypeStr) { + case MyCommon.USER_CARD_TYPE_1: + case MyCommon.USER_CARD_TYPE_2: + case MyCommon.USER_CARD_TYPE_3: userCard = UserCard.getBean(oneSector); - message.what = USER_CRAD; + message.what = USER_CRAD; + break; + case MyCommon.MANAGE_CRAD: + message.what = MANAGE_CRAD; + break; + case MyCommon.CLEAN_CARD_TYPE: + message.what = CLEAN_CARD; + break; + case MyCommon.REGISTERED_CARD_TYPE: + message.what = REGISTERED_CARD; + break; + case MyCommon.CLEAN_ALL_USER_CARD_TYPE: + message.what = CLEAN_ALL_USER; + break; + case MyCommon.DOMAIN_CARD_TYPE: + message.what = DOMAIN_CARD; + message.obj = oneSector; + break; + case MyCommon.TEST_CARD_TYPE: + message.what = TEST_CARD; + break; + case MyCommon.CONFIGURATION_CARD_TYPE: + message.what = CONFIGURATION_CARD; + break; + case MyCommon.CONFIGURATION_POWER_CARD_TYPE: + message.what = CONFIGURATION_POWER_CARD; + message.obj = oneSector.get(0); + break; + } + } else { message.what = ERROR; } @@ -119,63 +171,79 @@ public boolean handleMessage(Message msg) { switch (msg.what) { case USER_CRAD: - redCardBinding.readImgLL.setVisibility(View.GONE); - redCardBinding.readUserLL.setVisibility(View.VISIBLE); - redCardBinding.readSysLL.setVisibility(View.GONE); - redCardBinding.readCleanLL.setVisibility(View.GONE); - redCardBinding.readInitLL.setVisibility(View.GONE); -// selectBalance(newUserCard.getPeasantCode()); + selectBalance(userCard.getInitPeasantCode()); break; case MANAGE_CRAD: - redCardBinding.readImgLL.setVisibility(View.GONE); - redCardBinding.readUserLL.setVisibility(View.GONE); - redCardBinding.readSysLL.setVisibility(View.VISIBLE); - redCardBinding.readCleanLL.setVisibility(View.GONE); - redCardBinding.readInitLL.setVisibility(View.GONE); + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱"); stopAnim(); break; - case 3: - redCardBinding.readImgLL.setVisibility(View.GONE); - redCardBinding.readUserLL.setVisibility(View.GONE); - redCardBinding.readSysLL.setVisibility(View.GONE); - redCardBinding.readCleanLL.setVisibility(View.VISIBLE); - redCardBinding.readInitLL.setVisibility(View.GONE); + case CLEAN_CARD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱"); stopAnim(); break; - case 4: - redCardBinding.readImgLL.setVisibility(View.GONE); - redCardBinding.readUserLL.setVisibility(View.GONE); - redCardBinding.readSysLL.setVisibility(View.GONE); - redCardBinding.readCleanLL.setVisibility(View.GONE); - redCardBinding.readInitLL.setVisibility(View.VISIBLE); + case REGISTERED_CARD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱"); stopAnim(); break; - case 5: - redCardBinding.readImgLL.setVisibility(View.GONE); - redCardBinding.readUserLL.setVisibility(View.GONE); - redCardBinding.readSysLL.setVisibility(View.GONE); - redCardBinding.readCleanLL.setVisibility(View.GONE); - redCardBinding.readInitLL.setVisibility(View.VISIBLE); - redCardBinding.readInitLL.setText("褰撳墠涓鸿鏀垮尯鍩熷崱"); + case CLEAN_ALL_USER: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱"); stopAnim(); break; - case 6: - redCardBinding.readImgLL.setVisibility(View.GONE); - redCardBinding.readUserLL.setVisibility(View.GONE); - redCardBinding.readSysLL.setVisibility(View.GONE); - redCardBinding.readCleanLL.setVisibility(View.GONE); - redCardBinding.readInitLL.setVisibility(View.VISIBLE); - redCardBinding.readInitLL.setText("褰撳墠涓鸿澶囧簭鍙峰崱"); + case DOMAIN_CARD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱"); + List<byte[]> data = (List<byte[]>) msg.obj; + DomainCard domainCard = DomainCard.toBean(data); + redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort()); + stopAnim(); + break; + case TEST_CARD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱"); + stopAnim(); + break; + case CONFIGURATION_CARD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱"); + stopAnim(); + break; + case CONFIGURATION_POWER_CARD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�"); + byte[] powerData = (byte[]) msg.obj; + ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(powerData); + redCardBinding.readCardDataTV.setText(powerCard.getPower()); + stopAnim(); + break; + case PASS_WORD_CRAD: + viweGone(false); + redCardBinding.readCardTypeTV.setText("褰撳墠涓哄瘑鐮佸崱"); stopAnim(); break; default: - ToastUtil.show(ReadCardAcitivy.this, "鍗$墖鏈敞鍐�"); + ToastUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆"); stopAnim(); + break; } - return false; } }); + + private void viweGone(boolean isUSerCard) { + redCardBinding.readImgLL.setVisibility(View.GONE); + if (isUSerCard) { + redCardBinding.readCardTypeLL.setVisibility(View.GONE); + redCardBinding.readUserLL.setVisibility(View.VISIBLE); + } else { + redCardBinding.readCardTypeLL.setVisibility(View.VISIBLE); + redCardBinding.readUserLL.setVisibility(View.GONE); + } + + } void startAnim() { redCardBinding.avi.setVisibility(View.VISIBLE); @@ -192,7 +260,6 @@ * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿 */ private void selectBalance(String initPeasantCode) { - BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean(); requestBean.setAFN("94"); requestBean.setControl("01"); @@ -230,12 +297,7 @@ String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); - rechargeBean = new RechargeBean(); - rechargeBean.setDate(System.currentTimeMillis()); - rechargeBean.setUserName(name); - rechargeBean.setBalance(MornyUtil.changeF2Y(balance) + ""); -// rechargeBean.setTotal_morn(ArithUtil.changeF2Y(userCard.getValue() + "")); - setData(stateText.toString()); + setUserData(name, balance, stateText.toString()); stopAnim(); } catch (Exception e) { e.printStackTrace(); 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 bd19709..9dd6132 100644 --- a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java @@ -10,6 +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.view.datepicker.CustomDatePicker; import com.dayu.recharge.view.datepicker.DateFormatUtils; @@ -44,11 +45,9 @@ } private void setData() { -// try { -// rechargeList = SqLite_DB_Utile.getInit(this).findAll(RechargeBean.class); -// } catch (DbException e) { -// e.printStackTrace(); -// } + + rechargeList = baseDao.rechargeDao().findAll(); + adapter = new RechargeAdapter(this, rechargeList); rechargeListBinding.rechargeList.setAdapter(adapter); } @@ -99,21 +98,18 @@ endDatePicker = new CustomDatePicker(this, "閫夋嫨缁撴潫鏃堕棿", new CustomDatePicker.Callback() { @Override public void onTimeSelected(long timestamp) { -// endTime = timestamp; -// if ((endTime < beginTime) && endTime != beginTime) { -// ToastUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�"); -// } else { -// try { -// endTime = endTime + (1000 * 60 * 60 * 24) - 1; -// List<RechargeBean> userList = SqLite_DB_Utile.getInit(RechargeListActivity.this).selector(RechargeBean.class).where("date", ">=", beginTime).and("date", "<=", endTime).findAll(); -// rechargeList.clear(); -// rechargeList.addAll(userList); -// adapter.notifyDataSetChanged(); -// getTotal(); -// } catch (DbException e) { -// e.printStackTrace(); -// } -// } + endTime = timestamp; + if ((endTime < beginTime) && endTime != beginTime) { + ToastUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�"); + } else { + endTime = endTime + (1000 * 60 * 60 * 24) - 1; + List<RechargeBean> userList = baseDao.rechargeDao().findByTime(beginTime, endTime); + rechargeList.clear(); + rechargeList.addAll(userList); + adapter.notifyDataSetChanged(); + getTotal(); + + } } }, beginTimestamp, endTimestamp); // 涓嶅厑璁哥偣鍑诲睆骞曟垨鐗╃悊杩斿洖閿叧闂� 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 74853bd..9144d28 100644 --- a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java @@ -85,16 +85,18 @@ public void onClick(View v) { Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class); DomainBean domainBean = baseDao.domainPortDao().findFirst(); + DomainCard domainCard = new DomainCard(); if (domainBean != null) { - DomainCard domainCard = new DomainCard(); + domainCard.setDomainNumber(domainBean.getDomainNumber()); domainCard.setDomainName(domainBean.getDomain()); domainCard.setPort(domainBean.getPort()); - intent.putExtra("domainCard", domainCard); - startActivity(intent); } else { - ToastUtil.show("璇峰厛璁剧疆鍩熷悕"); + domainCard.setDomainNumber("1"); + domainCard.setDomainName("dayuyanjiuyuan.top"); + domainCard.setPort(8888); } - + intent.putExtra("domainCard", domainCard); + startActivity(intent); } }); adminBinding.adminTest.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/java/com/dayu/recharge/card/CleanCard.java b/app/src/main/java/com/dayu/recharge/card/CleanCard.java index 97f0630..6eba6a9 100644 --- a/app/src/main/java/com/dayu/recharge/card/CleanCard.java +++ b/app/src/main/java/com/dayu/recharge/card/CleanCard.java @@ -1,6 +1,7 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; @@ -11,7 +12,7 @@ * Description:娓呴浂鍗� */ public class CleanCard implements Serializable { - public String cardType = "C8";//鍗$被鍨� + public String cardType = MyCommon.CLEAN_CARD_TYPE;//鍗$被鍨� public String cardData = "3668F7A30119";//鏍囪瘑鐮� public byte[] toByte() { diff --git a/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java b/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java index 72b6bf5..3135f07 100644 --- a/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java +++ b/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java @@ -1,6 +1,7 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; @@ -11,13 +12,14 @@ * Description:鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗� */ public class CleanUserCard implements Serializable { - public String cardType = "BB";//鍗$被鍨� + public String cardType = MyCommon.CLEAN_ALL_USER_CARD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� public byte[] toByte() { - Zero zero=new Zero(); - return zero.toByte(); + Zero zero = new Zero(); + return zero.toByte(); } + public class Zero extends BaseCard { public byte[] toByte() { byte[] data = new byte[16]; diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java index 0275c80..2ddbd0d 100644 --- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java +++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java @@ -1,6 +1,8 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; +import com.tencent.bugly.crashreport.CrashReport; import java.io.Serializable; @@ -16,7 +18,7 @@ public class ConfigurationPowerCard implements Serializable { - public String cardType = "BD";//鍗$被鍨� + public String cardType = MyCommon.CONFIGURATION_POWER_CARD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� public String power;//鍔熺巼 @@ -29,6 +31,20 @@ this.power = power; } + + public static ConfigurationPowerCard toBean(byte[] data) { + try { + ConfigurationPowerCard powerCard = new ConfigurationPowerCard(); + int intPower = HexUtil.get16to10(HexUtil.byteToHex(data[5])); + powerCard.setPower(String.valueOf(intPower)); + return powerCard; + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + return null; + } + } + public byte[] toByte() { Zero zero = new Zero(); return zero.toByte(); diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java index 42480f3..049fcab 100644 --- a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java +++ b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java @@ -1,6 +1,7 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; @@ -14,7 +15,7 @@ * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤 */ public class ConfigureDeviceRegistrationCrad implements Serializable { - public String cardType = "BC";//鍗$被鍨� + public String cardType = MyCommon.CONFIGURATION_CARD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� public byte[] toByte() { diff --git a/app/src/main/java/com/dayu/recharge/card/DomainCard.java b/app/src/main/java/com/dayu/recharge/card/DomainCard.java index bef709d..04e6ca7 100644 --- a/app/src/main/java/com/dayu/recharge/card/DomainCard.java +++ b/app/src/main/java/com/dayu/recharge/card/DomainCard.java @@ -3,10 +3,14 @@ import com.dayu.recharge.tools.BcdUtil; import com.dayu.recharge.tools.HexUtil; import com.dayu.recharge.utils.MornyUtil; +import com.dayu.recharge.utils.MyCommon; +import com.tencent.bugly.crashreport.CrashReport; import java.io.Serializable; import java.net.IDN; +import java.nio.charset.StandardCharsets; import java.util.Calendar; +import java.util.List; /** * Copyright (C), 2023, @@ -17,7 +21,7 @@ public class DomainCard implements Serializable { - public String cardType = "C1";//鍗$被鍨� + public String cardType = MyCommon.DOMAIN_CARD_TYPE;//鍗$被鍨� public String domainNumber;//鍩熷悕搴忓彿 (BCD鏍煎紡) public int domainLength;//鍩熷悕闀垮害 @@ -33,6 +37,13 @@ this.domainName = domainName; } + public String getDomainNumber() { + return domainNumber; + } + + public void setDomainNumber(String domainNumber) { + this.domainNumber = domainNumber; + } public int getPort() { return port; @@ -60,6 +71,44 @@ } + public static DomainCard toBean(List<byte[]> data) { + try { + DomainCard domainCard = new DomainCard(); + String domainNumber = BcdUtil.bcdToStr(data.get(0)[1]); + domainCard.domainNumber = domainNumber; + int domainLength = HexUtil.get16to10(HexUtil.byteToHex(data.get(0)[2])); + byte[] domainData = new byte[domainLength + 7]; + int index = 0; + for (int i = 0; i < 3; i++) { + int jIndex; + if (i == 0) { + jIndex = 3; + } else { + jIndex = 0; + } + for (int j = jIndex; j < 15; j++) { + if (index < domainData.length) { + domainData[index] = data.get(i)[j]; + index++; + } + + } + } + String domainStr = new String(domainData, StandardCharsets.US_ASCII); + String domainName = domainStr.split(",")[0]; + String port = domainStr.split(",")[1].replace("#", ""); + domainCard.setDomainName(domainName); + domainCard.setPort(Integer.valueOf(port)); + + return domainCard; + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + } + return null; + } + + /** * 鐢ㄦ埛鍗�0鍧� */ diff --git a/app/src/main/java/com/dayu/recharge/card/ManageCard.java b/app/src/main/java/com/dayu/recharge/card/ManageCard.java index 2f8ed23..451a8c8 100644 --- a/app/src/main/java/com/dayu/recharge/card/ManageCard.java +++ b/app/src/main/java/com/dayu/recharge/card/ManageCard.java @@ -3,6 +3,7 @@ import com.dayu.recharge.tools.BcdUtil; import com.dayu.recharge.tools.HexUtil; import com.dayu.recharge.utils.MornyUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; @@ -13,7 +14,7 @@ * Description: 绠$悊鍗� 绗�1鎵囧尯 0鍧� */ public class ManageCard implements Serializable { - public String cardType = "B2";//鍗$被鍨� + public String cardType = MyCommon.MANAGE_CRAD;//鍗$被鍨� public String cardData = "3668F7A30119";//鏍囪瘑鐮� diff --git a/app/src/main/java/com/dayu/recharge/card/PassWordCard.java b/app/src/main/java/com/dayu/recharge/card/PassWordCard.java index 775eebe..ff1e78f 100644 --- a/app/src/main/java/com/dayu/recharge/card/PassWordCard.java +++ b/app/src/main/java/com/dayu/recharge/card/PassWordCard.java @@ -1,6 +1,7 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; /** * Copyright (C), 2023, @@ -9,7 +10,7 @@ * Description:瀵嗙爜鍗� */ public class PassWordCard { - public String cardType = "B3";//鍗$被鍨� + public String cardType = MyCommon.PASS_WORD_CRAD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� public class Zero extends BaseCard { diff --git a/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java b/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java index e76c846..e3652a8 100644 --- a/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java +++ b/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java @@ -1,6 +1,7 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; @@ -11,7 +12,7 @@ * Description:閲嶆柊娉ㄥ唽璁惧鍗★細鐢ㄤ簬鍐欑敤鎴锋敞鍐屽彿 */ public class RegisteredCard implements Serializable { - public String cardType = "BA";//鍗$被鍨� + public String cardType = MyCommon.REGISTERED_CARD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� public byte[] toByte() { diff --git a/app/src/main/java/com/dayu/recharge/card/TestCard.java b/app/src/main/java/com/dayu/recharge/card/TestCard.java index cf17f85..f3f6915 100644 --- a/app/src/main/java/com/dayu/recharge/card/TestCard.java +++ b/app/src/main/java/com/dayu/recharge/card/TestCard.java @@ -1,6 +1,7 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; @@ -11,7 +12,7 @@ * Description: 娴嬭瘯鍗� */ public class TestCard implements Serializable { - public String cardType = "A4";//鍗$被鍨� + public String cardType = MyCommon.TEST_CARD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� public byte[] toByte() { diff --git a/app/src/main/java/com/dayu/recharge/card/UserCard.java b/app/src/main/java/com/dayu/recharge/card/UserCard.java index ed1151e..5233456 100644 --- a/app/src/main/java/com/dayu/recharge/card/UserCard.java +++ b/app/src/main/java/com/dayu/recharge/card/UserCard.java @@ -3,6 +3,7 @@ import com.dayu.recharge.tools.BcdUtil; import com.dayu.recharge.tools.HexUtil; import com.dayu.recharge.utils.MornyUtil; +import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; import java.util.Calendar; @@ -15,7 +16,7 @@ * Description: 鐢ㄦ埛鍗$粨鏋� */ public class UserCard implements Serializable { - public String cardType = "A1";//鍐欏崱鏍囧織 A1鍒峰崱寮�娉靛墠 A8鍒峰崱寮�娉靛悗 A2鍙犲姞鍏呭�� + public String cardType = MyCommon.USER_CARD_TYPE_1;//鍐欏崱鏍囧織 A1鍒峰崱寮�娉靛墠 A8鍒峰崱寮�娉靛悗 A2鍙犲姞鍏呭�� public int rechargeTimes;//鍏呭�兼鏁� diff --git a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java index 496736a..b67131a 100644 --- a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java +++ b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java @@ -9,6 +9,7 @@ import com.dayu.recharge.dbBean.RechargeBean; import com.dayu.recharge.dbBean.RechargeBean; +import com.dayu.recharge.dbBean.UserCardBean; import java.util.List; @@ -31,4 +32,7 @@ @Query("select * from RechargeBean ") List<RechargeBean> findAll(); + + @Query("select * from RechargeBean where date>=:beginTime and date<=:endTime") + List<RechargeBean> findByTime(long beginTime, long endTime); } diff --git a/app/src/main/java/com/dayu/recharge/dbBean/DomainBean.java b/app/src/main/java/com/dayu/recharge/dbBean/DomainBean.java index 715f3fc..ce57b7e 100644 --- a/app/src/main/java/com/dayu/recharge/dbBean/DomainBean.java +++ b/app/src/main/java/com/dayu/recharge/dbBean/DomainBean.java @@ -14,9 +14,20 @@ public class DomainBean { @PrimaryKey(autoGenerate = true) public long id; + + private String domainNumber; private int port; private String domain = ""; + + public String getDomainNumber() { + return domainNumber; + } + + public void setDomainNumber(String domainNumber) { + this.domainNumber = domainNumber; + } + public int getPort() { return port; } 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 a75d37f..1c497a1 100644 --- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java +++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java @@ -51,12 +51,12 @@ isTest = false; // 鍙戦�� // EasySocket.getInstance().upMessage(dataMessage); - if (EasySocket.getInstance().getDefOptions().getSocketAddress() != null) { + if (EasySocket.getInstance().getDefconnection() != null) { EasySocket.getInstance().disconnect(false); EasySocket.getInstance().connect(); this.dataMessage = dataMessage; } else { - LogUtil.w("Socket鍦板潃涓虹┖"); + MyApplication.myApplication.initEasySocket(false, null); } } @@ -107,7 +107,7 @@ MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode()); } } - }, 2000); + }, 500); } if (dataMessage != null) { @@ -170,7 +170,7 @@ socketData.setBodyData(originReadData.getBodyBytes()); socketData.setHeaderData(originReadData.getHeaderData()); dataMessage = null; - if (myCallBack!=null){ + if (myCallBack != null) { myCallBack.onSocketResponse(socketData); } diff --git a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java index 183296e..f7bc735 100644 --- a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java +++ b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java @@ -62,7 +62,7 @@ if (hex.length() < 2) { hex = "0" + hex; } - return hex; + return hex.toUpperCase(); } diff --git a/app/src/main/java/com/dayu/recharge/utils/MyCommon.java b/app/src/main/java/com/dayu/recharge/utils/MyCommon.java index 7bca8e9..8413e24 100644 --- a/app/src/main/java/com/dayu/recharge/utils/MyCommon.java +++ b/app/src/main/java/com/dayu/recharge/utils/MyCommon.java @@ -8,31 +8,61 @@ */ public class MyCommon { + /** + * 鐢ㄦ埛鍒峰崱寮�娉靛墠 + */ public static final String USER_CARD_TYPE_1 = "A1"; + /** + * 鐢ㄦ埛鍒峰崱寮�娉靛悗 + */ public static final String USER_CARD_TYPE_2 = "A8"; + /** + * 鐢ㄦ埛鍙犲姞鍏呭�� + */ public static final String USER_CARD_TYPE_3 = "A2"; - public static final String CLEAN_CARD_TYPE_3 = "C8"; + /** + * 绠$悊鍗� + */ + public static final String MANAGE_CRAD = "B2"; + /** + * 娓呴浂鍗� + */ + public static final String CLEAN_CARD_TYPE = "C8"; - public static final String REGISTERED_CARD_TYPE_3 = "BA"; - - public static final String CLEAN_ALL_USER_CARD_TYPE_3 = "BB"; + /** + * 閲嶆柊娉ㄥ唽璁惧鍗� + */ + public static final String REGISTERED_CARD_TYPE = "BA"; + /** + * 鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗� + */ + public static final String CLEAN_ALL_USER_CARD_TYPE = "BB"; /** * 璁剧疆鍩熷悕鍗� */ - public static final String DOMAIN_CARD_TYPE_3 = "C1"; + public static final String DOMAIN_CARD_TYPE = "C1"; /** * 娴嬭瘯鍗� */ - public static final String TEST_CARD_TYPE_3 = "A4"; + public static final String TEST_CARD_TYPE = "A4"; /** * 閰嶇疆璁惧娉ㄥ唽淇℃伅鍗� */ - public static final String CONFIGURATION_CARD_TYPE_3 = "BC"; + public static final String CONFIGURATION_CARD_TYPE = "BC"; + /** + * 閰嶇疆姘存车鍔熺巼鍗� + */ + public static final String CONFIGURATION_POWER_CARD_TYPE = "BD"; + + /** + * 瀵嗙爜鍗� + */ + public static final String PASS_WORD_CRAD_TYPE = "B3"; } diff --git a/app/src/main/res/layout/activity_domain.xml b/app/src/main/res/layout/activity_domain.xml index e4e8627..a00ebd5 100644 --- a/app/src/main/res/layout/activity_domain.xml +++ b/app/src/main/res/layout/activity_domain.xml @@ -18,14 +18,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/titleBar" - android:layout_margin="20dp" + android:layout_marginStart="20dp" + android:layout_marginTop="20dp" + android:layout_marginEnd="20dp" + android:layout_marginBottom="20dp" android:orientation="vertical"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="褰撳墠鍩熷悕鍜岀鍙o細" - android:textSize="@dimen/text_size" /> <TextView android:id="@+id/domain_oldTV" @@ -36,12 +34,22 @@ </LinearLayout> - + <EditText + android:id="@+id/domainNumber" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@+id/domain_ll" + android:layout_alignParentStart="true" + android:layout_marginStart="20dp" + android:layout_marginTop="20dp" + android:layout_marginEnd="20dp" + android:hint="璇疯緭鍏ユ柊鐨勫煙鍚嶅簭鍙�" + android:inputType="number" /> <EditText android:id="@+id/domain" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_below="@+id/domain_ll" + android:layout_below="@+id/domainNumber" android:layout_alignParentStart="true" android:layout_marginStart="20dp" android:layout_marginTop="20dp" diff --git a/app/src/main/res/layout/activity_ip.xml b/app/src/main/res/layout/activity_ip.xml index e0c63d2..5804427 100644 --- a/app/src/main/res/layout/activity_ip.xml +++ b/app/src/main/res/layout/activity_ip.xml @@ -28,8 +28,9 @@ <EditText android:id="@+id/ip" android:layout_width="match_parent" + android:layout_height="wrap_content" android:hint="socket閫氫俊IP" - android:layout_height="wrap_content" /> + android:text="dayuyanjiuyuan.top" /> </LinearLayout> @@ -49,11 +50,11 @@ <EditText android:id="@+id/port" android:layout_width="match_parent" - android:inputType="number" + android:layout_height="wrap_content" android:hint="socket閫氫俊绔彛" - android:layout_height="wrap_content" /> + android:inputType="number" + android:text="08888" /> </LinearLayout> - <TextView diff --git a/app/src/main/res/layout/activity_parameter.xml b/app/src/main/res/layout/activity_parameter.xml index 98f4d71..d19960c 100644 --- a/app/src/main/res/layout/activity_parameter.xml +++ b/app/src/main/res/layout/activity_parameter.xml @@ -17,8 +17,8 @@ android:id="@+id/parameter_domain" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="20dp" - android:layout_marginTop="20dp" + android:layout_marginLeft="20dp" + android:layout_marginTop="20dp" android:padding="5dp" android:text="鍩熷悕鍗¤缃�" android:textSize="@dimen/text_size" /> @@ -27,8 +27,8 @@ android:id="@+id/parameter_power" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="20dp" - android:layout_marginTop="20dp" + android:layout_marginLeft="20dp" + android:layout_marginTop="20dp" android:padding="5dp" android:text="姘存车鍔熺巼鍗¤缃�" android:textSize="@dimen/text_size" /> @@ -38,12 +38,11 @@ android:id="@+id/parameter_electricPrice" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="20dp" - android:layout_marginTop="20dp" + android:layout_marginLeft="20dp" + android:layout_marginTop="20dp" android:padding="5dp" android:text="鐢甸噺鍗曚环" - android:textSize="@dimen/text_size" - android:visibility="gone" /> + android:textSize="@dimen/text_size" /> </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 e5851a7..6b36e64 100644 --- a/app/src/main/res/layout/activity_red_card.xml +++ b/app/src/main/res/layout/activity_red_card.xml @@ -27,66 +27,52 @@ android:orientation="vertical"> <TextView - android:id="@+id/red_villageNum" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="璁惧搴忓垪鍙凤細" - android:textSize="@dimen/text_size" /> - - <TextView android:id="@+id/red_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" - android:text="鐢� 鎴� 鍚嶏細" + android:text="鐢ㄦ埛濮撳悕锛�" android:textSize="@dimen/text_size" /> -<!-- <TextView--> -<!-- android:id="@+id/red_userNum"--> -<!-- 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_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: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_total_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_rechargeDate" + 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_electric"--> -<!-- 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_water"--> -<!-- 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_rechargeNumber" + 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_statu" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" - android:text="鐘� 鎬侊細" + android:text="鍗$姸鎬侊細" android:textSize="@dimen/text_size" /> </LinearLayout> @@ -94,46 +80,38 @@ </ScrollView> - <TextView - android:id="@+id/read_sysLL" - android:layout_width="wrap_content" + <LinearLayout + android:id="@+id/read_cardTypeLL" + android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_centerHorizontal="true" - android:layout_centerVertical="true" - android:layout_gravity="center" + android:layout_below="@id/titleBar" android:gravity="center" - android:text="褰撳墠涓虹鐞嗗崱" - android:textSize="30sp" - android:textStyle="bold" - android:visibility="gone" /> + android:orientation="vertical" + android:visibility="visible"> + <TextView + android:id="@+id/read_cardTypeTV" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:layout_centerVertical="true" + android:layout_gravity="center" + android:gravity="center" + android:textSize="30sp" + android:textStyle="bold" /> - <TextView - android:id="@+id/read_cleanLL" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_centerHorizontal="true" - android:layout_centerVertical="true" - android:layout_gravity="center" - android:gravity="center" - android:text="褰撳墠涓烘竻闆跺崱" - android:textSize="30sp" - android:textStyle="bold" - android:visibility="gone" /> - - - <TextView - android:id="@+id/read_initLL" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_centerHorizontal="true" - android:layout_centerVertical="true" - android:layout_gravity="center" - android:gravity="center" - android:text="褰撳墠涓哄嚭鍘傝缃崱" - android:textSize="30sp" - android:textStyle="bold" - android:visibility="gone" /> + <TextView + android:id="@+id/read_cardDataTV" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:layout_centerVertical="true" + android:layout_gravity="center" + android:layout_marginTop="20dp" + android:gravity="left" + android:textSize="20sp" + android:textStyle="bold" /> + </LinearLayout> <LinearLayout @@ -142,7 +120,8 @@ android:layout_height="match_parent" android:layout_below="@id/titleBar" android:background="#ffffff" - android:orientation="vertical"> + android:orientation="vertical" + android:visibility="visible"> <TextView android:layout_width="match_parent" @@ -172,13 +151,5 @@ android:visibility="gone" app:indicatorColor="@color/title_bg" app:indicatorName="BallClipRotatePulseIndicator" /> - - <TextView - android:id="@+id/textData" - android:layout_width="match_parent" - android:layout_height="wrap_content" - /> - - </RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/logo.jpg b/app/src/main/res/mipmap-xhdpi/logo.jpg new file mode 100644 index 0000000..d7ffc22 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/logo.jpg Binary files differ diff --git a/easysocket/src/main/java/com/easysocket/EasySocket.java b/easysocket/src/main/java/com/easysocket/EasySocket.java index e0c158f..4aecbd3 100644 --- a/easysocket/src/main/java/com/easysocket/EasySocket.java +++ b/easysocket/src/main/java/com/easysocket/EasySocket.java @@ -268,8 +268,8 @@ */ public IConnectionManager getDefconnection() { if (defConnection == null) { - throw new NotNullException("浣犺繕娌℃湁鍒涘缓锛�" + defOptions.getSocketAddress().getIp() + ":" + defOptions.getSocketAddress().getPort() - + "鐨凷ocket鐨勮繛鎺ワ紝璇蜂娇鐢╟om.easysocket.EasySocket.connect()鏂规硶鍒涘缓涓�涓粯璁ょ殑杩炴帴"); +// throw new NotNullException("浣犺繕娌℃湁鍒涘缓锛�" + defOptions.getSocketAddress().getIp() + ":" + defOptions.getSocketAddress().getPort() +// + "鐨凷ocket鐨勮繛鎺ワ紝璇蜂娇鐢╟om.easysocket.EasySocket.connect()鏂规硶鍒涘缓涓�涓粯璁ょ殑杩炴帴"); } return defConnection; } -- Gitblit v1.8.0