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 | 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 | } | ... | ... |