`
悲剧了
  • 浏览: 143826 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

购物网-->>订单模块中的几个实体

阅读更多
订单的状态
/**
 * 订单状态
 *
 */
public enum OrderState {
	
	/** 已取消 */
    CANCEL {public String getName(){return "已取消";}},
    /** 待审核 */
    WAITCONFIRM {public String getName(){return "待审核";}},
    /** 等待付款 */
    WAITPAYMENT {public String getName(){return "等待付款";}},
    /** 正在配货 */
    ADMEASUREPRODUCT {public String getName(){return "正在配货";}},
    /** 等待发货 */
    WAITDELIVER {public String getName(){return "等待发货";}},
    /** 已发货 */
    DELIVERED {public String getName(){return "已发货";}},
    /** 已收货 */
    RECEIVED {public String getName(){return "已收货";}};
    
    public abstract String getName();
}


订单实体
/**
 * 订单
 */
@Entity @Table(name="t_order")
public class Order {
	/* 订单号 */
	private String orderid;
	/* 所属用户 */
	private Buyer buyer;
	/* 订单创建时间 */
	private Date createDate = new Date();
	/* 订单状态 */
	private OrderState state;
	/* 商品总金额 */
	private Float productTotalPrice = 0f;
	/* 配送费 */
	private Float deliverFee = 0f;
	/* 订单总金额 */
	private Float totalPrice= 0f;
	/* 应付款(实际需要支付的费用) */
	private Float payablefee = 0f;
	/* 顾客附言 */
	private String note;
	/* 支付方式 */
	private PaymentWay paymentWay;
	/* 支付状态 */
    private Boolean paymentstate = false;
    /* 订单配送信息 */
	private OrderDeliverInfo orderDeliverInfo;
	/* 订单购买者联系信息 */
	private OrderContactInfo orderContactInfo;
	/* 订单项 */
	private Set<OrderItem> items = new HashSet<OrderItem>();
	
	@Id @Column(length=14)
	public String getOrderid() {
		return orderid;
	}
	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}
	@ManyToOne(cascade=CascadeType.REFRESH, optional=false)
	@JoinColumn(name="username")
	public Buyer getBuyer() {
		return buyer;
	}
	public void setBuyer(Buyer buyer) {
		this.buyer = buyer;
	}
	@Temporal(TemporalType.TIMESTAMP) @Column(nullable=false)
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	@Enumerated(EnumType.STRING) @Column(length=16, nullable=false)
	public OrderState getState() {
		return state;
	}
	public void setState(OrderState state) {
		this.state = state;
	}
	@Column(nullable=false)
	public Float getProductTotalPrice() {
		return productTotalPrice;
	}
	public void setProductTotalPrice(Float productTotalPrice) {
		this.productTotalPrice = productTotalPrice;
	}
	@Column(nullable=false)
	public Float getDeliverFee() {
		return deliverFee;
	}
	public void setDeliverFee(Float deliverFee) {
		this.deliverFee = deliverFee;
	}
	@Column(nullable=false)
	public Float getTotalPrice() {
		return totalPrice;
	}
	public void setTotalPrice(Float totalPrice) {
		this.totalPrice = totalPrice;
	}
	@Column(nullable=false)
	public Float getPayablefee() {
		return payablefee;
	}
	public void setPayablefee(Float payablefee) {
		this.payablefee = payablefee;
	}
	@Column(length=100)
	public String getNote() {
		return note;
	}
	public void setNote(String note) {
		this.note = note;
	}
	@Enumerated(EnumType.STRING) @Column(length=20,nullable=false)
	public PaymentWay getPaymentWay() {
		return paymentWay;
	}
	public void setPaymentWay(PaymentWay paymentWay) {
		this.paymentWay = paymentWay;
	}
	@Column(nullable=false)
	public Boolean getPaymentstate() {
		return paymentstate;
	}
	public void setPaymentstate(Boolean paymentstate) {
		this.paymentstate = paymentstate;
	}
	@OneToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="deliver_id")
	public OrderDeliverInfo getOrderDeliverInfo() {
		return orderDeliverInfo;
	}
	public void setOrderDeliverInfo(OrderDeliverInfo orderDeliverInfo) {
		this.orderDeliverInfo = orderDeliverInfo;
	}
	@OneToOne(cascade=CascadeType.ALL, optional=false)
	@JoinColumn(name="contact_id")
	public OrderContactInfo getOrderContactInfo() {
		return orderContactInfo;
	}
	public void setOrderContactInfo(OrderContactInfo orderContactInfo) {
		this.orderContactInfo = orderContactInfo;
	}
	@OneToMany(mappedBy="order",cascade=CascadeType.ALL)
	public Set<OrderItem> getItems() {
		return items;
	}
	public void setItems(Set<OrderItem> items) {
		this.items = items;
	}
	/**
	 * 添加订单项
	 * @param item
	 */
	public void addOrderItem(OrderItem item){
		this.items.add(item);
		item.setOrder(this);
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((orderid == null) ? 0 : orderid.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final Order other = (Order) obj;
		if (orderid == null) {
			if (other.orderid != null)
				return false;
		} else if (!orderid.equals(other.orderid))
			return false;
		return true;
	}
	
}

/**
 * 配送信息
 */
@Entity
public class OrderDeliverInfo {
	private Integer deliverid;
	/* 收货人姓名 */
	private String recipients;
	/* 配送地址 */
	private String address;
	/* 电子邮箱 */
	private String email;
	/* 邮编 */
	private String postalcode;
	/* 座机 */
	private String tel;
	/* 手机 */
	private String mobile;
	/* 性别 */
	private Gender gender = Gender.MAN;
	/* 送货方式 */
	private DeliverWay deliverWay;
	/* 时间要求 */
	private String requirement;
	/* 所属的订单 */
	private Order order;
	
	@OneToOne(mappedBy="orderDeliverInfo", cascade=CascadeType.REFRESH)
	public Order getOrder() {
		return order;
	}
	public void setOrder(Order order) {
		this.order = order;
	}
	@Id @GeneratedValue
	public Integer getDeliverid() {
		return deliverid;
	}
	public void setDeliverid(Integer deliverid) {
		this.deliverid = deliverid;
	}
	@Enumerated(EnumType.STRING) @Column(length=23,nullable=false)
	public DeliverWay getDeliverWay() {
		return deliverWay;
	}
	public void setDeliverWay(DeliverWay deliverWay) {
		this.deliverWay = deliverWay;
	}
	@Column(length=30)
	public String getRequirement() {
		return requirement;
	}
	public void setRequirement(String requirement) {
		this.requirement = requirement;
	}
	@Column(length=8,nullable=false)
	public String getRecipients() {
		return recipients;
	}
	public void setRecipients(String recipients) {
		this.recipients = recipients;
	}
	@Column(length=40,nullable=false)
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@Column(length=40)
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	@Column(length=6)
	public String getPostalcode() {
		return postalcode;
	}
	public void setPostalcode(String postalcode) {
		this.postalcode = postalcode;
	}
	@Column(length=18)
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	@Column(length=11)
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	@Enumerated(EnumType.STRING) @Column(length=5,nullable=false)
	public Gender getGender() {
		return gender;
	}
	public void setGender(Gender gender) {
		this.gender = gender;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((deliverid == null) ? 0 : deliverid.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final OrderDeliverInfo other = (OrderDeliverInfo) obj;
		if (deliverid == null) {
			if (other.deliverid != null)
				return false;
		} else if (!deliverid.equals(other.deliverid))
			return false;
		return true;
	}
	
}


/**
 * 订购者联系信息
 *
 */
@Entity
public class OrderContactInfo {
	private Integer contactid;
	/* 购买人姓名 */
	private String buyerName;
	/* 联系地址 */
	private String address;
	/* 电子邮箱 */
	private String email;
	/* 邮编 */
	private String postalcode;
	/* 座机 */
	private String tel;
	/* 手机 */
	private String mobile;
	/* 性别 */
	private Gender gender = Gender.MAN;
	/* 所属订单 */
	private Order order;
	
	@OneToOne(cascade=CascadeType.REFRESH, mappedBy="orderContactInfo")
	public Order getOrder() {
		return order;
	}
	public void setOrder(Order order) {
		this.order = order;
	}
	@Id @GeneratedValue
	public Integer getContactid() {
		return contactid;
	}
	public void setContactid(Integer contactid) {
		this.contactid = contactid;
	}
	@Column(length=8,nullable=false)
	public String getBuyerName() {
		return buyerName;
	}
	public void setBuyerName(String buyerName) {
		this.buyerName = buyerName;
	}
	@Column(length=40,nullable=false)
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@Column(length=40)
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	@Column(length=6)
	public String getPostalcode() {
		return postalcode;
	}
	public void setPostalcode(String postalcode) {
		this.postalcode = postalcode;
	}
	@Column(length=18)
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	@Column(length=11)
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	@Enumerated(EnumType.STRING) @Column(length=5,nullable=false)
	public Gender getGender() {
		return gender;
	}
	public void setGender(Gender gender) {
		this.gender = gender;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((contactid == null) ? 0 : contactid.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final OrderContactInfo other = (OrderContactInfo) obj;
		if (contactid == null) {
			if (other.contactid != null)
				return false;
		} else if (!contactid.equals(other.contactid))
			return false;
		return true;
	}
	
}



/**
 * 订单项
 */
@Entity
public class OrderItem {
	private Integer itemid;
	/* 产品名称 */
	private String productName;
	/* 产品id */
	private Integer productid;
	/* 产品销售价 */
	private Float productPrice = 0f;
	/* 购买数量 */
	private Integer amount = 1;
	/* 产品样式 */
	private String styleName;	
	/* 产品样式ID */
	private Integer styleid;
	/* 所属订单 */
	private Order order;
	
	public OrderItem(){}
	
	public OrderItem(String productName, Integer productid, Float productPrice,
			Integer amount, String styleName, Integer styleid) {
		this.productName = productName;
		this.productid = productid;
		this.productPrice = productPrice;
		this.amount = amount;
		this.styleName = styleName;
		this.styleid = styleid;
	}
	@Id @GeneratedValue
	public Integer getItemid() {
		return itemid;
	}
	public void setItemid(Integer itemid) {
		this.itemid = itemid;
	}
	@Column(length=50,nullable=false)
	public String getProductName() {
		return productName;
	}
	public void setProductName(String productName) {
		this.productName = productName;
	}
	@Column(nullable=false)
	public Integer getProductid() {
		return productid;
	}
	public void setProductid(Integer productid) {
		this.productid = productid;
	}
	@Column(nullable=false)
	public Float getProductPrice() {
		return productPrice;
	}
	public void setProductPrice(Float productPrice) {
		this.productPrice = productPrice;
	}
	@Column(nullable=false)
	public Integer getAmount() {
		return amount;
	}
	public void setAmount(Integer amount) {
		this.amount = amount;
	}
	@Column(length=30,nullable=false)
	public String getStyleName() {
		return styleName;
	}
	public void setStyleName(String styleName) {
		this.styleName = styleName;
	}
	@Column(nullable=false)
	public Integer getStyleid() {
		return styleid;
	}
	public void setStyleid(Integer styleid) {
		this.styleid = styleid;
	}
	@ManyToOne(cascade={CascadeType.MERGE, CascadeType.REFRESH}, optional=false)
	@JoinColumn(name="order_id")
	public Order getOrder() {
		return order;
	}
	public void setOrder(Order order) {
		this.order = order;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((itemid == null) ? super.hashCode() : itemid.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final OrderItem other = (OrderItem) obj;
		if (itemid == null) {
			if (other.itemid != null)
				return false;
		} else if (!itemid.equals(other.itemid))
			return false;
		return true;
	}
	
}



@Entity
public class GeneratedOrderid {
	private String id;
	private Integer orderid = 0;
	
	@Id @Column(length=5)
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	@Column(nullable=false)
	public Integer getOrderid() {
		return orderid;
	}
	public void setOrderid(Integer orderid) {
		this.orderid = orderid;
	}
}
/**
 * 送货方式
 */
public enum DeliverWay {
	/** 平邮 */
	GENERALPOST{
		public String getName(){return "平邮";}
	},
	/** 快递送货上门 */
	EXPRESSDELIVERY{
		public String getName(){return "快递送货上门";}
	},
	/** 加急快递送货上门 */
	EXIGENCEEXPRESSDELIVERY{
		public String getName(){return "加急快递送货上门";}
	},
	/** 国内特快专递EMS */
	EMS{
		public String getName(){return "国内特快专递EMS";}
	};
	public abstract String getName();
}
1
0
分享到:
评论

相关推荐

    信通购物网-购物网源码

    信通购物网InfocomhopV1.6(Struts2+Hibernate+Spring+MySQL)版 简介 采用当前最流行的技术平台。 前台 1、会员功能:注册会员,修改会员资料; 登录系统后可以选购商品,放入购物车(修改购物数量、删除购物车...

    企业级web-我的购物网-个人期末课程设计-包含文档

    本次课程设计是对前面学过的Java web编程知识的一个整合实践,因此,开始设计前学生一定要先回顾以前所学的内容,...要求包含5个以上实体:商品分类信息,商品基础信息,热门商品信息,购物订单信息,商品库存量信息。

    上海购物网---网上商城全站代码

    上海购物网设计的购物系统是基于WEB开发的大型购物系统。它以构建电子商务网站为目标,由前台购物、后台管理、在线支付三大部分组成。各大部分完美结合,都有着最为完善和强大的功能,最大限度的满足客户在线购物和...

    SSH绿色健康购物网 -源码.zip

    SSH绿色健康购物网是一个基于SSH框架开发的在线购物平台,其源码的公开为开发者提供了一个学习和研究的宝贵资源。SSH是三个开源Java框架的缩写,它们分别是Spring、Struts和Hibernate,这些框架在构建企业级Web应用...

    上海购物网-网上商城系统2004最新版下载.rar

    上海购物网设计的购物系统是基于WEB开发的大型购物系统。  它以构建电子商务网站为目标,由前台购物、后台管理、在线支付三大部分组成。各大部分完美结合,都有着最为完善和强大的功能,最大限度的满足客户网上开店...

    水果购物网-java-基于springBoot飘香水果购物网站的设计与实现(毕业论文+PPT)

    本飘香水果购物网站管理员功能有,个人中心管理,用户管理,会员管理,会员卡管理,开通会员记录管理,积分管理,水果管理,购买水果订单管理,积分兑换管理,积分兑换记录管理,加积分记录管理,减积分记录管理。...

    水果购物网-java-基于springBoot飘香水果购物网站的设计与实现(毕业论文)

    本飘香水果购物网站管理员功能有,个人中心管理,用户管理,会员管理,会员卡管理,开通会员记录管理,积分管理,水果管理,购买水果订单管理,积分兑换管理,积分兑换记录管理,加积分记录管理,减积分记录管理。...

    J2EE成品项目压缩包--图书购物网

    通过这个"图书购物网"项目,开发者可以深入理解J2EE应用的生命周期,掌握如何在实际环境中整合各种技术,以及如何处理复杂的业务逻辑和数据交互。对于学习者来说,这是一个很好的实践平台,有助于提升其在Web开发...

    校园购物网(J2EE)

    在实际开发过程中,项目通常会包含多个子模块,例如用户注册登录模块、商品浏览模块、购物车模块、订单处理模块等。每个模块都有其特定的功能和业务逻辑。例如,用户注册登录模块需要处理用户信息的验证和存储;商品...

    购物网代码

    在Java实现的B2C购物网站中,通常包含以下几个关键模块: 1. **用户模块**:包括用户注册、登录、个人信息管理等功能。这部分代码可能涉及到Spring Security或Apache Shiro进行权限控制,使用Hibernate或MyBatis等...

    简单的ASP.NET购物网

    在购物网应用中,这些模型可能包括`Product`(产品)、`Cart`(购物车)和`Order`(订单)等实体。 购物网的关键功能包括商品浏览、添加到购物车、结账和支付。以下是一些具体的技术点: 1. 商品展示:商品信息...

    ASP.NET简单购物模块(适用于入门级)

    一直想写个完整的购物模块,但限于能力到现在也没完。这两天参考别人的自己写了这样一个简单的购物功能, 但还存在两个问题没有解决 : 1、----如何用户下次登录查询上次的购物清单---- 2、----如何将支付嵌入到模块...

    英豪简易购物网V1.0-SP1修复版

    英豪简易购物网V1.0-SP1修复版 程序基础上修复了SQL注入漏洞 补上了通用的防注入源码 使本套程序使用更安全 后台管理地址 你的网址/商城目录/admin,输入管理帐号密码(默认帐号密码都是:admin) 留言本的...

    12个购物网

    【描述】中提到的“12个购物网”简单明了地告诉我们这是一个集合,包含了12个独立的购物网站的源代码。这可能是不同类型的电商平台,比如B2C、C2C或混合模式,每个平台可能有不同的功能和设计,以便于分析和对比。 ...

    购物网后台模板

    综上所述,这个【购物网后台模板】集成了一个网上商城后台所需的全部基本功能,从用户管理到订单处理,再到支付安全,构建了一个高效、安全的电子商务后台管理体系。这样的模板对于快速搭建和运营电子商务网站来说...

    校内购物网V1.1源码asp.net

    【描述】"校内购物网V1.1源码asp.net"可能包含以下几个核心组成部分: 1. **用户模块**:用户注册、登录、个人信息管理等功能,确保只有校内人员可以注册并进行购物。可能采用了身份验证机制,如学生证号或教工号...

    购物网(仿淘宝网)

    通过这个项目,开发者可以学习到如何构建一个完整的电商系统,涵盖用户注册登录、商品浏览、购物车管理、订单处理等多个核心模块。 1. **用户模块**: - 注册与登录:用户可以创建账户并进行身份验证,通常包括...

    购物网源码--客户可以在线注册并进行商品订购

    后台功能有: 客户管理 客户信息管理 权限管理 权限添加 权限信息管理 员工管理 员工添加 员工信息管理 角色管理 角色添加 ...订单管理 订单信息管理 商品管理 商品添加 商品信息管理 商品类别管理 商品类别添加

    购物网B2C需求文档案例

    禧嬉同城购物网是一个旨在构建全国最安全交易环境的B2C(Business-to-Consumer)网上购物平台。这个项目由禧嬉商贸委托,由禧嬉贸易的技术团队,包括刘海智、孟伦和贾运起负责开发。该文档的主要目的是为开发团队...

    绿色购物网

    2. **电商平台功能**:包括商品展示、搜索与过滤、购物车、支付系统、订单管理、用户评论等模块。这些功能的实现需要深入理解电子商务流程,并结合API接口与第三方支付平台(如支付宝、微信支付)进行集成。 3. **...

Global site tag (gtag.js) - Google Analytics