|  |  |  | 
|---|
|  |  |  | import android.content.Intent; | 
|---|
|  |  |  | import android.nfc.NfcAdapter; | 
|---|
|  |  |  | import android.os.Bundle; | 
|---|
|  |  |  | import android.text.TextUtils; | 
|---|
|  |  |  | import android.view.LayoutInflater; | 
|---|
|  |  |  | import android.view.View; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dayu.baselibrary.tools.HexUtil; | 
|---|
|  |  |  | import com.dayu.baselibrary.utils.MornyUtil; | 
|---|
|  |  |  | import com.dayu.baselibrary.utils.TipUtil; | 
|---|
|  |  |  | import com.dayu.baselibrary.view.ConfirmDialog; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.BlackCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.ConfigurationPowerCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.DomainCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.ElectricPriceCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.ManageCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.ManagerToUserCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.RegionCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.card.UserCard; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.databinding.ActivityRedCardBinding; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.databinding.ActivityRedCardQhaBinding; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.dbBean.AdminDataBean; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.dbBean.UserCardBean; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.tools.NFCWriteHelper; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.tools.NfcReadHelper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.utils.MyCommon; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.utils.CardCommon; | 
|---|
|  |  |  | import com.dayu.qihealonelibrary.view.ProgressDialog; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Calendar; | 
|---|
|  |  |  | 
|---|
|  |  |  | * Date: 2023-11-10 19:52 | 
|---|
|  |  |  | * Description: 读卡界面 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class ReadCardAcitivy extends BaseNfcActivity { | 
|---|
|  |  |  | public class ReadCardAcitivy extends QHAloneBaseNfcActivity { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | volatile UserCard userCard; | 
|---|
|  |  |  | ActivityRedCardBinding redCardBinding; | 
|---|
|  |  |  | ActivityRedCardQhaBinding redCardBinding; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Intent intent; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ConfirmDialog confirmDialog; | 
|---|
|  |  |  | AdminDataBean adminData; | 
|---|
|  |  |  | String cardNumber; | 
|---|
|  |  |  | String userCardStr; | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected void onCreate(Bundle savedInstanceState) { | 
|---|
|  |  |  | super.onCreate(savedInstanceState); | 
|---|
|  |  |  | redCardBinding = ActivityRedCardBinding.inflate(LayoutInflater.from(this)); | 
|---|
|  |  |  | redCardBinding = ActivityRedCardQhaBinding.inflate(LayoutInflater.from(this)); | 
|---|
|  |  |  | setContentView(redCardBinding.getRoot()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void setUserData(String userName, int blance, String statu) { | 
|---|
|  |  |  | private void setUserData(String userName, String statu, String cardNumber) { | 
|---|
|  |  |  | viweGone(true); | 
|---|
|  |  |  | redCardBinding.redName.setText("用户姓名:" + userName); | 
|---|
|  |  |  | redCardBinding.redRemainderBlance.setText("剩余金额:" + MornyUtil.changeF2Y(blance) + "元"); | 
|---|
|  |  |  | redCardBinding.redStatu.setText("卡状态:" + statu); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | int hour = calendar.get(Calendar.HOUR_OF_DAY); | 
|---|
|  |  |  | int minute = calendar.get(Calendar.MINUTE); | 
|---|
|  |  |  | int second = calendar.get(Calendar.SECOND); | 
|---|
|  |  |  | redCardBinding.redRechargeDate.setText("本卡最后购水日期:" + year + month + day + " " + hour + ":" + minute + ":" + second); | 
|---|
|  |  |  | redCardBinding.redRechargeDate.setText("本卡最后购水日期:" + year + "年" + month + "月" + day + "日"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | redCardBinding.redRechargeDate.setText("本卡最后购水日期:无"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | redCardBinding.redRechargeNumber.setText("本卡充值次数:" + userCard.getRechargeTimes() + ""); | 
|---|
|  |  |  | redCardBinding.redInitCode.setText(cardNumber); | 
|---|
|  |  |  | redCardBinding.redRechargeNumber.setText("本卡充值次数:" + userCard.getRechargeTimes() + " 次"); | 
|---|
|  |  |  | //            redCardBinding.redTotalWater.setText("总用水量:" + MornyUtil.changeF2Y(userCard.getTotalWater()) + " 吨"); | 
|---|
|  |  |  | //            redCardBinding.redTotalPower.setText("总用电量:" + MornyUtil.changeF2Y(userCard.getTotalElectric()) + " 度"); | 
|---|
|  |  |  | redCardBinding.redRemainderBlance.setText("剩余金额:" + MornyUtil.changeF2Y(userCard.getBalance()) + " 元"); | 
|---|
|  |  |  | //            redCardBinding.redRemainderWater.setText("剩余水量:" + MornyUtil.changeF2Y(userCard.getSurplusWater()) + " 吨"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onNewIntent(Intent intent) { | 
|---|
|  |  |  | public void onNfcBack(Intent intent) { | 
|---|
|  |  |  | this.intent = intent; | 
|---|
|  |  |  | ProgressDialog.show(this); | 
|---|
|  |  |  | if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { | 
|---|
|  |  |  | readAllData(intent); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | super.onNewIntent(intent); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void readAllData(Intent intent) { | 
|---|
|  |  |  | NfcReadHelper.getInstence(intent, this) | 
|---|
|  |  |  | .getOneSectorData(new NfcReadHelper.NFCCallListback() { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void callBack(List<byte[]> data) { | 
|---|
|  |  |  | //获取1扇区数据 | 
|---|
|  |  |  | if (data != null && data.size() > 0) { | 
|---|
|  |  |  | byte cardType = data.get(0)[0]; | 
|---|
|  |  |  | String cardTypeStr = HexUtil.byteToHex(cardType); | 
|---|
|  |  |  | switch (cardTypeStr) { | 
|---|
|  |  |  | case MyCommon.USER_CARD_TYPE_1: | 
|---|
|  |  |  | case MyCommon.USER_CARD_TYPE_2: | 
|---|
|  |  |  | case MyCommon.USER_CARD_TYPE_3: | 
|---|
|  |  |  | userCard = UserCard.getBean(data); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.MANAGE_CRAD: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为管理卡"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.CLEAN_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为清零卡"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.REGISTERED_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为重新注册设备卡"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.CLEAN_ALL_USER_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为删除全部用户卡"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.DOMAIN_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为设置域名卡"); | 
|---|
|  |  |  | DomainCard domainCard = DomainCard.toBean(data); | 
|---|
|  |  |  | assert domainCard != null; | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText("序号:" + domainCard.getDomainNumber() + "\n" + "域名:" + domainCard.getDomainName() + "\n" + "端口号:" + domainCard.getPort()); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.TEST_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为测试卡"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.CONFIGURATION_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为配置设备注册信息卡"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.CONFIGURATION_POWER_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前配置水泵功率卡"); | 
|---|
|  |  |  | ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(data.get(0)); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText(powerCard.getPower()); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.BLACK: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为黑卡"); | 
|---|
|  |  |  | BlackCard blackCard = BlackCard.getBean(data); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText("当前黑卡用户号为:" + blackCard.getBlackCard()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.REGION: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为区域表号卡"); | 
|---|
|  |  |  | RegionCard regionCard = RegionCard.getBean(data); | 
|---|
|  |  |  | StringBuilder stringBuilder = new StringBuilder(); | 
|---|
|  |  |  | stringBuilder.append("区域地址:").append(regionCard.getRegion()).append("\n"); | 
|---|
|  |  |  | stringBuilder.append("控制器编号:").append(regionCard.getControllerCodel()).append("\n"); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText(stringBuilder.toString()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case MyCommon.ELECTRIC_PRICE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为电量单价卡"); | 
|---|
|  |  |  | ElectricPriceCard electricPriceCard = ElectricPriceCard.getBean(data); | 
|---|
|  |  |  | StringBuilder electricPriceBuilder = new StringBuilder(); | 
|---|
|  |  |  | electricPriceBuilder.append("电量单价:").append(electricPriceCard.getElectricPrice()).append("\n"); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText(electricPriceBuilder.toString()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | TipUtil.show(ReadCardAcitivy.this, "卡片无法识别"); | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String 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(); | 
|---|
|  |  |  | String state = ""; | 
|---|
|  |  |  | if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) { | 
|---|
|  |  |  | state = "终端写卡"; | 
|---|
|  |  |  | } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) { | 
|---|
|  |  |  | state = "刷卡开泵后"; | 
|---|
|  |  |  | } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) { | 
|---|
|  |  |  | state = "叠加充值"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | switch (cardType) { | 
|---|
|  |  |  | case CardCommon.USER_CARD_TYPE_1: | 
|---|
|  |  |  | case CardCommon.USER_CARD_TYPE_2: | 
|---|
|  |  |  | case CardCommon.USER_CARD_TYPE_3: | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!data.isEmpty()) { | 
|---|
|  |  |  | if (!TextUtils.isEmpty(cardNumber)) { | 
|---|
|  |  |  | userCard = new UserCard().getBean(data); | 
|---|
|  |  |  | List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber); | 
|---|
|  |  |  | if (userCardBeans != null && !userCardBeans.isEmpty()) { | 
|---|
|  |  |  | UserCardBean userName = userCardBeans.get(0); | 
|---|
|  |  |  | setUserData(userName.getUserName(), state, cardNumber); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TipUtil.show(ReadCardAcitivy.this, "卡片无法识别"); | 
|---|
|  |  |  | setUserData("未查询到用户名", state, cardNumber); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TipUtil.show("卡片识别错误,请重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.MANAGE_CRAD://管理卡 | 
|---|
|  |  |  | ManageCard manageCard = ManageCard.getBean(data); | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | userCardStr = manageCard.getUserCard().toUpperCase(); | 
|---|
|  |  |  | userCardStr = HexUtil.spaceHex(userCardStr); | 
|---|
|  |  |  | userCardStr = HexUtil.HighLowHex(userCardStr); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为管理卡" + "\n\n" | 
|---|
|  |  |  | + "原始卡号:" + userCardStr); | 
|---|
|  |  |  | if (manageCard.getType()==(byte) 1){ | 
|---|
|  |  |  | //当01时将1扇区0块原管理卡信息改成用户卡内容 | 
|---|
|  |  |  | confirmDialog=new ConfirmDialog(this, "是否确认补卡,该卡将成为新用户卡?并且不要移动卡片", new View.OnClickListener() { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onClick(View v) { | 
|---|
|  |  |  | ProgressDialog.show(ReadCardAcitivy.this); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | confirmDialog.dismiss(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(userCardStr); | 
|---|
|  |  |  | if (userCardBeans != null && !userCardBeans.isEmpty()) { | 
|---|
|  |  |  | UserCardBean userName = userCardBeans.get(0); | 
|---|
|  |  |  | userName.setCardNumber(cardNumber); | 
|---|
|  |  |  | baseDao.userCardDao().update(userName); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | NFCWriteHelper nfcWriteHelper=   NFCWriteHelper.getInstence(intent,ReadCardAcitivy.this); | 
|---|
|  |  |  | adminData = baseDao.adminDao().findFirst(); | 
|---|
|  |  |  | ManagerToUserCard managerToUserCard=new ManagerToUserCard(); | 
|---|
|  |  |  | managerToUserCard.setArerNumber(Integer.valueOf(adminData.getSerial())); | 
|---|
|  |  |  | managerToUserCard.setDeviceNumberl(Integer.valueOf(adminData.getAddressCode())); | 
|---|
|  |  |  | managerToUserCard.setTotalElectric(manageCard.getTotalElectric()); | 
|---|
|  |  |  | if (nfcWriteHelper.writeData(managerToUserCard.getZeroBytes(),1,0)){ | 
|---|
|  |  |  | TipUtil.show(ReadCardAcitivy.this, "补卡成功", () -> ReadCardAcitivy.this.finish()); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | TipUtil.show(ReadCardAcitivy.this, "补卡失败,请重新刷卡", () -> ReadCardAcitivy.this.finish()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | confirmDialog.show(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.CLEAN_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为清零卡"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.REGISTERED_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为重新注册设备卡"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.CLEAN_ALL_USER_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为删除全部用户卡"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.DOMAIN_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为设置域名卡"); | 
|---|
|  |  |  | if (!data.isEmpty()) { | 
|---|
|  |  |  | DomainCard domainCard = DomainCard.toBean(data); | 
|---|
|  |  |  | assert domainCard != null; | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText("序号:" + domainCard.getDomainNumber() + "\n" + "域名:" + domainCard.getDomainName() + "\n" + "端口号:" + domainCard.getPort()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TipUtil.show("卡片识别错误,请重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.TEST_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为测试卡"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.CONFIGURATION_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为配置设备注册信息卡"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.CONFIGURATION_POWER_CARD_TYPE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前配置水泵功率卡"); | 
|---|
|  |  |  | if (!data.isEmpty()) { | 
|---|
|  |  |  | ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(data.get(0)); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText(powerCard.getPower()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TipUtil.show("卡片识别错误,请重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.BLACK: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为黑卡"); | 
|---|
|  |  |  | BlackCard blackCard = BlackCard.getBean(data); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText("当前黑卡用户号为:" + blackCard.getBlackCard()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.REGION: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为区域表号卡"); | 
|---|
|  |  |  | if (!data.isEmpty()) { | 
|---|
|  |  |  | RegionCard regionCard = RegionCard.getBean(data); | 
|---|
|  |  |  | StringBuilder stringBuilder = new StringBuilder(); | 
|---|
|  |  |  | stringBuilder.append("区域地址:").append(regionCard.getRegion()).append("\n"); | 
|---|
|  |  |  | stringBuilder.append("控制器编号:").append(regionCard.getControllerCodel()).append("\n"); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText(stringBuilder.toString()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TipUtil.show("卡片识别错误,请重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case CardCommon.ELECTRIC_PRICE: | 
|---|
|  |  |  | viweGone(false); | 
|---|
|  |  |  | redCardBinding.readCardTypeTV.setText("当前为电量单价卡"); | 
|---|
|  |  |  | if (!data.isEmpty()) { | 
|---|
|  |  |  | ElectricPriceCard electricPriceCard = ElectricPriceCard.getBean(data); | 
|---|
|  |  |  | StringBuilder electricPriceBuilder = new StringBuilder(); | 
|---|
|  |  |  | electricPriceBuilder.append("电量单价:").append(electricPriceCard.getElectricPrice()); | 
|---|
|  |  |  | electricPriceBuilder.append("元"); | 
|---|
|  |  |  | redCardBinding.readCardDataTV.setText(electricPriceBuilder.toString()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TipUtil.show("卡片识别错误,请重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | TipUtil.show(ReadCardAcitivy.this, "卡片无法识别"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void error(int code) { | 
|---|
|  |  |  | switch (code) { | 
|---|
|  |  |  | case MyCommon.ERROR_MOVE: | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | TipUtil.show("连接中断,请重新贴合卡片"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | stopAnim(); | 
|---|
|  |  |  | TipUtil.show("卡片识别错误,请重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|