package com.alibaba.json.bvt.bug;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
public class Bug_for_ludong extends TestCase {
public void test_for_ludong() throws Exception {
String msg = "{\"changedItems\":[{\"attribute\":\"new\",\"benefitCustomer\":\"chance130320584431\",\"benefitCustomerContactor\":5809917,\"benefitCustomerId\":2001385618,\"bizStatus\":\"audit_pass\",\"creator\":\"dowjons\",\"defaultBiz\":true,\"discountRate\":100,\"domain\":\"nirvana\",\"executeAmount\":3688,\"gmtCreate\":1367856000000,\"gmtModified\":1368374400000,\"gmtSign\":1367856000000,\"id\":321600616,\"isDeleted\":\"n\",\"itemNum\":\"W1305070000053_1\",\"lastOperType\":\"finance_pass_rollback\",\"memberId\":\"3592950865\",\"modifier\":\"haiquan.zhanghq\",\"num\":12,\"oppId\":103722314,\"orderId\":315749401,\"parentId\":0,\"paymentAmount\":0,\"paymentStatus\":\"payment_none\",\"policyId\":63149,\"price\":3688,\"productCode\":\"pc060\",\"purchaseType\":\"bought\",\"quotedPrice\":3688,\"salesId\":\"tiandan\",\"salesOrgFullid\":\"/10/1/30/101/160/1001/1051/\",\"serviceSupplyCompany\":\"B50\",\"signSalesId\":\"tiandan\",\"signSalesOrgFullId\":\"/10/1/30/101/160/1001/1051/\",\"traceChange\":true,\"ultimatePrice\":3688,\"unServiceDay\":0,\"unit\":\"M\",\"unvoucherAmount\":3688,\"voucherStatus\":\"voucher_none\"}],\"context\":{\"payAmount\":3688,\"payDate\":1368442850437,\"paymentStatus\":\"payment_success\"},\"generateTime\":1368442868624,\"msgType\":\"PAYMENT\",\"orderNumber\":\"W1305070000053\"}";
OrderInternalDto dto = JSON.parseObject(msg, OrderInternalDto.class);
}
public static class OrderInternalDto implements Serializable {
private static final long serialVersionUID = 3228508302993121205L;
/* 对象生成的时间 */
private Date generateTime;
/** 订单号 */
private String orderNumber;
/** 对象的业务状态 */
private MSGTYPE msgType;
/** 订单的瞬时状态 */
// private List<OrdOrderItemDto> instantItems;
/** 发生状态变化的订单行列,比如到款只是对一个订单行发生到账行为 */
private List<OrdOrderItem> changedItems;
/** 上下文参数 */
private Map<String, Object> context;
public OrderInternalDto(){
this.generateTime = new Date();
context = new HashMap<String, Object>();
}
public void setContext(Map<String, Object> context) {
if (context == null) return;
this.context = context;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
}
public static class OrdOrderItem implements Cloneable, Serializable {
public static String ORDER_ID = "orderId";
private Object orderId;
public static String PARENT_ID = "parentId";
private Integer parentId;
public static String SERIAL_NUM = "serialNum";
private String serialNum;
public static String ITEM_NUM = "itemNum";
private String itemNum;
public static String PURCHASE_TYPE = "purchaseType";
private String purchaseType;
public static String ATTRIBUTE = "attribute";
private String attribute;
public static String MEMBER_ID = "memberId";
private String memberId;
public static String PRODUCT_CODE = "productCode";
private String productCode;
public static String NUM = "num";
private Integer num;
public static String UNIT = "unit";
private String unit;
public static String PRICE = "price";
private java.math.BigDecimal price;
public static String DISCOUNT_RATE = "discountRate";
private java.math.BigDecimal discountRate;
public static String QUOTED_PRICE = "quotedPrice";
private java.math.BigDecimal quotedPrice;
public static String ULTIMATE_PRICE = "ultimatePrice";
private java.math.BigDecimal ultimatePrice;
public static String EXECUTE_AMOUNT = "executeAmount";
private java.math.BigDecimal executeAmount;
public static String GMT_TARGET_BEGIN = "gmtTargetBegin";
private java.util.Date gmtTargetBegin;
public static String GMT_TARGET_END = "gmtTargetEnd";
private java.util.Date gmtTargetEnd;
public static String GMT_ACTUAL_BEGIN = "gmtActualBegin";
private java.util.Date gmtActualBegin;
public static String GMT_ACTUAL_END = "gmtActualEnd";
private java.util.Date gmtActualEnd;
public static String SERVICE_SUPPLY_COMPANY = "serviceSupplyCompany";
private String serviceSupplyCompany;
public static String BENEFIT_CUSTOMER = "benefitCustomer";
private String benefitCustomer;
public static String BENEFIT_CUSTOMER_ID = "benefitCustomerId";
private Integer benefitCustomerId;
public static String BENEFIT_CUSTOMER_CONTACTOR = "benefitCustomerContactor";
private Integer benefitCustomerContactor;
public static String BIZ_STATUS = "bizStatus";
private String bizStatus;
public static String VOUCHER_STATUS = "voucherStatus";
private String voucherStatus;
public static String PAYMENT_STATUS = "paymentStatus";
private String paymentStatus;
public static String PAYMENT_AMOUNT = "paymentAmount";
private java.math.BigDecimal paymentAmount;
public static String POLICY_ID = "policyId";
private Integer policyId;
public static String MEMO = "memo";
private String memo;
public static String SUPPORTER = "supporter";
private String supporter;
public static String SUPPORTER_ORG_ID = "supporterOrgId";
private Integer supporterOrgId;
public static String SUPPORTER_ORG_FULLID = "supporterOrgFullid";
private String supporterOrgFullid;
public static String SALES_ORG_FULLID = "salesOrgFullid";
private String salesOrgFullid;
public static String SIGN_SALES_ORG_FULLID = "signSalesOrgFullId";
private String signSalesOrgFullId;
public static String OPP_ID = "oppId";
private Integer oppId;
public static String DOMAIN = "domain";
private String domain;
public static String UN_SERVICE_DAY = "unServiceDay";
private java.math.BigDecimal unServiceDay;
public static String PROCESS_ID = "processId";
private Long processId;
public static String LAST_OPER_TYPE = "lastOperType";
private String lastOperType;
public static String UNVOUCHER_AMOUNT = "unvoucherAmount";
private java.math.BigDecimal unvoucherAmount;
public static String GMT_VOUCHER_RECEIVE = "gmtVoucherReceive";
private java.util.Date gmtVoucherReceive;
public static String GMT_PAYMENT_REMIT = "gmtPaymentRemit";
private java.util.Date gmtPaymentRemit;
public static String SERVICE_JUMP_DAYS = "serviceJumpDays";
private Integer serviceJumpDays;
public static String SIGN_SALES_ID = "signSalesId";
private String signSalesId;
public static String SALES_ORG_ID = "salesOrgId";
private Integer salesOrgId;
public static String SIGN_SALES_ORG_ID = "signSalesOrgId";
private Integer signSalesOrgId;
public Integer getSignSalesOrgId() {
return signSalesOrgId;
}
public void setSignSalesOrgId(Integer signSalesOrgId) {
this.signSalesOrgId = signSalesOrgId;
}
public Integer getSalesOrgId() {
return salesOrgId;
}
public void setSalesOrgId(Integer salesOrgId) {
this.salesOrgId = salesOrgId;
}
public static String SIGN_SELLER_COMPANY = "signSellerCompany";
private String signSellerCompany;
public static String BARGAIN_ID = "bargainId";
private Integer bargainId;
public Integer getBargainId() {
return bargainId;
}
public void setBargainId(Integer bargainId) {
this.bargainId = bargainId;
}
public String getSignSellerCompany() {
return signSellerCompany;
}
public void setSignSellerCompany(String signSellerCompany) {
this.signSellerCompany = signSellerCompany;
}
// 增加了新签和续签销售的id
public static String SALES_ID = "salesId";
private String salesId;
public String getSalesId() {
return salesId;
}
public void setSalesId(String salesId) {
this.salesId = salesId;
}
public String getRenewSalesId() {
return renewSalesId;
}
public void setRenewSalesId(String renewSalesId) {
this.renewSalesId = renewSalesId;
}
public static String RENEW_SALES_ID = "renewSalesId";
private String renewSalesId;
public static String GMT_SIGN = "gmtSign";
private java.util.Date gmtSign;
public Object getOrderId() {
return this.orderId;
}
public void setOrderId(Object orderId) {
this.orderId = orderId;
}
public Integer getParentId() {
return this.parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
public String getSerialNum() {
return this.serialNum;
}
public void setSerialNum(String serialNum) {
this.serialNum = serialNum;
}
public String getItemNum() {
return this.itemNum;
}
public void setItemNum(String itemNum) {
this.itemNum = itemNum;
}
public String getPurchaseType() {
return this.purchaseType;
}
public void setPurchaseType(String purchaseType) {
this.purchaseType = purchaseType;
}
public String getAttribute() {
return this.attribute;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
public String getMemberId() {
return this.memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getProductCode() {
return this.productCode;
}
public void setProductCode(String productCode) {
this.productCode = productCode;
}
public Integer getNum() {
return this.num;
}
public void setNum(Integer num) {
this.num = num;
}
public String getUnit() {
return this.unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public java.math.BigDecimal getPrice() {
return this.price;
}
public void setPrice(java.math.BigDecimal price) {
this.price = price;
}
public java.math.BigDecimal getDiscountRate() {
return this.discountRate;
}
public void setDiscountRate(java.math.BigDecimal discountRate) {
this.discountRate = discountRate;
}
public java.math.BigDecimal getQuotedPrice() {
return this.quotedPrice;
}
public void setQuotedPrice(java.math.BigDecimal quotedPrice) {
this.quotedPrice = quotedPrice;
}
public java.math.BigDecimal getUltimatePrice() {
return this.ultimatePrice;
}
public void setUltimatePrice(java.math.BigDecimal ultimatePrice) {
this.ultimatePrice = ultimatePrice;
}
public java.math.BigDecimal getExecuteAmount() {
return this.executeAmount;
}
public void setExecuteAmount(java.math.BigDecimal executeAmount) {
this.executeAmount = executeAmount;
}
public java.util.Date getGmtTargetBegin() {
return this.gmtTargetBegin;
}
public void setGmtTargetBegin(java.util.Date gmtTargetBegin) {
this.gmtTargetBegin = gmtTargetBegin;
}
public java.util.Date getGmtTargetEnd() {
return this.gmtTargetEnd;
}
public void setGmtTargetEnd(java.util.Date gmtTargetEnd) {
this.gmtTargetEnd = gmtTargetEnd;
}
public java.util.Date getGmtActualBegin() {
return this.gmtActualBegin;
}
public void setGmtActualBegin(java.util.Date gmtActualBegin) {
this.gmtActualBegin = gmtActualBegin;
}
public java.util.Date getGmtActualEnd() {
return this.gmtActualEnd;
}
public void setGmtActualEnd(java.util.Date gmtActualEnd) {
this.gmtActualEnd = gmtActualEnd;
}
public String getServiceSupplyCompany() {
return this.serviceSupplyCompany;
}
public void setServiceSupplyCompany(String serviceSupplyCompany) {
this.serviceSupplyCompany = serviceSupplyCompany;
}
public String getBenefitCustomer() {
return this.benefitCustomer;
}
public void setBenefitCustomer(String benefitCustomer) {
this.benefitCustomer = benefitCustomer;
}
public Integer getBenefitCustomerId() {
return this.benefitCustomerId;
}
public void setBenefitCustomerId(Integer benefitCustomerId) {
this.benefitCustomerId = benefitCustomerId;
}
public Integer getBenefitCustomerContactor() {
return this.benefitCustomerContactor;
}
public void setBenefitCustomerContactor(Integer benefitCustomerContactor) {
this.benefitCustomerContactor = benefitCustomerContactor;
}
public String getBizStatus() {
return this.bizStatus;
}
public void setBizStatus(String bizStatus) {
this.bizStatus = bizStatus;
}
public String getVoucherStatus() {
return this.voucherStatus;
}
public void setVoucherStatus(String voucherStatus) {
this.voucherStatus = voucherStatus;
}
public String getPaymentStatus() {
return this.paymentStatus;
}
public void setPaymentStatus(String paymentStatus) {
this.paymentStatus = paymentStatus;
}
public java.math.BigDecimal getPaymentAmount() {
return this.paymentAmount;
}
public void setPaymentAmount(java.math.BigDecimal paymentAmount) {
this.paymentAmount = paymentAmount;
}
public Integer getPolicyId() {
return this.policyId;
}
public void setPolicyId(Integer policyId) {
this.policyId = policyId;
}
public String getMemo() {
return this.memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
public String getSupporter() {
return this.supporter;
}
public void setSupporter(String supporter) {
this.supporter = supporter;
}
public Integer getSupporterOrgId() {
return this.supporterOrgId;
}
public void setSupporterOrgId(Integer supporterOrgId) {
this.supporterOrgId = supporterOrgId;
}
public String getSupporterOrgFullid() {
return this.supporterOrgFullid;
}
public void setSupporterOrgFullid(String supporterOrgFullid) {
this.supporterOrgFullid = supporterOrgFullid;
}
public Integer getOppId() {
return this.oppId;
}
public void setOppId(Integer oppId) {
this.oppId = oppId;
}
public String getDomain() {
return this.domain;
}
public void setDomain(String domain) {
this.domain = domain;
}
public java.math.BigDecimal getUnServiceDay() {
return this.unServiceDay;
}
public void setUnServiceDay(java.math.BigDecimal unServiceDay) {
this.unServiceDay = unServiceDay;
}
public Long getProcessId() {
return this.processId;
}
public void setProcessId(Long processId) {
this.processId = processId;
}
public String getLastOperType() {
return this.lastOperType;
}
public void setLastOperType(String lastOperType) {
this.lastOperType = lastOperType;
}
public java.math.BigDecimal getUnvoucherAmount() {
return this.unvoucherAmount;
}
public void setUnvoucherAmount(java.math.BigDecimal unvoucherAmount) {
this.unvoucherAmount = unvoucherAmount;
}
public java.util.Date getGmtVoucherReceive() {
return this.gmtVoucherReceive;
}
public void setGmtVoucherReceive(java.util.Date gmtVoucherReceive) {
this.gmtVoucherReceive = gmtVoucherReceive;
}
public java.util.Date getGmtPaymentRemit() {
return this.gmtPaymentRemit;
}
public void setGmtPaymentRemit(java.util.Date gmtPaymentRemit) {
this.gmtPaymentRemit = gmtPaymentRemit;
}
public Integer getServiceJumpDays() {
return this.serviceJumpDays;
}
public void setServiceJumpDays(Integer serviceJumpDays) {
this.serviceJumpDays = serviceJumpDays;
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
public String getSignSalesId() {
return signSalesId;
}
public void setSignSalesId(String signSalesId) {
this.signSalesId = signSalesId;
}
public String getSalesOrgFullid() {
return salesOrgFullid;
}
public void setSalesOrgFullid(String salesOrgFullid) {
this.salesOrgFullid = salesOrgFullid;
}
public String getSignSalesOrgFullId() {
return signSalesOrgFullId;
}
public void setSignSalesOrgFullId(String signSalesOrgFullId) {
this.signSalesOrgFullId = signSalesOrgFullId;
}
public java.util.Date getGmtSign() {
return gmtSign;
}
public void setGmtSign(java.util.Date gmtSign) {
this.gmtSign = gmtSign;
}
}
public static class MSGTYPE {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}