From 22a6b851897ef5ef25f64b740159e7106cfd6433 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 14 十一月 2023 17:21:17 +0800
Subject: [PATCH] 配置水泵功率卡 配置设备注册信息卡 测试卡 设置域名卡 删除全部用户卡 重新注册设备卡 等相关制作卡片代码

---
 app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java           |    8 +
 app/src/main/java/com/dayu/recharge/card/DomainCard.java                      |   41 ++++-
 app/src/main/java/com/dayu/recharge/activity/SysActivity.java                 |   62 ++++++++
 app/src/main/java/com/dayu/recharge/card/TestCard.java                        |   12 +
 app/src/main/java/com/dayu/recharge/activity/PowerActivity.java               |   12 +
 app/src/main/res/layout/activity_admin.xml                                    |   43 +++++
 app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java          |   33 +++-
 app/src/main/java/com/dayu/recharge/activity/DomainActivity.java              |   28 ++-
 app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java            |  142 +++++++++++++++++++
 app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java |   20 +-
 app/src/main/res/layout/activity_parameter.xml                                |   15 +
 11 files changed, 362 insertions(+), 54 deletions(-)

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 65387f8..c24ce79 100644
--- a/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
@@ -25,19 +25,19 @@
         super.onCreate(savedInstanceState);
         binding = ActivityDomainBinding.inflate(LayoutInflater.from(this));
         setContentView(binding.getRoot());
-        domainBean = baseDao.domainPortDao().findFirst();
-        if (domainBean != null) {
-            binding.domainOldTV.setText(domainBean.getDomain() + ":" + domainBean.getPort());
-        }else {
-            domainBean=new DomainBean();
-        }
+        initData();
         binding.electricOk.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
 
                 String domain = binding.domain.getText().toString();
                 String port = binding.port.getText().toString();
-                int portInt = Integer.valueOf(port);
+                int portInt = 0;
+                if (TextUtils.isEmpty(port)) {
+                    ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
+                } else {
+                    portInt = Integer.valueOf(port);
+                }
                 if (TextUtils.isEmpty(domain)) {
                     ToastUtil.show("璇疯緭鍏ュ煙鍚�");
                     return;
@@ -45,14 +45,24 @@
                     ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
                     return;
                 }
+
                 domainBean.setDomain(domain);
                 domainBean.setPort(portInt);
                 baseDao.domainPortDao().insert(domainBean);
-
-
+                ToastUtil.show("淇濆瓨鎴愬姛");
+                initData();
             }
         });
+        initData();
+    }
 
+    private void initData() {
+        domainBean = baseDao.domainPortDao().findFirst();
+        if (domainBean != null) {
+            binding.domainOldTV.setText(domainBean.getDomain() + ":" + domainBean.getPort());
+        } else {
+            domainBean = new DomainBean();
+        }
     }
 
 
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 e765ae1..0fb7a61 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -11,8 +11,12 @@
 
 import com.dayu.recharge.card.CleanCard;
 import com.dayu.recharge.card.CleanUserCard;
+import com.dayu.recharge.card.ConfigurationPowerCard;
+import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
+import com.dayu.recharge.card.DomainCard;
 import com.dayu.recharge.card.ManageCard;
 import com.dayu.recharge.card.RegisteredCard;
+import com.dayu.recharge.card.TestCard;
 import com.dayu.recharge.card.UserCard;
 import com.dayu.recharge.databinding.ActivityWriteTextBinding;
 import com.dayu.recharge.dbBean.AdminDataBean;
@@ -65,12 +69,18 @@
     boolean registeredFlag = false;
     boolean administrativeCardFlag = false;
     boolean cleanUserCardFlag = false;
-    volatile UserCard userCard;
 
-    ManageCard manageCard;
+    boolean domainCrdFlag = false;
+
+    boolean testCardFlag = false;
+
+    boolean configDeviceRegiestFlag = false;
+
+    boolean configPowerFlag = false;
+
     UserCardBean userCardBean;
 
-    CleanCard cleanCard;
+
     String morny;
     AdminDataBean adminData;
     RechargeBean rechargeBean;
@@ -79,7 +89,15 @@
 
     RegisteredCard registeredCard;
     CleanUserCard cleanUserCard;
+    volatile UserCard userCard;
+    ManageCard manageCard;
+    DomainCard domainCard;
 
+    CleanCard cleanCard;
+    ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
+    TestCard testCard;
+
+    ConfigurationPowerCard configurationPowerCard;
     //鎵撳嵃
     MyApplication baseApp;
 
