From 5b9a5a629f8c31a8c05a918dcefc557b46651dfe Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 11 九月 2024 17:28:18 +0800
Subject: [PATCH] 修复bug不让外部应用访问
---
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java | 526 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 287 insertions(+), 239 deletions(-)
diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
index e6c6868..47a4ea5 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/NFCWreatActivity.java
@@ -12,12 +12,16 @@
import com.dayu.baselibrary.utils.AidlUtil;
import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.DateUtil;
+import com.dayu.baselibrary.utils.DeviceUtils;
import com.dayu.baselibrary.utils.MornyUtil;
import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.baselibrary.utils.ToastUtil;
import com.dayu.baselibrary.view.ConfirmDialog;
import com.dayu.baselibrary.view.TitleBar;
-
import com.dayu.qiheonlinelibrary.QHOnLineApplication;
+import com.dayu.qiheonlinelibrary.bean.LoginResult;
+import com.dayu.qiheonlinelibrary.bean.OpenCardResult;
+import com.dayu.qiheonlinelibrary.bean.ReplaceCardResult;
import com.dayu.qiheonlinelibrary.card.CleanCard;
import com.dayu.qiheonlinelibrary.card.CleanUserCard;
import com.dayu.qiheonlinelibrary.card.ConfigurationPowerCard;
@@ -25,22 +29,30 @@
import com.dayu.qiheonlinelibrary.card.DomainCard;
import com.dayu.qiheonlinelibrary.card.ElectricPriceCard;
import com.dayu.qiheonlinelibrary.card.ManageCard;
+import com.dayu.qiheonlinelibrary.card.ManagerToUserCard;
import com.dayu.qiheonlinelibrary.card.PassWordCard;
import com.dayu.qiheonlinelibrary.card.RegionCard;
import com.dayu.qiheonlinelibrary.card.RegisteredCard;
import com.dayu.qiheonlinelibrary.card.TestCard;
import com.dayu.qiheonlinelibrary.card.UserCard;
import com.dayu.qiheonlinelibrary.databinding.ActivityWriteTextQhlBinding;
-import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean;
import com.dayu.qiheonlinelibrary.dbBean.RechargeBean;
import com.dayu.qiheonlinelibrary.dbBean.UserCardBean;
-import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper;
+import com.dayu.qiheonlinelibrary.net.ApiManager;
+import com.dayu.qiheonlinelibrary.net.BaseResponse;
+import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener;
import com.dayu.qiheonlinelibrary.tools.NfcReadHelper;
import com.dayu.qiheonlinelibrary.tools.WriteCardUtils;
import com.dayu.qiheonlinelibrary.utils.CardCommon;
+import com.dayu.qiheonlinelibrary.utils.NFCWreatUtils;
+import com.dayu.qiheonlinelibrary.utils.PrintUtils;
+import com.dayu.qiheonlinelibrary.view.ReplacementPriceDialog;
import com.tencent.bugly.crashreport.CrashReport;
import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
/**
* Copyright (C), 2023,
@@ -54,7 +66,6 @@
CleanUserCard cleanUserCard;
ManageCard manageCard;
DomainCard domainCard;
-
CleanCard cleanCard;
ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
TestCard testCard;
@@ -70,7 +81,6 @@
boolean passwordFlag = false;
boolean cleanFlag = false;
boolean regionFlag = false;
- boolean userFlag = false;
boolean manageCardFlag = false;
boolean registeredFlag = false;
boolean administrativeCardFlag = false;
@@ -78,23 +88,17 @@
boolean domainCrdFlag = false;
- boolean testCardFlag = false;
boolean configDeviceRegiestFlag = false;
boolean configPowerFlag = false;
UserCardBean userCardBean;
- UserCard olduserCard;
String morny;
- String rechageWater;//鍏呭�肩殑姘撮噺
String userName;
- AdminDataBean adminData;
RechargeBean rechargeBean;
Intent intent;
-
-
//鎵撳嵃
QHOnLineApplication baseApp;
@@ -112,6 +116,14 @@
//褰撳墠鍗$殑鐗╃悊鍗″彿
String cardNumber;
ConfirmDialog confirmDialog;
+ //鏃х殑鍗d
+ String iccardInfoId;
+ //琛ュ崱绫诲瀷
+ int replaceType;
+ //琛ュ崱宸ユ湰璐圭敤
+ String rechargeCardMoney;
+ ReplacementPriceDialog replacementPriceDialog;
+ ManagerToUserCard managerToUserCard;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -120,9 +132,9 @@
binding = ActivityWriteTextQhlBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
nfcWreatActivity = this;
- getData();
titleBack();
baseApp = QHOnLineApplication.getInstance();
+ getData();
} catch (Exception e) {
e.printStackTrace();
CrashReport.postCatchedException(e);
@@ -167,6 +179,9 @@
userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("dbUserCard");
isUser = true;
}
+ if (this.getIntent().hasExtra("userCardBean")) {
+ userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
+ }
if (this.getIntent().hasExtra("cleanUserCard")) {
cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
binding.cardData.setText("鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�");
@@ -196,18 +211,30 @@
isRecharge = true;
morny = this.getIntent().getStringExtra("morny");
userName = this.getIntent().getStringExtra("userName");
- cardNumber = this.getIntent().getStringExtra("cardNumber");
- userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
-// rechageWater = this.getIntent().getStringExtra("rechageWater");
- binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
+ rechargeBean = (RechargeBean) this.getIntent().getSerializableExtra("rechargeBean");
+ if (MornyUtil.changeY2F(rechargeBean.getDeductionMorny()) == 0) {
+ binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
+ } else {
+ int realityMorny = MornyUtil.changeY2F(morny) - MornyUtil.changeY2F(rechargeBean.getDeductionMorny());
+ binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + " 鍏僜n" + "琛ユ墸閲戦锛�" + rechargeBean.getDeductionMorny() + " 鍏僜n瀹為檯鍒拌处閲戦锛�" + MornyUtil.changeF2Y(realityMorny) + " 鍏�");
+ }
+ }
+ if (this.getIntent().hasExtra("iccardInfoId")) {
+ iccardInfoId = this.getIntent().getStringExtra("iccardInfoId");
+ //琛ュ崱绫诲瀷
+ replaceType = this.getIntent().getIntExtra("replaceType", 0);
+ replacementPriceDialog = new ReplacementPriceDialog(this, data -> {
+ if (TextUtils.isEmpty(data)) {
+ rechargeCardMoney = "0";
+ }
+ rechargeCardMoney = data;
+ binding.cardData.setText("琛ュ崱宸ユ湰璐癸細" + rechargeCardMoney + "鍏�");
+ replacementPriceDialog.dismiss();
+ });
+ replacementPriceDialog.show();
}
- try {
- adminData = baseDao.adminDao().findFirst();
- } catch (Exception e) {
- e.printStackTrace();
- CrashReport.postCatchedException(e);
- }
+
} catch (Exception e) {
e.printStackTrace();
CrashReport.postCatchedException(e);
@@ -225,8 +252,6 @@
String[] cardTypes = cardType.split(",");
if (cardTypes != null && cardTypes.length == 2) {
cardNumber = cardType.split(",")[0];
- cardNumber = HexUtil.spaceHex(cardNumber);
- cardNumber = HexUtil.HighLowHex(cardNumber);
cardType = cardType.split(",")[1];
}
Log.i("NFCWreatActivity", "cardType=" + cardType);
@@ -241,10 +266,12 @@
} else if (cardType.equals(BaseCommon.CARD_TYPE_ERROR2)) {
TipUtil.show(NFCWreatActivity.this, "鍗$墖鏈兘璇嗗埆锛岃妫�鏌ュ崱鐗囨槸鍚︽槸鏈叕鍙稿崱鐗�");
} else {
+ //璇诲崱鎴愬姛
Log.i("NFCWreatActivity", "olduserCard!=null saveData");
- userCardBean.setCardNumber(cardNumber);
- baseDao.userCardDao().insert(userCardBean);
- saveData();
+//
+ openCard(cardNumber, 1, userCardBean.getPersonId(), String.valueOf(userCardBean.getCardMorny()));
+
+
}
} catch (Exception e) {
e.printStackTrace();
@@ -262,53 +289,40 @@
|| domainCard != null || testCard != null
|| configureDeviceRegistrationCrad != null
|| configurationPowerCard != null || regionCard != null || passWordCard != null || electricPriceCard != null) {
- if (userCard != null && TextUtils.isEmpty(morny)) {
- userFlag = WriteCardUtils.setUser(intent, userCard, this);
- }
+
if (electricPriceCard != null) {
- setElectricPriceCard(intent, electricPriceCard);
+ electricPriceFlag = NFCWreatUtils.getInstance(this, baseDao).setElectricPriceCard(intent, electricPriceCard);
}
if (passWordCard != null) {
- setPassWordCard(intent, passWordCard);
+ passwordFlag = NFCWreatUtils.getInstance(this, baseDao).setPassWordCard(intent, passWordCard);
}
if (regionCard != null) {
- setRegionCard(intent, regionCard);
+ regionFlag = NFCWreatUtils.getInstance(this, baseDao).setRegionCard(intent, regionCard);
}
if (cleanCard != null) {
- setClean(intent, cleanCard);
+ cleanFlag = NFCWreatUtils.getInstance(this, baseDao).setClean(intent, cleanCard);
}
if (manageCard != null) {
- setmanageCard(intent, manageCard);
-// if (manageCardFlag && userCardBeanByManager != null) {
-// //淇敼鐢ㄦ埛琛ㄤ俊鎭慨鏀规垚鏂板崱鍗″彿
-// userCardBeanByManager.setCardNumber(cardNumber);
-// baseDao.userCardDao().update(userCardBeanByManager);
-// }
+ manageCardFlag = NFCWreatUtils.getInstance(this, baseDao).setmanageCard(intent, manageCard);
}
if (registeredCard != null) {
- setRegisteredCard(intent, registeredCard);
+ registeredFlag = NFCWreatUtils.getInstance(this, baseDao).setRegisteredCard(intent, registeredCard);
}
if (cleanUserCard != null) {
- setCleanUserCard(intent, cleanUserCard);
+ cleanUserCardFlag = NFCWreatUtils.getInstance(this, baseDao).setCleanUserCard(intent, cleanUserCard);
}
if (domainCard != null) {
- setDomainCard(intent, domainCard);
- }
- if (testCard != null) {
- setTestCard(intent, testCard);
+ domainCrdFlag = NFCWreatUtils.getInstance(this, baseDao).setDomainCard(intent, domainCard);
}
if (configureDeviceRegistrationCrad != null) {
- setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
+ configDeviceRegiestFlag = NFCWreatUtils.getInstance(this, baseDao).setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
}
if (configurationPowerCard != null) {
- setConfigurationPower(intent, configurationPowerCard);
+ configPowerFlag = NFCWreatUtils.getInstance(this, baseDao).setConfigurationPower(intent, configurationPowerCard);
}
- if (electricPriceFlag || passwordFlag || regionFlag || configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag) {
+ if (electricPriceFlag || passwordFlag || regionFlag || configPowerFlag || configDeviceRegiestFlag || domainCrdFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag) {
try {
- if (userFlag && userCardBean != null) {
- //鐢ㄦ埛鍗�
- startDetailActivity(userCardBean.getUserName(), "缁堢鍐欏崱");
- } else if (!TextUtils.isEmpty(morny)) {
+ if (!TextUtils.isEmpty(morny)) {
TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivity.this.finish());
} else {
TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", () -> NFCWreatActivity.this.finish());
@@ -340,14 +354,15 @@
super.onNewIntent(intent);
try {
this.intent = intent;
-// startAnim();
- Log.i("NFCWreatActivity", "isUser:" + isUser);
if (isUser) {
//鏂板崱娉ㄥ唽閫昏緫
checkHasUser();
} else if (isRecharge) {
//鍏呭�奸�昏緫
rechargeWreatCard();
+ } else if (!TextUtils.isEmpty(iccardInfoId)) {
+ //琛ュ崱閫昏緫
+ replaceCard();
} else {
//鍏朵粬绠$悊鍗¢�昏緫
saveData();
@@ -358,41 +373,6 @@
}
}
-
- /**
- * 鎵撳嵃鏈虹浉鍏充俊鎭�
- *
- * @param rechargeBean
- */
- private void setPrinterData(RechargeBean rechargeBean) {
- try {
- StringBuffer data = new StringBuffer();
- if (rechargeBean != null) {
- data.append("*****************************" + "\n");
- data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
- data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n");
- data.append("鍗� 鍙凤細" + rechargeBean.getCardNumber() + "\n");
- data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n");
- data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n");
-// data.append("鍏呭�兼按閲忥細" + rechargeBean.getRechargeWater() + " 鍚�" + "\n");
-// data.append("鍓╀綑姘撮噺锛�" + rechargeBean.getSurplusWater() + " 鍚�" + "\n");
- data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
- data.append("*****************************");
- }
- float size = 26;
-
- try {
- AidlUtil.getInstance().printText(data.toString(), size, true, false);
- AidlUtil.getInstance().print3Line();
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- CrashReport.postCatchedException(e);
- }
- }
void startAnim() {
binding.avi.show();
@@ -409,43 +389,11 @@
private void rechargeWreatCard() {
try {
String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber();
- cardNumberThis = HexUtil.spaceHex(cardNumberThis);
- cardNumberThis = HexUtil.HighLowHex(cardNumberThis);
//鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
- if (cardNumberThis.equalsIgnoreCase(cardNumber)) {
- //浣欓
- int balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
- userCard.setBalance(balance);
- //鍓╀綑姘撮噺
-// int surplusWater = userCard.getSurplusWater() + MornyUtil.changeY2F(rechageWater);
-// userCard.setSurplusWater(surplusWater);
-
- int rechageTims = userCard.getRechargeTimes() + 1;
- if (rechageTims == 256) {
- rechageTims = 0;
- }
- userCard.setRechargeTimes((short) rechageTims);
+ if (cardNumberThis.equalsIgnoreCase(rechargeBean.getCardNumber())) {
userCard.setRechargeDate(Calendar.getInstance());
- userFlag = WriteCardUtils.setUser(intent, userCard, this);
- if (userFlag) {
- rechargeBean = new RechargeBean();
- rechargeBean.setUserName(userName);
- rechargeBean.setSerial(userCardBean.getSerial());
- rechargeBean.setUserId(userCardBean.getUserID());
- rechargeBean.setDate(System.currentTimeMillis());
- rechargeBean.setMorny(morny);
- rechargeBean.setBalance(MornyUtil.changeF2Y(balance));
- rechargeBean.setCardNumber(cardNumber);
- rechargeBean.setSurplusWater(MornyUtil.changeF2Y(0));
- rechargeBean.setRechargeWater(rechageWater);
- try {
- baseDao.rechargeDao().insert(rechargeBean);
- } catch (Exception e) {
- e.printStackTrace();
- }
- // 鎵撳嵃鐩稿叧
- setPrinterData(rechargeBean);
- startDetailActivity(userName, "缁堢鍐欏崱");
+ if (WriteCardUtils.setUser(intent, userCard, this)) {
+ confromRecharge(rechargeBean.getOrderId(), 0);
} else {
TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
}
@@ -457,125 +405,16 @@
}
}
- private void setmanageCard(Intent intent, final ManageCard manageCard) {
- manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toByte(baseDao), 1, 0);
- }
-
- /**
- * 鍒朵綔娓呴浂鍗�
- *
- * @param intent
- * @param clearOrInitCard
- */
- private void setClean(Intent intent, CleanCard clearOrInitCard) {
- cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0);
- }
-
- /**
- * 淇濆瓨鍖哄煙琛ㄥ彿鍗�
- *
- * @param intent
- * @param regionCard
- */
- private void setRegionCard(Intent intent, RegionCard regionCard) {
- regionFlag = NFCWriteHelper.getInstence(intent, this).writeData(regionCard.toByte(), 1, 0);
- }
-
- /**
- * 瀵嗙爜鍗�
- *
- * @param intent
- * @param passWordCard
- */
- private void setPassWordCard(Intent intent, PassWordCard passWordCard) {
- passwordFlag = NFCWriteHelper.getInstence(intent, this).writeData(passWordCard.toByte(baseDao), 1, 0);
- }
-
- /**
- * 鐢ㄦ埛鐢甸噺鍗曚环
- *
- * @param intent
- * @param electricPriceCard
- */
- private void setElectricPriceCard(Intent intent, ElectricPriceCard electricPriceCard) {
- electricPriceFlag = NFCWriteHelper.getInstence(intent, this).writeData(electricPriceCard.toByte(baseDao), 1, 0);
- }
-
- /**
- * 閲嶆柊娉ㄥ唽璁惧鍗�
- *
- * @param intent
- * @param registeredCard
- */
- private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) {
- registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(baseDao), 1, 0);
- }
-
- /**
- * 鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�
- *
- * @param intent
- * @param cleanUserCard
- */
- private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
- cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(baseDao), 1, 0);
- }
-
- /**
- * 璁剧疆鍩熷悕鍗�
- *
- * @param intent
- * @param domainCard
- */
- private void setDomainCard(Intent intent, DomainCard domainCard) {
- try {
- domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getZeroByte(), 1, 0);
- if (!domainCrdFlag) {
- return;
- }
- domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getOneByte(), 1, 1);
- if (!domainCrdFlag) {
- return;
- }
- domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainCard.getTwoByte(), 1, 2);
- } catch (Exception e) {
- domainCrdFlag = false;
- throw new RuntimeException(e);
- }
- }
-
- private void setTestCard(Intent intent, TestCard testCard) {
- testCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(testCard.toByte(baseDao), 1, 0);
- }
-
-
- private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
- configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent, this).writeData(configureDeviceRegistrationCrad.toByte(baseDao), 1, 0);
- }
-
- private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
- try {
- configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(baseDao), 1, 0);
- } catch (Exception e) {
- configPowerFlag = false;
- throw new RuntimeException(e);
- }
- }
-
-
- private void startDetailActivity(String userName, String statu) {
+ private void startDetailActivity(String statu) {
Intent detail = new Intent(this, RechargeDetailActivity.class);
- detail.putExtra("userName", userName);
detail.putExtra("statu", statu);
detail.putExtra("userCard", userCard);
if (!TextUtils.isEmpty(morny)) {
- detail.putExtra("morny", morny);
- detail.putExtra("rechageWater", rechageWater);
- }
- if (!TextUtils.isEmpty(cardNumber)) {
- detail.putExtra("cardNumber", cardNumber);
- }
+ detail.putExtra("rechargeBean", rechargeBean);
+ } else {
+ detail.putExtra("userCardBean", userCardBean);
+ }
startActivity(detail);
if (NewCardActivity.newCardActivity != null) {
NewCardActivity.newCardActivity.finish();
@@ -630,4 +469,213 @@
}
});
}
+
+ /**
+ * IC寮�鍗℃帴鍙�
+ *
+ * @param iccardNum 鐗╃悊鍗″彿
+ * @param iccardType ic鍗$被鍨� 1 鐢ㄦ埛鍗� 2 绠$悊鍗�
+ * @param peasantId
+ * @param rechargeMoney
+ */
+ private void openCard(String iccardNum, int iccardType, String peasantId, String rechargeMoney) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("iccardNum", iccardNum);//鐗╃悊鍗″彿
+ data.put("iccardType", iccardType);
+ data.put("peasantId", peasantId);
+ data.put("adcd", QHOnLineApplication.getInstance().adcd);
+ //宸ユ湰璐�
+ data.put("rechargeCardMoney", rechargeMoney);
+ ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/openCard", OpenCardResult.class, data, new SubscriberListener<BaseResponse<OpenCardResult>>() {
+ @Override
+ public void onNext(BaseResponse<OpenCardResult> t) {
+ if (t.isSuccess()) {
+ String userCode = t.getData().getIccardCode();
+ userCard.setUserCode(userCode.substring(0, 12));
+ userCard.setUserCodeNumber(Integer.valueOf(userCode.substring(12, 16)));
+ userCardBean.setCardNumber(cardNumber);
+ userCardBean.setUserCode(userCode);
+ if (WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this)) {
+ confromOpenCard(t.getData().getIccardRechargeRecordId(), 0);
+ } else {
+ confromOpenCard(t.getData().getIccardRechargeRecordId(), 2);
+ }
+ } else {
+ TipUtil.show(t.getMsg());
+ }
+ }
+ });
+
+ }
+
+ /**
+ * 纭寮�鍗″啓鍗�
+ *
+ * @param iccardRechargeRecordId
+ * @param writeCardStatus
+ */
+ private void confromOpenCard(String iccardRechargeRecordId, int writeCardStatus) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("iccardRechargeRecordId", iccardRechargeRecordId);
+ //鍐欏崱鐘舵�� 0 鍐欏崱鎴愬姛 1 寰呭啓鍗� 2 鍐欏崱澶辫触
+ data.put("writeCardStatus", writeCardStatus);
+
+
+ ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/openCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+ @Override
+ public void onNext(BaseResponse<LoginResult> t) {
+ if (t.isSuccess()) {
+ //{"code":"0","msg":"鎿嶄綔鎴愬姛","data":{"chargeMethod":"","iccardCancelTime":"","lastRechargeTime":"2024-08-05 17:04:15","thisSaleMoney":"","totalRechargeWaterAmount":0.00,"iccardBalanceAmonunt":0.00,"iccardInfoId":"1820385315354320898","iccardProtocolName":"","totalRechargeElectricAmount":0.00,"logicState":1,"username":"","state":1,"familySize":"","yearRechargeMoney":0.00,"thisSaleAmount":"","onlyRechargeMoney":"","identityCard":"","iccardBrand":"","iccardBalanceMoney":0.00,"openOperatorUsername":"","adName":"","rechargeWaterAmount":"","openOperatorUserId":"1816297106145103873","lastSwipeTime":"","address":"","yearCompensateMoney":0.00,"iccardProtocolOpenMoney":"","peasantId":"1820374742679953410","reissueTimes":0,"iccardProtocolReissueMoney":"","iccardProtocolId":"","yearRechargeWaterAmount":0.00,"iccardBalanceElectric":0.00,"iccardStatus":0,"phone":"","lastRechargeMoney":0.00,"iccardOpenTime":"","yearRechargeElectricAmount":0.00,"reissueRechargeRecordId":"","iccardPrice":1.50,"iccardNum":"3714251023011","accountType":0,"equipCode":"","rechargeWaterMoney":"","totalRechargeMoney":0.00,"executeWaterPrice":"","iccardType":1,"iccardCode":"BADA4044"}}
+ if (writeCardStatus == 0) {
+ baseDao.userCardDao().insert(userCardBean);
+ startDetailActivity("缁堢鍐欏崱");
+ } else {
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触璇烽噸鏂拌创鍗★紒");
+ }
+ }
+ }
+ });
+
+ }
+
+ /**
+ * 纭鍏呭�煎洖璋�
+ *
+ * @param iccardRechargeRecordId
+ * @param writeCardStatus
+ */
+ private void confromRecharge(String iccardRechargeRecordId, int writeCardStatus) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("iccardRechargeRecordId", iccardRechargeRecordId);
+ //鍐欏崱鐘舵�� 0 鍐欏崱鎴愬姛 1 寰呭啓鍗� 2 鍐欏崱澶辫触
+ data.put("writeCardStatus", writeCardStatus);
+ data.put("writeCardStatus", writeCardStatus);
+
+ ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/rechargeCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+ @Override
+ public void onNext(BaseResponse<LoginResult> t) {
+ if (t.isSuccess()) {
+ if (writeCardStatus == 0) {
+ try {
+ baseDao.rechargeDao().insert(rechargeBean);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ // 鎵撳嵃鐩稿叧
+ PrintUtils.printerData(rechargeBean);
+ startDetailActivity("缁堢鍐欏崱");
+ } else {
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触璇烽噸鏂拌创鍗★紒");
+ }
+ } else {
+ ToastUtil.show(t.getMsg());
+ }
+ }
+ });
+ }
+
+ /**
+ * 琛ュ崱閫昏緫
+ */
+ private void replaceCard() {
+ cardNumber = NfcReadHelper.getInstence(intent, this).getCardNumber();
+ if (replaceType == BaseCommon.REPLACE_NO_CARD) {
+ replaceCardPost("", "");
+ } else if (replaceType == BaseCommon.REPLACE_HAS_CARD) {
+ managerToUserCard = NfcReadHelper.getInstence(intent, NFCWreatActivity.this).getManagerToUserCardData();
+ //鍒ゆ柇鏄惁宸茬粡鍦ㄦ帶鍒跺櫒绔埛鍗�
+ if (managerToUserCard.getCardWriteState() == 1) {
+ replaceCardPost(MornyUtil.changeF2Y(managerToUserCard.getBalance()), MornyUtil.changeF2Y(managerToUserCard.getSurplusElecticity()));
+ } else {
+ TipUtil.show("璇峰湪鎺у埗鍣ㄧ鍒峰崱");
+ }
+ }
+ }
+
+ /**
+ * 琛ュ崱
+ */
+ private void replaceCardPost(String iccardBalanceMoney, String iccardBalanceElectric) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("equipCode", DeviceUtils.getSN());
+ //鍏呭�煎崱璐�
+ data.put("rechargeCardMoney", rechargeCardMoney);
+ // 鏃у崱鐨刬d
+ data.put("iccardInfoId", iccardInfoId);
+ //鏂板崱鐨勭墿鐞嗗崱鍙�
+ data.put("iccardNum", cardNumber);
+ if (!TextUtils.isEmpty(iccardBalanceMoney)) {
+ //鍗″唴鍓╀綑閲戦
+ data.put("iccardBalanceMoney", iccardBalanceMoney);
+ }
+ if (!TextUtils.isEmpty(iccardBalanceElectric)) {
+ //鍗″唴鍓╀綑鐢甸噺
+ data.put("iccardBalanceElectric", iccardBalanceElectric);
+ }
+ ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/reissueOpenCard", ReplaceCardResult.class, data, new SubscriberListener<BaseResponse<ReplaceCardResult>>() {
+ @Override
+ public void onNext(BaseResponse<ReplaceCardResult> t) {
+ if (t.isSuccess()) {
+ ReplaceCardResult replaceCardResult = t.getData();
+ userCard = new UserCard();
+ userCard.setArerNumber(Integer.valueOf(QHOnLineApplication.getInstance().arerNumber));
+ String userCode = t.getData().getIccardCode();
+ userCard.setUserCode(userCode.substring(0, 12));
+ userCard.setUserCodeNumber(Integer.valueOf(userCode.substring(12, 16)));
+ userCard.setCardWriteState(0);
+ userCard.setCardState(1);
+ userCard.setBalance(MornyUtil.changeY2F(replaceCardResult.getIccardBalanceMoney()));
+ userCard.setSurplusElecticity(MornyUtil.changeY2F(replaceCardResult.getIccardBalanceElectric()));
+ userCard.setTotalMorny(MornyUtil.changeY2F(replaceCardResult.getTotalRechargeMoney()));
+ userCard.setRechargeDate(Calendar.getInstance());
+ userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr));
+ if (WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this)) {
+ userCardBean.setCardNumber(cardNumber);
+ userCardBean.setUserCode(userCode);
+ userCardBean.setDate(System.currentTimeMillis());
+ baseDao.userCardDao().insert(userCardBean);
+ confromReplaceCard(replaceCardResult.getIccardRechargeRecordId(), 0);
+ } else {
+ TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶈瘯");
+ }
+ // 鎵撳嵃鐩稿叧
+// setPrinterData(rechargeBean);
+// startDetailActivity(rechargeBean.getUserName(), "缁堢鍐欏崱");
+ } else {
+ ToastUtil.show(t.getMsg());
+ }
+ }
+ });
+ }
+
+ /**
+ * 纭琛ュ崱鍐欏崱鎴愬姛
+ *
+ * @param iccardRechargeRecordId
+ * @param writeCardStatus
+ */
+ private void confromReplaceCard(String iccardRechargeRecordId, int writeCardStatus) {
+ Map<String, Object> data = new HashMap<>();
+ data.put("equipCode", DeviceUtils.getSN());
+ data.put("iccardRechargeRecordId", iccardRechargeRecordId);
+ //鍐欏崱鐘舵�� 0 鍐欏崱鎴愬姛 1 寰呭啓鍗� 2 鍐欏崱澶辫触
+ data.put("writeCardStatus", writeCardStatus);
+
+ ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/reissueOpenCardResult", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+ @Override
+ public void onNext(BaseResponse<LoginResult> t) {
+ if (t.isSuccess()) {
+ TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛锛�", () -> {
+ if (UserSearchActivity.userSearchActivity != null) {
+ UserSearchActivity.userSearchActivity.finish();
+ UserSearchActivity.userSearchActivity = null;
+ }
+ NFCWreatActivity.this.finish();
+ });
+ }
+ }
+ });
+ }
+
+
}
\ No newline at end of file
--
Gitblit v1.8.0