Commit a036afb8e8eafe31017af3a7f2f5244c61b6d90a
1 parent
56d573c3
畅游通标准:修复异常报错
Showing
1 changed file
with
32 additions
and
2 deletions
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 | } |