@@ -128,6 +146,19 @@
             if (this.getIntent().hasExtra("cleanUserCard")) {
                 cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
             }
+            if (this.getIntent().hasExtra("domainCard")) {
+                domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard");
+            }
+            if (this.getIntent().hasExtra("testCard")) {
+                testCard = (TestCard) this.getIntent().getSerializableExtra("testCard");
+            }
+            if (this.getIntent().hasExtra("configureDeviceRegistrationCrad")) {
+                configureDeviceRegistrationCrad = (ConfigureDeviceRegistrationCrad) this.getIntent().getSerializableExtra("configureDeviceRegistrationCrad");
+            }
+            if (this.getIntent().hasExtra("configurationPowerCard")) {
+                configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard");
+            }
+
             morny = this.getIntent().getStringExtra("morny");
             try {
                 adminData = baseDao.adminDao().findFirst();
@@ -182,7 +213,11 @@
     private void saveData() {
         try {
             startAnim();
-            if (userCard != null || cleanCard != null || manageCard != null || registeredCard != null || cleanUserCard != null) {
+            if (userCard != null || cleanCard != null || manageCard != null
+                    || registeredCard != null || cleanUserCard != null
+                    || domainCard != null || testCard != null
+                    || configureDeviceRegistrationCrad != null
+                    || configurationPowerCard != null) {
                 if (userCard != null) {
                     setUser(intent, userCard);
                 }
@@ -198,8 +233,19 @@
                 if (cleanUserCard != null) {
                     setCleanUserCard(intent, cleanUserCard);
                 }
-
-                if ((userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag)) {
+                if (domainCard != null) {
+                    setDomainCard(intent, domainCard);
+                }
+                if (testCard != null) {
+                    setTestCard(intent, testCard);
+                }
+                if (configureDeviceRegistrationCrad != null) {
+                    setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
+                }
+                if (configurationPowerCard != null) {
+                    setConfigurationPower(intent, configurationPowerCard);
+                }
+                if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
                     try {
                         if (userFlag && userCardBean != null) {
                             baseDao.userCardDao().insert(userCardBean);
@@ -456,12 +502,18 @@
                 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) {
@@ -485,6 +537,12 @@
         });
     }
 
+    /**
+     * 鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�
+     *
+     * @param intent
+     * @param cleanUserCard
+     */
     private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
         NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
             @Override
@@ -495,6 +553,78 @@
     }
 
     /**
+     * 璁剧疆鍩熷悕鍗�
+     *
+     * @param intent
+     * @param domainCard
+     */
+    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;
+                }
+            });
+            if (!domainCrdFlag) {
+                return;
+            }
+            NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1, new NFCWriteHelper.NFCCallback() {
+                @Override
+                public void isSusses(boolean flag) {
+                    domainCrdFlag = flag;
+                }
+            });
+            if (!domainCrdFlag) {
+                return;
+            }
+            NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2, new NFCWriteHelper.NFCCallback() {
+                @Override
+                public void isSusses(boolean flag) {
+                    domainCrdFlag = flag;
+                }
+            });
+        } catch (Exception e) {
+            domainCrdFlag = false;
+            throw new RuntimeException(e);
+        }
+    }
+
+    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;
+            }
+        });
+    }
+
+
+    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;
+            }
+        });
+    }
+
+    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;
+                }
+            });
+        } catch (Exception e) {
+            configPowerFlag = false;
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    /**
      * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿
      */
     private void selectBalance(String initPeasantCode) {
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 9b80d1f..8a6dc7f 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java
@@ -33,5 +33,13 @@
                 startActivity(intent);
             }
         });
