From fc6048b630901058ccd90529e32e031e612b8384 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 21 十一月 2023 14:32:03 +0800 Subject: [PATCH] 补卡相关 --- app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 108 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 82 insertions(+), 26 deletions(-) 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 2f5427f..5355d4f 100644 --- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java @@ -9,6 +9,7 @@ import com.dayu.recharge.MyApplication; +import com.dayu.recharge.R; import com.dayu.recharge.card.CleanCard; import com.dayu.recharge.card.CleanUserCard; import com.dayu.recharge.card.ConfigurationPowerCard; @@ -20,6 +21,8 @@ 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; import com.dayu.recharge.net.SocketCallBack; @@ -34,6 +37,7 @@ 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; @@ -45,6 +49,12 @@ import java.util.List; import java.util.Map; +/** + * Copyright (C), 2023, + * Author: zuo + * Date: 2023-11-08 21:19 + * Description: nfc鍐欏崱鐣岄潰 + */ public class NFCWreatActivity extends BaseNfcActivity { @@ -133,33 +143,44 @@ } if (this.getIntent().hasExtra("cleanCard")) { cleanCard = (CleanCard) this.getIntent().getSerializableExtra("cleanCard"); + binding.cardData.setText("鍒朵綔娓呴浂鍗�"); } if (this.getIntent().hasExtra("manageCard")) { manageCard = (ManageCard) this.getIntent().getSerializableExtra("manageCard"); + binding.cardData.setText("鍒朵綔绠$悊鍗�"); } if (this.getIntent().hasExtra("registeredCard")) { registeredCard = (RegisteredCard) this.getIntent().getSerializableExtra("registeredCard"); + binding.cardData.setText("鍒朵綔閲嶆柊娉ㄥ唽璁惧鍗�"); } if (this.getIntent().hasExtra("dbUserCard")) { userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("dbUserCard"); } if (this.getIntent().hasExtra("cleanUserCard")) { cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard"); + binding.cardData.setText("鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"); } if (this.getIntent().hasExtra("domainCard")) { domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard"); + binding.cardData.setText("鍒朵綔璁剧疆鍩熷悕鍗�"); } if (this.getIntent().hasExtra("testCard")) { testCard = (TestCard) this.getIntent().getSerializableExtra("testCard"); + binding.cardData.setText("鍒朵綔娴嬭瘯鍗�"); } if (this.getIntent().hasExtra("configureDeviceRegistrationCrad")) { configureDeviceRegistrationCrad = (ConfigureDeviceRegistrationCrad) this.getIntent().getSerializableExtra("configureDeviceRegistrationCrad"); + binding.cardData.setText("鍒朵綔閰嶇疆璁惧娉ㄥ唽淇℃伅鍗�"); } if (this.getIntent().hasExtra("configurationPowerCard")) { configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard"); + binding.cardData.setText("鍒朵綔閰嶇疆姘存车鍔熺巼鍗�"); + } + if (this.getIntent().hasExtra("morny")) { + morny = this.getIntent().getStringExtra("morny"); + binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�"); } - morny = this.getIntent().getStringExtra("morny"); try { adminData = baseDao.adminDao().findFirst(); } catch (Exception e) { @@ -248,7 +269,7 @@ if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) { try { if (userFlag && userCardBean != null) { - baseDao.userCardDao().insert(userCardBean); + ToastUtil.show(this, "娉ㄥ唽鎴愬姛"); NFCWreatActivity.this.finish(); if (NewCardActivity.newCardActivity != null) { @@ -273,6 +294,9 @@ stopAnim(); } else if (!TextUtils.isEmpty(morny)) { readAllData(intent); + } else if (userCard == null && userCardBean != null) { + //琛ュ崱閫昏緫 + selectBalance(userCardBean.getInitPeasantCode()); } else { stopAnim(); ToastUtil.show(this, "鍙傛暟閿欒"); @@ -369,7 +393,7 @@ StringBuffer data = new StringBuffer(); if (rechargeBean != null) { data.append("*****************************" + "\n"); - data.append(" 鍐滀笟姘翠环缁煎悎鏀归潻鍏呭�肩郴缁焅n\n"); + data.append(getResources().getString(R.string.login_title) + "\n"); data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n"); data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n"); // data.append("鎴� 鍙凤細" + rechargeBean.getUserNum() + "\n"); @@ -406,7 +430,7 @@ try { RechargeRequestBean rechargeRequestBean = new RechargeRequestBean(); rechargeRequestBean.setControl("01"); - String initCode = WSHelper.getInstance(this).get("initCode", ""); + String initCode = DeviceNumberUtils.getDeviceNumber(); rechargeRequestBean.setInitCode(initCode); rechargeRequestBean.setXuLie(SocketUtil.getXuLie(this)); rechargeRequestBean.setAFN("95"); @@ -625,6 +649,8 @@ /** + * 鏌ヨ浣欓 + * * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿 */ private void selectBalance(String initPeasantCode) { @@ -633,7 +659,7 @@ BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean(); requestBean.setAFN("94"); requestBean.setControl("01"); - String initCode = WSHelper.getInstance(this).get("initCode", ""); + String initCode = DeviceNumberUtils.getDeviceNumber(); requestBean.setInitCode(initCode); requestBean.setInitPeasantCode(initPeasantCode); requestBean.setXuLie(SocketUtil.getXuLie(this)); @@ -648,6 +674,24 @@ 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(); + userCard.setRechargeTimes(0); + + ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); + if (electricPriceBean != null) { + userCard.setElectricityPrice(electricPriceBean.getPrice()); + } else { + //榛樿鏄�1鍏� + userCard.setElectricityPrice(1.000f); + } + userCard.setSwipeNumber((short) 0); + userCard.setState("00"); + userCard.setBalance(0); + userCard.setAddressCode(adminData.getAddressCode()); + userCard.setInitPeasantCode(initPeasantCode); + } + if ("00".equals(state)) { //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊� //閲戦 @@ -656,30 +700,42 @@ //濮撳悕 byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); - 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(); + 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, "琛ュ崱鎴愬姛"); + } } - rechargeBean.setSerial(adminData.getSerial()); - userCard.setBalance(balance); - userCard.setRechargeDate(Calendar.getInstance()); - rechargeBean.setBalance(MornyUtil.changeF2Y(balance) + ""); - rechargeBean.setUserId(userId); - //涓巗ocket鏈嶅姟鍣ㄩ�氫俊鍚庤繘琛屽悗缁搷浣� - recharge(initPeasantCode); + stateText.append("鍚敤"); return; } else if ("01".equals(state)) { -- Gitblit v1.8.0