package testcase; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import testcase.result.HotelOrderCreateResult; import util.Tool; import elong.Contact; import elong.CreateOrderCondition; import elong.CreateOrderRoom; import elong.CreditCard; import elong.Customer; import elong.EnumIdType; public class HotelOrderCreateTester extends BaseTester<CreateOrderCondition, HotelOrderCreateResult> { @Override public String method() { return "hotel.order.create"; } @Override public boolean isRequiredSSL() { return true; } @Override public CreateOrderCondition getConditon() { CreateOrderCondition condition = new CreateOrderCondition(); Date date = new Date(); date = util.Tool.addDate(date, 1); Date date2 = util.Tool.addDate(date, 1); Date date3 = util.Tool.addDate(date, 0); date3.setHours(15); date3.setMinutes(0); date3.setSeconds(0); Date date4 = util.Tool.addDate(date, 0); date4.setHours(17); date4.setMinutes(0); date4.setSeconds(0); condition.setHotelId("10101129"); condition.setRoomTypeId("0010"); condition.setRatePlanId(145742); condition.setTotalPrice(new BigDecimal(600)); condition.setAffiliateConfirmationId("my-order-id-2"); condition.setArrivalDate(date); condition.setConfirmationType(elong.EnumConfirmationType.NotAllowedConfirm); condition.setContact(getContact()); condition.setCreditCard(getCreditCard()); condition.setCurrencyCode(elong.EnumCurrencyCode.HKD); condition.setCustomerIPAddress("211.151.230.21"); condition.setCustomerType(elong.EnumGuestTypeCode.OtherForeign); condition.setDepartureDate(date2); condition.setEarliestArrivalTime(date3); condition.setExtendInfo(null); condition.setInvoice(null); condition.setIsForceGuarantee(false); condition.setIsGuaranteeOrCharged(false); condition.setIsNeedInvoice(false); condition.setLatestArrivalTime(date4); condition.setNightlyRates(null); condition.setNoteToElong(""); condition.setNoteToHotel(null); condition.setNumberOfCustomers(1); condition.setNumberOfRooms(1); condition.setOrderRooms( getRooms() ); condition.setPaymentType(elong.EnumPaymentType.SelfPay); condition.setSupplierCardNo(null); return condition; } List<CreateOrderRoom> getRooms() { List<Customer> customers = new ArrayList<Customer>(1); Customer c = new Customer(); c.setName("Jack White"); customers.add(c); List<CreateOrderRoom> rooms = new ArrayList<CreateOrderRoom>(1); CreateOrderRoom room = new CreateOrderRoom(); room.setCustomers(customers); rooms.add(room); return rooms; } Contact getContact() { Contact c = new Contact(); c.setName("Ms White"); c.setMobile("18600000001"); return c; } CreditCard getCreditCard() { CreditCard cc = new CreditCard(); String num = "4033910000000000"; // CREDIT CARD FOR TEST ENV long ts = System.currentTimeMillis()/1000; String key = appKey.substring(appKey.length()-8, appKey.length()); System.out.println("Key: "+ key); try { num = ts + "#" + num; System.out.println("raw data before DES: "+ num); num = Tool.encryptDES(num, key); System.out.println("DES encrypt result: "+ num); System.out.println(); cc.setCVV( Tool.encryptDES( ts + "#" + "007", key)); cc.setExpirationMonth(10); cc.setExpirationYear(2016); cc.setHolderName( Tool.encryptDES( ts + "#" + "NEED Real HolderName", key)); cc.setIdType(EnumIdType.IdentityCard); cc.setIdNo( Tool.encryptDES( ts + "#" + "110101198205169939", key)); cc.setNumber(num); } catch (Exception e) { //TODO ..... e.printStackTrace(); } //cc = null; return cc; } }