Kunden können den Link Bestellstatus im Menü in
der Kopfzeile anklicken, um die Seite 'Bestellstatus' (TrackOrderStatus.jsp) aufzurufen.
Auf dieser Seite werden die folgenden Informationen angezeigt:
- Bestellungen, die zur Genehmigung anstehen
- Bearbeitete Bestellungen
- Terminierte Bestellungen
Über diese Seite können Kunden den Status und die Details ihrer Bestellungen anzeigen; außerdem können sie sich entscheiden, bearbeitete Bestellungen erneut aufzugeben und terminierte Bestellungen zu stornieren.
Befehle
TrackOrderStatus.jsp verwendet die folgenden Befehle:
- OrderDetail
- OrderCopy
- ScheduledOrderCancel (storniert terminierte Bestellungen)
Beans
TrackOrderStatus.jsp verwendet die folgenden Beans:
- OrderAccessBean
- SchedulerOrderDataBean
- OrderDataBean
- SchedulerConfigAccessBean (ruft die Referenznummer des Jobs für terminierte Bestellungen ab)
- AttributeValueDataBean
- AttributeDataBean
- CatalogEntryAccessBean
- ItemDataBean
Implementierung
Hinweis:
Informationen zu Implementierungstechniken, die allen Beispielgeschäftsseiten gemein sind, finden Sie in Beispielgeschäftsseiten: Allgemeine Implementierungstechniken.Wenn ein Kunde den Link Bestellstatus im Menü in der Kopfzeile anklickt, ruft die OrderAccessBean alle Bestellungen sowie die Eigenschaften jeder Bestellung ab, einschließlich Status, Gesamtpreis, Bestellstatus und Bestellnummer.
while (ordersList.hasMoreElements()) { next_order = (OrderAccessBean) ordersList.nextElement(); String orderStatusCode = next_order.getStatus();
//get purchase order number
String poNumber = orderDB.getPurchaseOrderNumber();
if (poNumber.equals("")) {
poNumber = tooltechtext.getString("Status_none");
}
Bestellungen, die zur Genehmigung anstehen
Alle zur Genehmigung anstehenden Bestellungen haben den Status W, wie im Folgenden angezeigt:
if (orderStatusCode.equals("W"))
Bearbeitete Bestellungen
Wenn sich Kunden entscheiden, eine bearbeitete Bestellung erneut aufzugeben, indem sie den Link Nachbestellung anklicken, kopiert der Befehl 'OrderCopy' die Bestellung und ruft den Befehl 'OrderItemDisplay' auf, der die Seite 'Ihre Bestellung' (shoppingcart.jsp) öffnet.
OrderCopy?fromOrderId_1=<%=nextOrderId%>&toOrderId=.**.&OrderItemId_1=*&URL=OrderItemDisplay
Abhängig von ihrem Status, können bearbeitete Bestellungen herausgefiltert werden, damit sie nicht angezeigt werden.
if (orderStatusCode.equals("N") || orderStatusCode.equals("M") || orderStatusCode.equals("B") || orderStatusCode.equals("C") || orderStatusCode.equals("R") || orderStatusCode.equals("S") ){
//get the date ordered
String orderDateString;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date orderDate; orderDate = next_order.getPlaceOrderTimeInEJBType(); orderDateStringHinweis: Weitere Informationen zu Bestellstatuscodes finden Sie unter dem Link 'Verwandte Konzepte' am Ende dieser Seite.
Terminierte Bestellungen
Wenn Kunden terminierte Bestellungen erstellen, werden diese Bestellungen mit Hilfe des folgenden Codes abgerufen:
CommandContext commandContext = (CommandContext) request.getAttribute(ECConstants.EC_COMMANDCONTEXT);
Long userId = commandContext.getUserId();
SchedulerOrderByMemberIdListDataBean orderABFinder = new SchedulerOrderByMemberIdListDataBean();
orderABFinder.setDataBeanKeyMemberId(userId.toString());
com.ibm.commerce.beans.DataBeanManager.activate(orderABFinder, request);
com.ibm.commerce.order.beans.SchedulerOrderDataBean bnSchOrd[] = orderABFinder.getSchedulerOrderByMemberIdListDas Intervall für jede terminierte Bestellung wird unter Verwendung des folgenden Codes angezeigt:
SchedulerConfigAccessBean SchConBean = new SchedulerConfigAccessBean(); SchConBean.setInitKey_jobReferenceNumber(bnSchOrd[i].getJobReferenceNumber()); String Interval = ""; String frequency = SchConBean.getInterval()+""; if(frequency.equals("0")) Interval = tooltechtext.getString("OrderSum_Interval_6"); else if(frequency.equals("86400")) Interval = tooltechtext.getString("OrderSum_Interval_1"); else if(frequency.equals("604800")) Interval = tooltechtext.getString("OrderSum_Interval_2"); else if(frequency.equals("1209600")) Interval = tooltechtext.getString("OrderSum_Interval_3"); else if(frequency.equals("1814400")) Interval = tooltechtext.getString("OrderSum_Interval_4"); else if(frequency.equals("2592000")) Interval = tooltechtext.getString("OrderSum_Interval_5");
Alle terminierten Bestellungen haben den Status I. Wenn der Kunde die Option Abbrechen anklickt, wird eine Java Script-Nachricht angezeigt, die den Kunden fragt, ob er die Bestellung wirklich abbrechen möchte. Wenn der Kunde Ja auswählt, wird die Bestellung abgebrochen, und der Kunde kehrt zur Seite TrackOrderStatus.jsp zurück.
Wenn der Kunde den Link für die Bestellnummer einer beliebigen Bestellung anklickt, wird die entsprechende Seite 'Bestelldetails' (OrderDetails.jsp) angezeigt.
Hinweis:
Die Seite 'Bestelldetails' ähnelt der Seite 'Bestellungsübersicht', alelrdings ohne die Zahlungsinformationen.
![]() |