| | |
| | | import android.os.Handler; |
| | | import android.os.Message; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | import android.view.LayoutInflater; |
| | | import android.widget.Toast; |
| | | |
| | |
| | | import com.dayu.recharge.utils.DateUtil; |
| | | import com.dayu.recharge.utils.DeviceNumberUtils; |
| | | import com.dayu.recharge.utils.MornyUtil; |
| | | import com.dayu.recharge.utils.MyCommon; |
| | | import com.dayu.recharge.utils.SocketUtil; |
| | | import com.dayu.recharge.utils.TipUtil; |
| | | import com.tencent.bugly.crashreport.CrashReport; |
| | |
| | | boolean configPowerFlag = false; |
| | | |
| | | UserCardBean userCardBean; |
| | | |
| | | UserCard olduserCard; |
| | | |
| | | String morny; |
| | | String userName; |
| | |
| | | try { |
| | | binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this)); |
| | | setContentView(binding.getRoot()); |
| | | initView(); |
| | | nfcWreatActivity = this; |
| | | getData(); |
| | | baseApp = (MyApplication) getApplication(); |
| | |
| | | e.printStackTrace(); |
| | | CrashReport.postCatchedException(e); |
| | | } |
| | | } |
| | | |
| | | private void initView() { |
| | | handler = new Handler(new Handler.Callback() { |
| | | @Override |
| | | public boolean handleMessage(Message msg) { |
| | | switch (msg.what) { |
| | | |
| | | case HAS_USER://判断已写入用户 |
| | | binding.textView.setText("该卡已经写入用户信息,请更换卡片"); |
| | | binding.textView.setTextColor(getResources().getColor(R.color.red)); |
| | | stopAnim(); |
| | | break; |
| | | case NO_USER://没有写过用户继续保存 |
| | | saveData(); |
| | | break; |
| | | default: |
| | | stopAnim(); |
| | | TipUtil.show(NFCWreatActivity.this, "卡片读取失败"); |
| | | break; |
| | | |
| | | } |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | |
| | | * 检测是否是用户卡,假如是用户卡的话需要检测卡片是否已经开过户,假如已开户则报错不能再写卡假如是用户卡需要 |
| | | */ |
| | | private void checkHasUser() { |
| | | try { |
| | | NfcReadHelper.getInstence(intent) |
| | | .getData(1, 0, new NfcReadHelper.NFCCallByteback() { |
| | | @Override |
| | | public void callBack(byte[] data) { |
| | | Message message = new Message(); |
| | | String type = HexUtil.byteToHex(data[0]).toUpperCase(); |
| | | switch (type) { |
| | | case "A1": |
| | | case "A8": |
| | | case "A2": |
| | | message.what = HAS_USER; |
| | | break; |
| | | default: |
| | | message.what = NO_USER; |
| | | break; |
| | | } |
| | | handler.sendMessage(message); |
| | | } |
| | | |
| | | @Override |
| | | public void error(int code) { |
| | | Message message = new Message(); |
| | | message.what = code; |
| | | handler.sendMessage(message); |
| | | } |
| | | }); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | CrashReport.postCatchedException(e); |
| | | String cardType = NfcReadHelper.getInstence(intent).getCradType(); |
| | | Log.i("NFCWreatActivity", "cardType=" + cardType); |
| | | if (cardType.equals(MyCommon.USER_CARD_TYPE_1) || |
| | | cardType.equals(MyCommon.USER_CARD_TYPE_2) || |
| | | cardType.equals(MyCommon.USER_CARD_TYPE_3) |
| | | ) { |
| | | binding.textView.setText("该卡已经写入用户信息,请更换卡片"); |
| | | binding.textView.setTextColor(getResources().getColor(R.color.red)); |
| | | } else if (cardType.equals("-1")) { |
| | | TipUtil.show(NFCWreatActivity.this, "请勿移动卡片,读卡失败请重试!!"); |
| | | } else { |
| | | Log.i("NFCWreatActivity", "olduserCard!=null saveData"); |
| | | saveData(); |
| | | } |
| | | |
| | | stopAnim(); |
| | | } |
| | | |
| | | |
| | |
| | | || configureDeviceRegistrationCrad != null |
| | | || configurationPowerCard != null) { |
| | | if (userCard != null && TextUtils.isEmpty(morny)) { |
| | | |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | } |
| | | if (cleanCard != null) { |
| | | NFCWriteHelper.getInstence(intent).changePasword(1); |
| | | setClean(intent, cleanCard); |
| | | } |
| | | if (manageCard != null) { |
| | |
| | | //用户卡 |
| | | startDetailActivity(userCardBean.getUserName(), "启用"); |
| | | } else if (!TextUtils.isEmpty(morny)) { |
| | | NFCWreatActivity.this.finish(); |
| | | TipUtil.show("充值成功"); |
| | | TipUtil.show(NFCWreatActivity.this, "充值成功", new TipUtil.TipListener() { |
| | | @Override |
| | | public void onCancle() { |
| | | NFCWreatActivity.this.finish(); |
| | | } |
| | | }); |
| | | } else { |
| | | NFCWreatActivity.this.finish(); |
| | | TipUtil.show("写卡成功"); |
| | | TipUtil.show(NFCWreatActivity.this, "写卡成功", new TipUtil.TipListener() { |
| | | @Override |
| | | public void onCancle() { |
| | | NFCWreatActivity.this.finish(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | |
| | | CrashReport.postCatchedException(e); |
| | | } |
| | | } else { |
| | | TipUtil.show("写卡失败"); |
| | | TipUtil.show(NFCWreatActivity.this, "写卡失败"); |
| | | } |
| | | stopAnim(); |
| | | } |
| | | // else if (!TextUtils.isEmpty(morny)) { |
| | | // |
| | | // } |
| | | else if (userCard == null && userCardBean != null) { |
| | | } else if (userCard == null && userCardBean != null) { |
| | | //补卡逻辑 |
| | | selectBalance(userCardBean.getInitPeasantCode()); |
| | | } else { |
| | |
| | | try { |
| | | this.intent = intent; |
| | | startAnim(); |
| | | Log.i("NFCWreatActivity", "isUser:" + isUser); |
| | | if (isUser) { |
| | | checkHasUser(); |
| | | } else if (isRecharge) { |
| | |
| | | |
| | | rechargeBean.setSerial(adminData.getSerial()); |
| | | userCard.setRechargeDate(Calendar.getInstance()); |
| | | rechargeBean.setBalance(MornyUtil.changeF2Y(balance + MornyUtil.changeY2F(morny)) + ""); |
| | | rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); |
| | | rechargeBean.setInitPeasantCode(initPeasantCode); |
| | | rechargeBean.setOrderID(orderId); |
| | | try { |
| | |
| | | @Override |
| | | public void onSocketResponse(SocketData readData) { |
| | | if (CRC8.isCRC8(readData.getOriginDataBytes())) { |
| | | |
| | | StringBuffer stateText = null; |
| | | |
| | | try { |
| | | stateText = new StringBuffer(); |
| | | 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()); |
| | |
| | | //补卡逻辑 |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | if (userFlag) { |
| | | NFCWreatActivity.this.finish(); |
| | | TipUtil.show(NFCWreatActivity.this, "补卡成功"); |
| | | TipUtil.show(NFCWreatActivity.this, "补卡成功", new TipUtil.TipListener() { |
| | | @Override |
| | | public void onCancle() { |
| | | NFCWreatActivity.this.finish(); |
| | | } |
| | | }); |
| | | } |
| | | return; |
| | | } else if ("01".equals(state)) { |
| | |
| | | userCard.setState("01"); |
| | | userCard.setBalance(balance); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard); |
| | | |
| | | startDetailActivity(name, stateText.toString()); |
| | | |
| | | } else if ("02".equals(state)) { |