Commit a036afb8e8eafe31017af3a7f2f5244c61b6d90a

Authored by 杜方
1 parent 56d573c3

畅游通标准:修复异常报错

src/com/ectrip/cyt/ui/IDOrderListActivity.java
@@ -411,7 +411,11 @@ public class IDOrderListActivity extends BaseActivity implements @@ -411,7 +411,11 @@ public class IDOrderListActivity extends BaseActivity implements
411 @Override 411 @Override
412 public void onclickCallback(View view, int position) { 412 public void onclickCallback(View view, int position) {
413 if (view.getId() == R.id.ticketPrint) { 413 if (view.getId() == R.id.ticketPrint) {
414 - String pwd = orderInfos.get(position).getCredentials(); 414 + String pwd = getCredentialsFromOrder(orderInfos.get(position));
  415 + if (pwd == null || pwd.length() < 14) {
  416 + MToast(IDOrderListActivity.this, "证件信息无效", Toast.LENGTH_SHORT);
  417 + return;
  418 + }
415 pwd = pwd.substring(6, 14); 419 pwd = pwd.substring(6, 14);
416 if (centerHandle == null) { 420 if (centerHandle == null) {
417 centerHandle = new CenterHandle(IDOrderListActivity.this, 421 centerHandle = new CenterHandle(IDOrderListActivity.this,
@@ -420,8 +424,12 @@ public class IDOrderListActivity extends BaseActivity implements @@ -420,8 +424,12 @@ public class IDOrderListActivity extends BaseActivity implements
420 centerHandle.allTicket(position, pwd, "TRUE"); 424 centerHandle.allTicket(position, pwd, "TRUE");
421 } else if (view.getId() == R.id.part) { 425 } else if (view.getId() == R.id.part) {
422 try { 426 try {
423 - String pwd = orderInfos.get(position).getCredentials(); 427 + String pwd = getCredentialsFromOrder(orderInfos.get(position));
424 LogUtil.d(TAG, "pwd = " + pwd); 428 LogUtil.d(TAG, "pwd = " + pwd);
  429 + if (pwd == null || pwd.length() < 14) {
  430 + MToast(IDOrderListActivity.this, "证件信息无效", Toast.LENGTH_SHORT);
  431 + return;
  432 + }
425 pwd = pwd.substring(6, 14); 433 pwd = pwd.substring(6, 14);
426 if (centerHandle == null) { 434 if (centerHandle == null) {
427 centerHandle = new CenterHandle(IDOrderListActivity.this, 435 centerHandle = new CenterHandle(IDOrderListActivity.this,
@@ -524,4 +532,26 @@ public class IDOrderListActivity extends BaseActivity implements @@ -524,4 +532,26 @@ public class IDOrderListActivity extends BaseActivity implements
524 PrintHandle.getInstance().printClose(); 532 PrintHandle.getInstance().printClose();
525 } 533 }
526 534
  535 + private String getCredentialsFromOrder(OrderInfo orderInfo) {
  536 + if (orderInfo == null) {
  537 + return null;
  538 + }
  539 + List<ProductInfoQuery> products = orderInfo.getProducts();
  540 + if (products == null || products.isEmpty()) {
  541 + return null;
  542 + }
  543 + for (ProductInfoQuery product : products) {
  544 + List<PassengerInfosBean> passengerInfos = product.getPassengerInfos();
  545 + if (passengerInfos != null && !passengerInfos.isEmpty()) {
  546 + for (PassengerInfosBean passenger : passengerInfos) {
  547 + String credentials = passenger.getCredentials();
  548 + if (credentials != null && !credentials.isEmpty()) {
  549 + return credentials;
  550 + }
  551 + }
  552 + }
  553 + }
  554 + return null;
  555 + }
  556 +
527 } 557 }