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 411 @Override
412 412 public void onclickCallback(View view, int position) {
413 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 419 pwd = pwd.substring(6, 14);
416 420 if (centerHandle == null) {
417 421 centerHandle = new CenterHandle(IDOrderListActivity.this,
... ... @@ -420,8 +424,12 @@ public class IDOrderListActivity extends BaseActivity implements
420 424 centerHandle.allTicket(position, pwd, "TRUE");
421 425 } else if (view.getId() == R.id.part) {
422 426 try {
423   - String pwd = orderInfos.get(position).getCredentials();
  427 + String pwd = getCredentialsFromOrder(orderInfos.get(position));
424 428 LogUtil.d(TAG, "pwd = " + pwd);
  429 + if (pwd == null || pwd.length() < 14) {
  430 + MToast(IDOrderListActivity.this, "证件信息无效", Toast.LENGTH_SHORT);
  431 + return;
  432 + }
425 433 pwd = pwd.substring(6, 14);
426 434 if (centerHandle == null) {
427 435 centerHandle = new CenterHandle(IDOrderListActivity.this,
... ... @@ -524,4 +532,26 @@ public class IDOrderListActivity extends BaseActivity implements
524 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 }
... ...