From a036afb8e8eafe31017af3a7f2f5244c61b6d90a Mon Sep 17 00:00:00 2001 From: 杜方 Date: Mon, 8 Jun 2026 09:43:21 +0800 Subject: [PATCH] 畅游通标准:修复异常报错 --- src/com/ectrip/cyt/ui/IDOrderListActivity.java | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/com/ectrip/cyt/ui/IDOrderListActivity.java b/src/com/ectrip/cyt/ui/IDOrderListActivity.java index 27818e0..b2c5014 100644 --- a/src/com/ectrip/cyt/ui/IDOrderListActivity.java +++ b/src/com/ectrip/cyt/ui/IDOrderListActivity.java @@ -411,7 +411,11 @@ public class IDOrderListActivity extends BaseActivity implements @Override public void onclickCallback(View view, int position) { if (view.getId() == R.id.ticketPrint) { - String pwd = orderInfos.get(position).getCredentials(); + String pwd = getCredentialsFromOrder(orderInfos.get(position)); + if (pwd == null || pwd.length() < 14) { + MToast(IDOrderListActivity.this, "证件信息无效", Toast.LENGTH_SHORT); + return; + } pwd = pwd.substring(6, 14); if (centerHandle == null) { centerHandle = new CenterHandle(IDOrderListActivity.this, @@ -420,8 +424,12 @@ public class IDOrderListActivity extends BaseActivity implements centerHandle.allTicket(position, pwd, "TRUE"); } else if (view.getId() == R.id.part) { try { - String pwd = orderInfos.get(position).getCredentials(); + String pwd = getCredentialsFromOrder(orderInfos.get(position)); LogUtil.d(TAG, "pwd = " + pwd); + if (pwd == null || pwd.length() < 14) { + MToast(IDOrderListActivity.this, "证件信息无效", Toast.LENGTH_SHORT); + return; + } pwd = pwd.substring(6, 14); if (centerHandle == null) { centerHandle = new CenterHandle(IDOrderListActivity.this, @@ -524,4 +532,26 @@ public class IDOrderListActivity extends BaseActivity implements PrintHandle.getInstance().printClose(); } + private String getCredentialsFromOrder(OrderInfo orderInfo) { + if (orderInfo == null) { + return null; + } + List products = orderInfo.getProducts(); + if (products == null || products.isEmpty()) { + return null; + } + for (ProductInfoQuery product : products) { + List passengerInfos = product.getPassengerInfos(); + if (passengerInfos != null && !passengerInfos.isEmpty()) { + for (PassengerInfosBean passenger : passengerInfos) { + String credentials = passenger.getCredentials(); + if (credentials != null && !credentials.isEmpty()) { + return credentials; + } + } + } + } + return null; + } + } -- libgit2 0.21.4