@Test /** Test reconstituting an OrderMessage */ public void testReconstituteOrder() { ArrayList<String> representation = new ArrayList<String>(); representation.add("3"); representation.add("Item type:slice, Menu id:3, quantity:2, toppings:1 3"); representation.add("Item type:slice, Menu id:4, quantity:1, toppings:"); // no toppings representation.add("Item type:specialty pie, Menu id:1, size:2, quantity:1"); representation.add("END"); PizzaMessage msg = PizzaMessage.reconstitute(representation); assertTrue("message is an order", msg instanceof OrderMessage); OrderMessage order = (OrderMessage) msg; ArrayList<SliceOrderItem> slices = order.getSliceList(); assertEquals("number of slices", 2, slices.size()); SliceOrderItem slice0 = slices.get(0); assertEquals("Slice 0 menu id", 3, slice0.getItemId()); assertEquals("Slice 0 quantity", 2, slice0.getQuantity()); ArrayList<Integer> toppingIDs = slice0.getToppingList(); assertEquals("Slice 0 number of toppings", 2, toppingIDs.size()); assertEquals("Slice 0 first topping id", 1, toppingIDs.get(0).intValue()); assertEquals("Slice 0 second topping id", 3, toppingIDs.get(1).intValue()); SliceOrderItem slice1 = slices.get(1); assertEquals("Slice 1 menu id", 4, slice1.getItemId()); assertEquals("Slice 1 quantity", 1, slice1.getQuantity()); toppingIDs = slice1.getToppingList(); assertEquals("Slice 1 number of toppings", 0, toppingIDs.size()); ArrayList<SpecialtyPizzaOrderItem> specialtyPies = order.getSpecialtyPieList(); assertEquals("number of specialty pies", 1, specialtyPies.size()); SpecialtyPizzaOrderItem pie0 = specialtyPies.get(0); assertEquals("Specialty pie menu id", 1, pie0.getItemId()); assertEquals("Specialty pie quantity", 1, pie0.getQuantity()); assertEquals("Specialty pie size", 2, pie0.getPizzaSize()); } // testReconstituteOrder
/** * 备注列表 * * @param orderId * @param response * @throws IOException */ @RequestMapping(value = "/order/message/{orderId}") public void displayOrderMessage( @PathVariable("orderId") long orderId, HttpServletResponse response) throws IOException { List<OrderMessage> orderMessages = tradeCenterBossClient.queryAllMessage(orderId); for (OrderMessage orderMessage : orderMessages) { orderMessage.setMessageInfo( orderMessage.getUserType().toDesc() + ":" + orderMessage.getMessageInfo()); } new JsonResult(true) .addData("totalCount", orderMessages.size()) .addData("result", orderMessages) .toJson(response); }
private String message(long orderId) { StringBuilder sbd = new StringBuilder(); List<OrderMessage> orderMessages = tradeCenterBossClient.queryAllMessage(orderId); int i = 0; for (OrderMessage orderMessage : orderMessages) { sbd.append(orderMessage.getUserType().toDesc()) .append("留言:") .append(orderMessage.getMessageInfo()); if (i != orderMessages.size() - 1) sbd.append("\n"); i++; } return sbd.toString(); }
@Override public void handle(OrderMessage message) { if (message instanceof PayOrderMessage) { System.out.println(getClass().getSimpleName() + " handle"); message.getOrder().setPaid(true); message.getOrder().setPaymentMethod("card"); paidOrders.add(message.getOrder()); bus.publish(new OrderPaidMessage(message.getOrder(), message)); } else { System.out.println("Wrong type of order for Cashier: " + message.getClass()); } }