订单的状态
/**
* 订单状态
*
*/
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();
}
分享到:
相关推荐
信通购物网InfocomhopV1.6(Struts2+Hibernate+Spring+MySQL)版 简介 采用当前最流行的技术平台。 前台 1、会员功能:注册会员,修改会员资料; 登录系统后可以选购商品,放入购物车(修改购物数量、删除购物车...
本次课程设计是对前面学过的Java web编程知识的一个整合实践,因此,开始设计前学生一定要先回顾以前所学的内容,...要求包含5个以上实体:商品分类信息,商品基础信息,热门商品信息,购物订单信息,商品库存量信息。
上海购物网设计的购物系统是基于WEB开发的大型购物系统。它以构建电子商务网站为目标,由前台购物、后台管理、在线支付三大部分组成。各大部分完美结合,都有着最为完善和强大的功能,最大限度的满足客户在线购物和...
SSH绿色健康购物网是一个基于SSH框架开发的在线购物平台,其源码的公开为开发者提供了一个学习和研究的宝贵资源。SSH是三个开源Java框架的缩写,它们分别是Spring、Struts和Hibernate,这些框架在构建企业级Web应用...
上海购物网设计的购物系统是基于WEB开发的大型购物系统。 它以构建电子商务网站为目标,由前台购物、后台管理、在线支付三大部分组成。各大部分完美结合,都有着最为完善和强大的功能,最大限度的满足客户网上开店...
本飘香水果购物网站管理员功能有,个人中心管理,用户管理,会员管理,会员卡管理,开通会员记录管理,积分管理,水果管理,购买水果订单管理,积分兑换管理,积分兑换记录管理,加积分记录管理,减积分记录管理。...
本飘香水果购物网站管理员功能有,个人中心管理,用户管理,会员管理,会员卡管理,开通会员记录管理,积分管理,水果管理,购买水果订单管理,积分兑换管理,积分兑换记录管理,加积分记录管理,减积分记录管理。...
通过这个"图书购物网"项目,开发者可以深入理解J2EE应用的生命周期,掌握如何在实际环境中整合各种技术,以及如何处理复杂的业务逻辑和数据交互。对于学习者来说,这是一个很好的实践平台,有助于提升其在Web开发...
在实际开发过程中,项目通常会包含多个子模块,例如用户注册登录模块、商品浏览模块、购物车模块、订单处理模块等。每个模块都有其特定的功能和业务逻辑。例如,用户注册登录模块需要处理用户信息的验证和存储;商品...
在Java实现的B2C购物网站中,通常包含以下几个关键模块: 1. **用户模块**:包括用户注册、登录、个人信息管理等功能。这部分代码可能涉及到Spring Security或Apache Shiro进行权限控制,使用Hibernate或MyBatis等...
在购物网应用中,这些模型可能包括`Product`(产品)、`Cart`(购物车)和`Order`(订单)等实体。 购物网的关键功能包括商品浏览、添加到购物车、结账和支付。以下是一些具体的技术点: 1. 商品展示:商品信息...
一直想写个完整的购物模块,但限于能力到现在也没完。这两天参考别人的自己写了这样一个简单的购物功能, 但还存在两个问题没有解决 : 1、----如何用户下次登录查询上次的购物清单---- 2、----如何将支付嵌入到模块...
英豪简易购物网V1.0-SP1修复版 程序基础上修复了SQL注入漏洞 补上了通用的防注入源码 使本套程序使用更安全 后台管理地址 你的网址/商城目录/admin,输入管理帐号密码(默认帐号密码都是:admin) 留言本的...
【描述】中提到的“12个购物网”简单明了地告诉我们这是一个集合,包含了12个独立的购物网站的源代码。这可能是不同类型的电商平台,比如B2C、C2C或混合模式,每个平台可能有不同的功能和设计,以便于分析和对比。 ...
综上所述,这个【购物网后台模板】集成了一个网上商城后台所需的全部基本功能,从用户管理到订单处理,再到支付安全,构建了一个高效、安全的电子商务后台管理体系。这样的模板对于快速搭建和运营电子商务网站来说...
【描述】"校内购物网V1.1源码asp.net"可能包含以下几个核心组成部分: 1. **用户模块**:用户注册、登录、个人信息管理等功能,确保只有校内人员可以注册并进行购物。可能采用了身份验证机制,如学生证号或教工号...
通过这个项目,开发者可以学习到如何构建一个完整的电商系统,涵盖用户注册登录、商品浏览、购物车管理、订单处理等多个核心模块。 1. **用户模块**: - 注册与登录:用户可以创建账户并进行身份验证,通常包括...
后台功能有: 客户管理 客户信息管理 权限管理 权限添加 权限信息管理 员工管理 员工添加 员工信息管理 角色管理 角色添加 ...订单管理 订单信息管理 商品管理 商品添加 商品信息管理 商品类别管理 商品类别添加
禧嬉同城购物网是一个旨在构建全国最安全交易环境的B2C(Business-to-Consumer)网上购物平台。这个项目由禧嬉商贸委托,由禧嬉贸易的技术团队,包括刘海智、孟伦和贾运起负责开发。该文档的主要目的是为开发团队...
2. **电商平台功能**:包括商品展示、搜索与过滤、购物车、支付系统、订单管理、用户评论等模块。这些功能的实现需要深入理解电子商务流程,并结合API接口与第三方支付平台(如支付宝、微信支付)进行集成。 3. **...