+
+        binding.parameterPower.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent(ParameterActivity.this, PowerActivity.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 6eec124..cc2fe65 100644
--- a/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
@@ -17,14 +17,23 @@
  */
 public class PowerActivity extends BaseActivity {
     ActivityPowerBinding powerBinding;
+    PowerBean powerBean = new PowerBean();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         powerBinding = ActivityPowerBinding.inflate(LayoutInflater.from(this));
         setContentView(powerBinding.getRoot());
-
+        initData();
         initView();
+    }
+
+    private void initData() {
+        PowerBean powerBean = baseDao.powerDao().findFirst();
+        if (powerBean != null) {
+            this.powerBean = powerBean;
+            powerBinding.villageOldNumber.setText(powerBean.getPower());
+        }
     }
 
     private void initView() {
@@ -33,7 +42,6 @@
             public void onClick(View v) {
                 String data = powerBinding.villageNewNum.getText().toString();
                 if (!TextUtils.isEmpty(data)) {
-                    PowerBean powerBean = new PowerBean();
                     powerBean.setPower(data);
                     baseDao.powerDao().insert(powerBean);
                     ToastUtil.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 a8b6967..74853bd 100644
--- a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
@@ -7,10 +7,16 @@
 
 import com.dayu.recharge.card.CleanCard;
 import com.dayu.recharge.card.CleanUserCard;
+import com.dayu.recharge.card.ConfigurationPowerCard;
+import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
 import com.dayu.recharge.card.DomainCard;
 import com.dayu.recharge.card.ManageCard;
 import com.dayu.recharge.card.RegisteredCard;
+import com.dayu.recharge.card.TestCard;
 import com.dayu.recharge.databinding.ActivityAdminBinding;
+import com.dayu.recharge.dbBean.DomainBean;
+import com.dayu.recharge.dbBean.PowerBean;
+import com.dayu.recharge.utils.ToastUtil;
 
 /**
  * Copyright (C), 2023,
@@ -31,12 +37,14 @@
         initView();
     }
 
+
     private void initView() {
-        Intent intent = new Intent(this, NFCWreatActivity.class);
+
 
         adminBinding.adminAdmin.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
                 ManageCard manageCard = new ManageCard();
                 intent.putExtra("manageCard", manageCard);
                 startActivity(intent);
@@ -46,6 +54,7 @@
         adminBinding.adminCleanZero.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
                 CleanCard cleanCard = new CleanCard();
                 intent.putExtra("cleanCard", cleanCard);
                 startActivity(intent);
@@ -54,6 +63,7 @@
         adminBinding.adminRegistered.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
                 RegisteredCard registeredCard = new RegisteredCard();
                 intent.putExtra("registeredCard", registeredCard);
                 startActivity(intent);
@@ -63,6 +73,7 @@
         adminBinding.adminCleanUser.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
                 CleanUserCard cleanUserCard = new CleanUserCard();
                 intent.putExtra("cleanUserCard", cleanUserCard);
                 startActivity(intent);
@@ -72,11 +83,56 @@
         adminBinding.adminDomain.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                DomainCard domainCard = new DomainCard();
-                intent.putExtra("domainCard", domainCard);
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+                DomainBean domainBean = baseDao.domainPortDao().findFirst();
+                if (domainBean != null) {
+                    DomainCard domainCard = new DomainCard();
+                    domainCard.setDomainName(domainBean.getDomain());
+                    domainCard.setPort(domainBean.getPort());
+                    intent.putExtra("domainCard", domainCard);
+                    startActivity(intent);
+                } else {
+                    ToastUtil.show("璇峰厛璁剧疆鍩熷悕");
+                }
+
+            }
+        });
+        adminBinding.adminTest.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+                TestCard testCard = new TestCard();
+                intent.putExtra("testCard", testCard);
                 startActivity(intent);
             }
         });
+        adminBinding.adminConfigDeviceRegistration.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+                ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad = new ConfigureDeviceRegistrationCrad();
+                intent.putExtra("configureDeviceRegistrationCrad", configureDeviceRegistrationCrad);
+                startActivity(intent);
+            }
+        });
+
+        adminBinding.adminConfigPower.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                PowerBean powerBean = baseDao.powerDao().findFirst();
+                if (powerBean != null) {
+                    Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+                    ConfigurationPowerCard configurationPowerCard = new ConfigurationPowerCard();
+                    configurationPowerCard.setPower(powerBean.getPower());
+                    intent.putExtra("configurationPowerCard", configurationPowerCard);
+                    startActivity(intent);
+                } else {
+                    ToastUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
+                }
+
+            }
+        });
+
     }
 
 
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 f378897..0275c80 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
@@ -2,6 +2,8 @@
 
 import com.dayu.recharge.tools.HexUtil;
 
+import java.io.Serializable;
+
 /**
  * Copyright (C), 2023,
  * Author: zuo
@@ -11,7 +13,7 @@
  * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝
  * 鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
  */
-public class ConfigurationPowerCard {
+public class ConfigurationPowerCard implements Serializable {
 
 
     public String cardType = "BD";//鍗$被鍨�
@@ -19,20 +21,37 @@
 
     public String power;//鍔熺巼
 
+    public String getPower() {
+        return power;
+    }
+
+    public void setPower(String power) {
+        this.power = power;
+    }
+
+    public byte[] toByte() {
+        Zero zero = new Zero();
+        return zero.toByte();
+    }
+
     public class Zero extends BaseCard {
-        public void toByte() {
+        public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
             byte[] cardDatas = HexUtil.hexToByteArray(cardData);
             for (int i = 0; i < 4; i++) {
                 data[i + 1] = cardDatas[i];
             }
-            float floatPower = Float.parseFloat(power);
-            int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟
-            String hexPower = HexUtil.get10to16(intPower);
-            byte bytePower = HexUtil.hexToByte(hexPower);
-            data[5] = bytePower;
+            if (power != null) {
+                float floatPower = Float.parseFloat(power);
+                int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟
+                String hexPower = HexUtil.get10to16(intPower);
+                byte bytePower = HexUtil.hexToByte(hexPower);
+                data[5] = bytePower;
+            }
+
             data[15] = getByteSum(data);
+            return data;
         }
 
     }
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 f4ed3c1..42480f3 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
@@ -2,35 +2,37 @@
 
 import com.dayu.recharge.tools.HexUtil;
 
+import java.io.Serializable;
+
 /**
  * Created by Android Studio.
  * author: zuo
  * Date: 2023-11-13
  * Time: 18:11
  * 澶囨敞锛氶厤缃澶囨敞鍐屼俊鎭崱
- *
+ * <p>
  * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
  */
-public class ConfigureDeviceRegistrationCrad {
+public class ConfigureDeviceRegistrationCrad implements Serializable {
     public String cardType = "BC";//鍗$被鍨�
     public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
-    public String power;//鍔熺巼
+    public byte[] toByte() {
+        Zero zero = new Zero();
+        return zero.toByte();
+    }
 
     public class Zero extends BaseCard {
-        public void toByte() {
+        public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
             byte[] cardDatas = HexUtil.hexToByteArray(cardData);
             for (int i = 0; i < 4; i++) {
                 data[i + 1] = cardDatas[i];
             }
-            float floatPower = Float.parseFloat(power);
-            int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟
-            String hexPower = HexUtil.get10to16(intPower);
-            byte bytePower = HexUtil.hexToByte(hexPower);
-            data[5] = bytePower;
+
             data[15] = getByteSum(data);
+            return data;
         }
 
     }
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 55d8718..bef709d 100644
--- a/app/src/main/java/com/dayu/recharge/card/DomainCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/DomainCard.java
@@ -23,7 +23,24 @@
 
     //绔彛鍙蜂负5涓瓧鑺傦紝涓嶈冻5浣嶉珮浣嶈ˉ0銆傜鍙e彿涓庡煙鍚嶄箣闂寸敤鈥�,鈥濋殧寮�銆傜鍙e彿鏈�鍚庝互鈥�#鈥濈粨鏉�
     public String domainName;//鍩熷悕
-    public String port;//绔彛
+    public int port;//绔彛
+
+    public String getDomainName() {
+        return domainName;
+    }
+
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+
+    public int getPort() {
+        return port;
+    }
+
+    public void setPort(int port) {
+        this.port = port;
+    }
 
     private byte[] asciiByte;//褰撳墠鍩熷悕鍜岀鍙e彿鏁扮粍
 
@@ -50,10 +67,18 @@
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
-            byte[] domainNumbers = BcdUtil.strToBcd(domainNumber);
-            data[1] = domainNumbers[0];
+            if (domainNumber != null) {
+                byte[] domainNumbers = BcdUtil.strToBcd(domainNumber);
+                data[1] = domainNumbers[0];
+            }
+            domainLength = domainName.length();
             data[2] = HexUtil.hexToByte(HexUtil.get10to16(domainLength));
-            String ascii = IDN.toASCII(domainName + "," + port + "#");
+            String portStr = String.valueOf(port);
+            int lenght = portStr.length();
+            for (int i = 0; i < 5 - lenght; i++) {
+                portStr = "0" + portStr;
+            }
+            String ascii = IDN.toASCII(domainName + "," + portStr + "#");
             asciiByte = ascii.getBytes();
             if (asciiByte.length < 12) {
                 System.arraycopy(asciiByte, 0, data, 3, asciiByte.length);
@@ -75,9 +100,9 @@
             byte[] data = new byte[16];
             if (asciiByte.length > 12) {
                 if (asciiByte.length - 12 < 15) {
-                    System.arraycopy(asciiByte, 12, data, 3, asciiByte.length - 12);
+                    System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - 12);
                 } else {
-                    System.arraycopy(asciiByte, 12, data, 3, 15);
+                    System.arraycopy(asciiByte, 12, data, 0, 15);
                 }
             }
             data[15] = getByteSum(data);
@@ -95,9 +120,9 @@
             byte[] data = new byte[16];
             if (asciiByte.length > (12 + 15)) {
                 if (asciiByte.length - (12 + 15) < 15) {
-                    System.arraycopy(asciiByte, 12, data, 3, asciiByte.length - (12 + 15));
+                    System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - (12 + 15));
                 } else {
-                    System.arraycopy(asciiByte, 12, data, 3, 15);
+                    System.arraycopy(asciiByte, 12, data, 0, 15);
                 }
             }
             data[15] = getByteSum(data);
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 b7526c2..cf17f85 100644
--- a/app/src/main/java/com/dayu/recharge/card/TestCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/TestCard.java
@@ -2,18 +2,25 @@
 
 import com.dayu.recharge.tools.HexUtil;
 
+import java.io.Serializable;
+
 /**
  * Copyright (C), 2023,
  * Author: zuo
  * Date: 2023-11-08 13:23
  * Description: 娴嬭瘯鍗�
  */
-public class TestCard {
+public class TestCard implements Serializable {
     public String cardType = "A4";//鍗$被鍨�
     public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
+    public byte[] toByte() {
+        Zero zero = new Zero();
+        return zero.toByte();
+    }
+
     public class Zero extends BaseCard {
-        public void toByte() {
+        public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
             byte[] cardDatas = HexUtil.hexToByteArray(cardData);
@@ -21,6 +28,7 @@
                 data[i + 1] = cardDatas[i];
             }
             data[15] = getByteSum(data);
+            return data;
         }
 
     }
diff --git a/app/src/main/res/layout/activity_admin.xml b/app/src/main/res/layout/activity_admin.xml
index 67af893..726d4b4 100644
--- a/app/src/main/res/layout/activity_admin.xml
+++ b/app/src/main/res/layout/activity_admin.xml
@@ -27,7 +27,8 @@
                 android:id="@+id/admin_admin"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_margin="20dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔绠$悊鍗�"
                 android:textSize="@dimen/text_size" />
@@ -36,7 +37,8 @@
                 android:id="@+id/admin_cleanZero"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_margin="20dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔娓呴浂鍗�"
                 android:textSize="@dimen/text_size" />
@@ -45,7 +47,8 @@
                 android:id="@+id/admin_registered"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_margin="20dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔閲嶆柊娉ㄥ唽璁惧鍗�"
                 android:textSize="@dimen/text_size" />
@@ -54,7 +57,8 @@
                 android:id="@+id/admin_CleanUser"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_margin="20dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"
                 android:textSize="@dimen/text_size" />
@@ -63,15 +67,42 @@
                 android:id="@+id/admin_domain"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_margin="20dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔璁剧疆鍩熷悕鍗�"
                 android:textSize="@dimen/text_size" />
 
 
+            <TextView
+                android:id="@+id/admin_test"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:padding="5dp"
+                android:text="鍒朵綔娴嬭瘯鍗�"
+                android:textSize="@dimen/text_size" />
 
+            <TextView
+                android:id="@+id/admin_configDeviceRegistration"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:padding="5dp"
+                android:text="鍒朵綔閰嶇疆璁惧淇℃伅鍗�"
+                android:textSize="@dimen/text_size" />
 
-
+            <TextView
+                android:id="@+id/admin_configPower"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:padding="5dp"
+                android:text="鍒朵綔閰嶇疆姘存车鍔熺巼鍗�"
+                android:textSize="@dimen/text_size" />
         </LinearLayout>
 
 
diff --git a/app/src/main/res/layout/activity_parameter.xml b/app/src/main/res/layout/activity_parameter.xml
index 621e0f1..98f4d71 100644
--- a/app/src/main/res/layout/activity_parameter.xml
+++ b/app/src/main/res/layout/activity_parameter.xml
@@ -17,18 +17,29 @@
         android:id="@+id/parameter_domain"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_margin="20dp"
+         android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
         android:padding="5dp"
         android:text="鍩熷悕鍗¤缃�"
         android:textSize="@dimen/text_size" />
 
+    <TextView
+        android:id="@+id/parameter_power"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+         android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+        android:padding="5dp"
+        android:text="姘存车鍔熺巼鍗¤缃�"
+        android:textSize="@dimen/text_size" />
 
 
     <TextView
         android:id="@+id/parameter_electricPrice"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_margin="20dp"
+         android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
         android:padding="5dp"
         android:text="鐢甸噺鍗曚环"
         android:textSize="@dimen/text_size"

--
Gitblit v1.8.0