From 7cfa7455b345faa55f2d11ff21b1e6b9e678a5a2 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 16 八月 2024 15:51:16 +0800 Subject: [PATCH] 界面添加图标 --- qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java | 290 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 201 insertions(+), 89 deletions(-) diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java index b95f18c..cf6f23f 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/activity/RechargeActivity.java @@ -1,6 +1,7 @@ package com.dayu.qiheonlinelibrary.activity; import android.annotation.SuppressLint; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.text.Editable; @@ -11,22 +12,37 @@ import android.widget.EditText; import com.dayu.baselibrary.tools.HexUtil; +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.TipDialog; +import com.dayu.qiheonlinelibrary.QHOnLineApplication; import com.dayu.qiheonlinelibrary.R; +import com.dayu.qiheonlinelibrary.bean.CardInfoResult; +import com.dayu.qiheonlinelibrary.bean.RechargeResult; import com.dayu.qiheonlinelibrary.card.UserCard; import com.dayu.qiheonlinelibrary.databinding.ActivityRechargeQhlBinding; import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean; import com.dayu.qiheonlinelibrary.dbBean.ElectricPriceBean; +import com.dayu.qiheonlinelibrary.dbBean.RechargeBean; import com.dayu.qiheonlinelibrary.dbBean.UserCardBean; +import com.dayu.qiheonlinelibrary.net.ApiManager; +import com.dayu.qiheonlinelibrary.net.BaseResponse; +import com.dayu.qiheonlinelibrary.net.RSAUtile; +import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener; import com.dayu.qiheonlinelibrary.tools.NfcReadHelper; import com.dayu.qiheonlinelibrary.utils.CardCommon; import com.tencent.bugly.crashreport.CrashReport; +import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -42,13 +58,17 @@ ActivityRechargeQhlBinding binding; public static RechargeActivity rechargeActivity; - AdminDataBean adminData; - String userName; - String cardNumber = null; - UserCardBean userCardBean; - int waterPrice; + + String cardNumber = null;//瀹炰綋鍗″彿 + RechargeBean rechargeBean; + String rechageWater;//鍏呭�肩殑姘撮噺 - ElectricPriceBean priceBean; + + String cardType;//鍗$姸鎬� + + CardInfoResult cardInfoResult; + + UserCard mOldUserCard; @Override protected void onCreate(Bundle savedInstanceState) { @@ -58,7 +78,6 @@ setContentView(binding.getRoot()); setPricePoint(binding.rechargeWater); rechargeActivity = this; - waterPrice = baseDao.adminDao().findFirst().getWaterPrice(); initView(); } catch (Exception e) { e.printStackTrace(); @@ -79,98 +98,51 @@ private void readAllData() { - String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber(); + cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber(); 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]; } - List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData(); + //鑾峰彇鍗″唴淇℃伅 + mOldUserCard = NfcReadHelper.getInstence(intent, this).getUserCardData(); + getUserInfoAndCardInfo(cardNumber); - if (!data.isEmpty()) { - if (!TextUtils.isEmpty(cardNumber)) { - setUserData(cardType, cardNumber, data); - if(priceBean!=null){ - binding.redRechargeElectric.setText("鐢甸噺鍗曚环锛�"+priceBean.getPrice()+"鍏�/搴�"); - } - } else { - TipUtil.show(this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱"); - } - } else { - TipUtil.show(this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); - } } - @SuppressLint("ResourceAsColor") - private void setUserData(String cardType, String cardNumber, List<byte[]> data) { - - - String state = ""; + private void setUserData(String cardNumber, String userName, String lastRechargeTime, List<byte[]> data) { if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) { - state = "缁堢鍐欏崱"; + setCardState("缁堢鍐欏崱"); binding.rechargeLL.setVisibility(View.VISIBLE); binding.rechargeRegistBtn.setVisibility(View.VISIBLE); - binding.redStatu.setTextColor(R.color.black); + binding.redStatu.setTextColor(this.getResources().getColor(R.color.black)); } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) { - state = "鏈埛鍗″叧娉�,褰撳墠涓嶅彲鍏呭��"; - binding.rechargeLL.setVisibility(View.GONE); - binding.rechargeRegistBtn.setVisibility(View.GONE); - binding.redStatu.setTextColor(com.dayu.baselibrary.R.color.red); + setCardState("鏈埛鍗″叧娉�,褰撳墠涓嶅彲鍏呭��"); + TipUtil.show(RechargeActivity.this, "鏈埛鍗″叧娉�,褰撳墠涓嶅彲鍏呭��"); } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) { - state = "鍙犲姞鍏呭��"; - binding.rechargeLL.setVisibility(View.GONE); - binding.rechargeRegistBtn.setVisibility(View.GONE); + setCardState("鍙犲姞鍏呭��"); } else { TipUtil.show(this, "闈炵敤鎴峰崱锛屼笉鑳藉厖鍊�"); return; } - userCard = UserCard.getBean(data); - List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber); - AdminDataBean adminDataBean = baseDao.adminDao().findFirst(); + if (Integer.valueOf(QHOnLineApplication.getInstance().arerNumber) == userCard.getArerNumber()) { - if (Integer.valueOf(adminDataBean.getAddressCode()) == userCard.getArerNumber()) { - if (!userCardBeans.isEmpty()) { - userCardBean = userCardBeans.get(0); - this.userName = userCardBean.getUserName(); - } else { - userCardBean = new UserCardBean(); - userCardBean.setCardNumber(cardNumber); - userCardBean.setUserName("鏈煡鐢ㄦ埛"); - userCardBean.setPhone("鏈煡"); - userCardBean.setUserID("鏈煡"); - userCardBean.setAddressCode(String.valueOf(userCard.getArerNumber())); - userCardBean.setSerial(String.valueOf(userCard.getArerNumber())); - this.userName = "鏈煡鐢ㄦ埛"; - } binding.rechargeReadLL.setVisibility(View.GONE); binding.rechargeTextLL.setVisibility(View.VISIBLE); binding.userName.setText(userName); - binding.redStatu.setText(state); + binding.redInitCode.setText(cardNumber); + binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細\n\n" + lastRechargeTime); + binding.redUserCode.setText(cardInfoResult.getIccardCode()); if (userCard != null) { - 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); - binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�"); - } else { - binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�"); - } - binding.redInitCode.setText(cardNumber); -// binding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + " 娆�"); -// binding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + MornyUtil.changeF2Y(userCard.getTotalWater()) + " 鍚�"); -// binding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + MornyUtil.changeF2Y(userCard.getTotalElectric()) + " 搴�"); binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + " 鍏�"); - binding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + MornyUtil.changeF2Y(userCard.getSurplusWater()) + " 鍚�"); -// binding.redWaterPrice.setText("姣忕珛鏂圭背姘翠环鏍硷細" + MornyUtil.changeF2Y(adminData.getWaterPrice()) + " 鍏�"); + binding.redBalanceElectric.setText("鍏呭�煎悗鍓╀綑鐢甸噺锛�" + MornyUtil.changeF2Y(userCard.getSurplusElecticity()) + " 搴�"); } + binding.redRechargeElectric.setText("鐢甸噺鍗曚环锛�" + QHOnLineApplication.getInstance().electriclePriceStr + "鍏�/搴�"); } else { TipUtil.show(this, "闈炴湰鍖哄煙鍗n涓嶈兘鍏呭�硷紒锛侊紒"); @@ -179,29 +151,13 @@ } - private void initView() { - try { - adminData = baseDao.adminDao().findFirst(); - priceBean = baseDao.electricPriceDao().findFirst(); - } catch (Exception e) { - e.printStackTrace(); - CrashReport.postCatchedException(e); - } binding.rechargeRegistBtn.setOnClickListener(v -> { String morny = binding.rechargeWater.getText().toString(); if (!TextUtils.isEmpty(morny)) { - Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); - //褰撳墠閲戦鍗曚綅涓哄厓 - intent.putExtra("morny", morny); - intent.putExtra("userName", userName); - intent.putExtra("cardNumber", cardNumber); - intent.putExtra("userCard", userCard); - intent.putExtra("userCardBean", userCardBean); -// intent.putExtra("rechageWater", rechageWater); - startActivity(intent); + rechaege(morny); } else { - TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級"); + TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰�"); } }); } @@ -236,7 +192,7 @@ } String morny = editText.getText().toString(); if (!TextUtils.isEmpty(morny)) { - rechageWater = MornyUtil.intDiv(MornyUtil.changeY2F(editText.getText().toString()), waterPrice); +// rechageWater = MornyUtil.intDiv(MornyUtil.changeY2F(editText.getText().toString()), waterPrice); // binding.redRechargeWater.setText("鍏呭�兼按閲忥細" + rechageWater + " 绔嬫柟绫�(鍚�)"); } @@ -264,4 +220,160 @@ super.onDestroy(); rechargeActivity = null; } + + + private void startNfcActivity(String morny, String balance, float rechargeElectric, float iccardBalanceElectric, float totalMorny, String iccardRechargeRecordId) { + //鍏堝鐞嗚ˉ鎵� + //鍏呭�艰ˉ鎵i噾棰�=鍏呭�奸噾棰�+鍏呭�煎墠璇诲彇鐨勫崱鍐呬綑棰�-鍏呭�煎洖璋冭繑鍥炲崱鍐呬綑棰� + int deductionMorny = MornyUtil.changeY2F(morny) + mOldUserCard.getBalance() - MornyUtil.changeY2F(balance); + + if (MornyUtil.changeY2F(morny) < deductionMorny) { + TipUtil.show(RechargeActivity.this, "褰撳墠鍏呭�奸噾棰濆皬浜庤ˉ鎵i噾棰濓紝琛ユ墸閲戦涓�" + MornyUtil.changeF2Y(deductionMorny) + "鍏冿紝鍏呭�奸噾棰濆簲澶т簬琛ユ墸閲戦锛�"); + return; + } + + //娣诲姞鍏呭�间俊鎭� + rechargeBean = new RechargeBean(); + rechargeBean.setCardNumber(cardNumber); + rechargeBean.setUserCode(userCard.getUserCode() + userCard.getUserCodeNumber()); + rechargeBean.setUserName(cardInfoResult.getPeasantName()); + rechargeBean.setPersonId(cardInfoResult.getPeasantId()); + rechargeBean.setSerial(DeviceUtils.getSN()); + rechargeBean.setArerNumber(QHOnLineApplication.getInstance().arerNumber); + rechargeBean.setMorny(morny); + rechargeBean.setBalance(balance); + rechargeBean.setRechargeElectric(String.valueOf(rechargeElectric)); + rechargeBean.setPrice(QHOnLineApplication.getInstance().electriclePriceStr); + rechargeBean.setSurplusElectic(String.valueOf(iccardBalanceElectric)); + long time = System.currentTimeMillis(); + rechargeBean.setRechargeDate(time); + rechargeBean.setUserId(""); + rechargeBean.setTotalMorny(String.valueOf(totalMorny)); + rechargeBean.setState(1); + rechargeBean.setOrderId(iccardRechargeRecordId); + rechargeBean.setDeductionMorny(MornyUtil.changeF2Y(deductionMorny)); + rechargeBean.setAdminId(QHOnLineApplication.getInstance().adminId); + + + userCard.setCardWriteState(0); + userCard.setCardState(1); + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(time); + userCard.setBalance(MornyUtil.changeY2F(String.valueOf(balance))); + userCard.setSurplusElecticity(MornyUtil.changeY2F(String.valueOf(iccardBalanceElectric))); + userCard.setTotalMorny(MornyUtil.changeY2F(String.valueOf(totalMorny))); + userCard.setRechargeDate(calendar); + userCard.setElectricPrice(Float.valueOf(QHOnLineApplication.getInstance().electriclePriceStr)); + if (deductionMorny == 0) { + Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); + intent.putExtra("morny", morny); + intent.putExtra("userCard", userCard); + intent.putExtra("rechargeBean", rechargeBean); + startActivity(intent); + } else { + TipUtil.show(RechargeActivity.this, "鎸傚け鍗″悗鏈夎ˉ浜ら噾棰濓紒琛ヤ氦閲戦涓猴細" + MornyUtil.changeF2Y(deductionMorny) + "鍏冿紝璇︽儏鍙湪骞冲彴鏌ヨ銆�", new TipUtil.TipListener() { + @Override + public void onCancle() { + Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); + intent.putExtra("morny", morny); + intent.putExtra("userCard", userCard); + intent.putExtra("rechargeBean", rechargeBean); + startActivity(intent); + } + }); + } + + } + + + /** + * IC鍗″厖鍊� + * + * @param morny + */ + public void rechaege(String morny) { + Map<String, Object> data = new HashMap<>(); + //缁堢璁惧鍙� + data.put("equipCode", DeviceUtils.getSN()); + //ic鍗′俊鎭痠d + data.put("iccardNum", cardNumber); + //浜ゆ槗姘磋垂閲戦锛堝厓锛� + data.put("rechargeWaterMoney", morny); + //鍗″唴鍓╀綑閲戦锛堝厓锛� + data.put("iccardBalanceMoney", MornyUtil.changeF2Y(userCard.getBalance())); + //鍗″唴鍓╀綑姘撮噺锛坢鲁锛� + data.put("iccardBalanceAmonunt", "0"); + //鍗″唴鍓╀綑鐢甸噺 + data.put("iccardBalanceElectric", MornyUtil.changeF2Y(userCard.getSurplusElecticity())); + ApiManager.getInstance().requestPostLoading(this, "iccard/recharge/rechargeCard", RechargeResult.class, data, new SubscriberListener<BaseResponse<RechargeResult>>() { + @Override + public void onNext(BaseResponse<RechargeResult> t) { + if (t.isSuccess()) { + if (t.getData() != null) { + RechargeResult rechargeResult = t.getData(); + startNfcActivity(morny, rechargeResult.getIccardBalanceMoney(), rechargeResult.getRechargeElectricAmount(), rechargeResult.getIccardBalanceElectric(), rechargeResult.getTotalRechargeMoney(), rechargeResult.getIccardRechargeRecordId()); + } else { + TipUtil.show(RechargeActivity.this, "鍏呭�煎け璐ヨ閲嶈瘯锛�"); + } + } else { + TipUtil.show(RechargeActivity.this, t.getMsg()); + } + } + }); + } + + + /** + * 鑾峰彇鍗′俊鎭拰鐢ㄦ埛淇℃伅 + * + * @param iccardCode + */ + public void getUserInfoAndCardInfo(String iccardCode) { + Map<String, Object> data = new HashMap<>(); + //ic鍗′俊鎭痠d + data.put("iccardNum", iccardCode); + ApiManager.getInstance().requestPostLoading(this, "iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() { + @Override + public void onNext(BaseResponse<CardInfoResult> t) { + String state = ""; + if (t.isSuccess()) { + if (t.getData() != null) { + //ic鍗$姸鎬� 0 姝e父 1 宸叉敞閿� 2 宸叉寕澶� + if (t.getData().getIccardStatus() == 0) { + List<byte[]> data = NfcReadHelper.getInstence(intent, RechargeActivity.this).getOnesectorData(); + if (!data.isEmpty()) { + if (!TextUtils.isEmpty(cardNumber)) { + cardInfoResult = t.getData(); + setUserData(cardNumber, cardInfoResult.getPeasantName(), cardInfoResult.getLastRechargeTime(), data); + } else { + TipUtil.show(RechargeActivity.this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱"); + } + } else { + TipUtil.show(RechargeActivity.this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); + } + } else if (t.getData().getIccardStatus() == 1) { + TipUtil.show(RechargeActivity.this, "褰撳墠鍗″凡娉ㄩ攢"); + } else { + TipUtil.show(RechargeActivity.this, "褰撳墠鍗″凡鎸傚け"); + } + } else { + TipUtil.show(RechargeActivity.this, "褰撳墠鍗$墖閿欒锛屾湭鑳芥煡鍒拌鍗′俊鎭紒"); + } + + } else { + TipUtil.show(RechargeActivity.this, t.getMsg()); + } + } + }); + } + + + private void setCardState(String state) { + binding.rechargeLL.setVisibility(View.GONE); + binding.rechargeRegistBtn.setVisibility(View.GONE); + binding.redStatu.setTextColor(RechargeActivity.this.getResources().getColor(com.dayu.baselibrary.R.color.red)); + binding.redStatu.setText(state); + } + + } -- Gitblit v1.8.0