private List<Map<String, Object>> localTransactionResult(List<LocalTransaction> requistionList) { List<Map<String, Object>> mappedApplications = new ArrayList<Map<String, Object>>(requistionList.size()); List<PropertyFilter> propertyFilters = new ArrayList<PropertyFilter>(); List<Application> apps = new ArrayList<Application>(); List<SecurityDomain> sds = new ArrayList<SecurityDomain>(); for (LocalTransaction localTransaction : requistionList) { propertyFilters.clear(); apps.clear(); sds.clear(); Map<String, Object> mappedLocalTransaction = localTransaction.toMap(null, null); String formatValue = ""; if (localTransaction.getBeginTime() != null) { formatValue = DateFormatUtils.format( (Calendar) localTransaction.getBeginTime(), "yyyy-MM-dd HH:mm:ss"); } mappedLocalTransaction.put("beginTime", formatValue); formatValue = ""; if (localTransaction.getEndTime() != null) { formatValue = DateFormatUtils.format((Calendar) localTransaction.getEndTime(), "yyyy-MM-dd HH:mm:ss"); } mappedLocalTransaction.put("endTime", formatValue); mappedLocalTransaction.put( "failMessage", localTransaction.getFailMessage() == null ? "" : localTransaction.getFailMessage()); // propertyFilters.add(new PropertyFilter("aid", MatchType.EQ, // PropertyType.S, localTransaction.getAid())); if (localTransaction.getProcedureName().equals(Operation.CREATE_SD.toString()) || localTransaction.getProcedureName().equals(Operation.DELETE_SD.toString()) || localTransaction.getProcedureName().equals(Operation.LOCK_SD.toString()) || localTransaction.getProcedureName().equals(Operation.UNLOCK_SD.toString()) || localTransaction.getProcedureName().equals(Operation.SYNC_CARD_SD.toString()) || localTransaction.getProcedureName().equals(Operation.UPDATE_KEY.toString())) { propertyFilters.add( new PropertyFilter("aid", MatchType.EQ, PropertyType.S, localTransaction.getAid())); sds = securityDomainManager.find(propertyFilters); if (sds != null && sds.size() != 0) { mappedLocalTransaction.put("appName", sds.get(0).getSdName()); mappedLocalTransaction.put("showType", "sd"); } } else if (localTransaction.getProcedureName().equals("LOCK_CARD") || localTransaction.getProcedureName().equals("UNLOCK_CARD")) { propertyFilters.add( new PropertyFilter( "mobileNo", MatchType.EQ, PropertyType.S, localTransaction.getMobileNo())); List<CustomerCardInfo> ccis = this.customerCardInfoManager.find(propertyFilters); CustomerCardInfo cci = null; for (CustomerCardInfo _cci : ccis) { if (_cci.getCard() .getCardNo() .equals(localTransaction.getCardNo())) { // 根据卡号和手机号查找CustomerCardInfo,并且列出最新的终端名 if (cci == null || cci.getId() < _cci.getId()) { cci = _cci; } } } if (null != cci) { mappedLocalTransaction.put("appName", cci.getName()); mappedLocalTransaction.put("cciIconId", cci.getMobileType().getId()); mappedLocalTransaction.put("showType", "termial"); } } else { propertyFilters.add( new PropertyFilter("aid", MatchType.EQ, PropertyType.S, localTransaction.getAid())); apps = applicationManager.find(propertyFilters); if (apps != null && apps.size() != 0) { mappedLocalTransaction.put("appName", apps.get(0).getName()); mappedLocalTransaction.put("application_id", apps.get(0).getId()); mappedLocalTransaction.put("showType", "app"); } } if (PlatformMessage.SUCCESS.getCode().equals(localTransaction.getResult())) { mappedLocalTransaction.put("result", PlatformMessage.SUCCESS.getMessage()); } else if (PlatformMessage.TRANS_EXCESSIVING.getCode().equals(localTransaction.getResult())) { mappedLocalTransaction.put("result", PlatformMessage.TRANS_EXCESSIVING.getMessage()); } else if (PlatformMessage.TRANS_EXCEPTION_CLOSED .getCode() .equals(localTransaction.getResult())) { mappedLocalTransaction.put("result", PlatformMessage.TRANS_EXCEPTION_CLOSED.getMessage()); } else { // for (PlatformErrorCode pe : PlatformErrorCode.values()) { // if (pe.getErrorCode().equals(localTransaction.getResult())) { // mappedLocalTransaction.put("result", pe.getDefaultMessage()); // } // } mappedLocalTransaction.put("result", localTransaction.getFailMessage()); } mappedApplications.add(mappedLocalTransaction); } return mappedApplications; }