From 844597b5813ff8589de503cd7d7b1bbd0586d287 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 13 五月 2024 19:38:03 +0800 Subject: [PATCH] 1.添加水量单价 2.修复发现的bug --- qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 251 insertions(+), 0 deletions(-) diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java new file mode 100644 index 0000000..6a0e5c3 --- /dev/null +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java @@ -0,0 +1,251 @@ +package com.dayu.qihealonelibrary.activity; + +import android.content.Intent; +import android.os.Bundle; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.EditText; + +import com.dayu.baselibrary.utils.MornyUtil; +import com.dayu.baselibrary.utils.TipUtil; +import com.dayu.qihealonelibrary.card.UserCard; +import com.dayu.qihealonelibrary.databinding.ActivityRechargeQhaBinding; +import com.dayu.qihealonelibrary.dbBean.AdminDataBean; +import com.dayu.qihealonelibrary.dbBean.UserCardBean; +import com.dayu.qihealonelibrary.tools.NfcReadHelper; +import com.dayu.qihealonelibrary.utils.CardCommon; +import com.dayu.qihealonelibrary.utils.DeviceNumberUtils; +import com.dayu.qihealonelibrary.view.ProgressDialog; +import com.tencent.bugly.crashreport.CrashReport; + +import java.util.Calendar; +import java.util.List; + + +/** + * Copyright (C), 2023, + * Author: zuo + * Date: 2023-11-5 09:52 + * Description: 鍏呭�肩晫闈� + */ +public class RechargeActivity extends BaseNfcActivity { + + Intent intent; + + ActivityRechargeQhaBinding binding; + public static RechargeActivity rechargeActivity; + + AdminDataBean adminData; + String userName; + String cardNumber = null; + UserCardBean userCardBean; + int waterPrice; + String rechageWater;//鍏呭�肩殑姘撮噺 + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + try { + binding = ActivityRechargeQhaBinding.inflate(LayoutInflater.from(this)); + setContentView(binding.getRoot()); + setPricePoint(binding.rechargeWater); + rechargeActivity = this; + waterPrice = baseDao.adminDao().findFirst().getWaterPrice(); + initView(); + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + } + } + + public void onNewIntent(Intent intent) { + this.intent = intent; + try { + readAllData(); + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + } + super.onNewIntent(intent); + } + + + private void readAllData() { + String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber(); + + String[] cardTypes = cardType.split(","); + if (cardTypes != null && cardTypes.length == 2) { + cardNumber = cardType.split(",")[0]; + cardType = cardType.split(",")[1]; + } + List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData(); + + if (!data.isEmpty()) { + if (!TextUtils.isEmpty(cardNumber)) { + setUserData(cardType, cardNumber, data); + } else { + TipUtil.show(this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱"); + } + } else { + TipUtil.show(this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒"); + } + } + + + private void setUserData(String cardType, String cardNumber, List<byte[]> data) { + + + String state = ""; + if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) { + state = "缁堢鍐欏崱"; + binding.rechargeTextLL.setVisibility(View.VISIBLE); + binding.rechargeRegistBtn.setVisibility(View.VISIBLE); + } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) { + state = "鍒峰崱寮�娉靛悗,褰撳墠鐘舵�佷笉鑳藉厖鍊�"; + binding.rechargeLL.setVisibility(View.GONE); + binding.rechargeRegistBtn.setVisibility(View.GONE); + } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) { + state = "鍙犲姞鍏呭��"; + binding.rechargeLL.setVisibility(View.GONE); + binding.rechargeRegistBtn.setVisibility(View.GONE); + } else { + TipUtil.show(this, "闈炵敤鎴峰崱锛屼笉鑳藉厖鍊�"); + return; + } + userCard = UserCard.getBean(data); + List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber); + AdminDataBean adminDataBean = baseDao.adminDao().findFirst(); + + + 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.userName.setText(userName); + binding.redStatu.setText(state); + 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()) + " 鍏�"); + } + + } else { + TipUtil.show(this, "涓嶆槸鏈尯鍩熷崱"); + } + + + } + + + private void initView() { + try { + adminData = baseDao.adminDao().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); + } else { + TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級"); + } + }); + } + + + //鏍¢獙閲戦 + public void setPricePoint(final EditText editText) { + editText.addTextChangedListener(new TextWatcher() { + @Override + public void onTextChanged(CharSequence s, int start, int before, + int count) { + if (s.toString().contains(".")) { + if (s.length() - 1 - s.toString().indexOf(".") > 2) { + s = s.toString().subSequence(0, + s.toString().indexOf(".") + 3); + editText.setText(s); + editText.setSelection(s.length()); + } + } + if (s.toString().trim().substring(0).equals(".")) { + s = "0" + s; + editText.setText(s); + editText.setSelection(2); + } + + if (s.toString().startsWith("0") + && s.toString().trim().length() > 1) { + if (!s.toString().substring(1, 2).equals(".")) { + editText.setText(s.subSequence(0, 1)); + editText.setSelection(1); + } + } + String morny = editText.getText().toString(); + if (!TextUtils.isEmpty(morny)) { + rechageWater = MornyUtil.intDiv(MornyUtil.changeY2F(editText.getText().toString()), waterPrice); + binding.redRechargeWater.setText("鍏呭�兼按閲忥細" + rechageWater + " 绔嬫柟绫�(鍚�)"); + } + + + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, + int after) { + + } + + @Override + public void afterTextChanged(Editable s) { + // TODO Auto-generated method stub + + } + + }); + + } + + + protected void onDestroy() { + super.onDestroy(); + rechargeActivity = null; + } +} -- Gitblit v1.8.0