【SpringBoot商城秒杀系统项目实战05】数据库设计与对应的domain对象

数据库设计:商品表,秒杀商品表,订单表,秒杀订单,用户表
秒杀商品表和商品表分开。原因:每次秒杀活动都会操作数据库,修改秒杀商品的字段,因为每次秒杀时候。对应的秒杀时间段,秒杀实现,秒杀功能,价格等都不同,商品表不易于维护。而且,秒杀商品的个数和普通商品的个数是独立计算的,不同于普通商品的库存字段。

	create table goods
	(
	id BIGINT(20) primary key not null auto_increment,
	goods_name varchar(16) DEFAULT NULL,
	goods_title varchar(64) DEFAULT NULL,
	goods_img varchar(64) DEFAULT NULL,
	goods_detail LONGTEXT,
	goods_price DECIMAL(10,2) DEFAULT '0.00',
	goods_stock INT(11) DEFAULT '0' 
	);


	create table miaosha_goods
	(
	id BIGINT(20) primary key not null auto_increment,
	goods_id BIGINT(20)  DEFAULT NULL,
	miaosha_price DECIMAL(10,2) DEFAULT '0.00',
	stock_count INT(11) DEFAULT NULL,
	start_date datetime DEFAULT NULL,
	end_date datetime DEFAULT NULL
	);

	create table miaosha_order
	(
	id BIGINT(20) primary key not null auto_increment,
	user_id BIGINT(20)  DEFAULT NULL,
	order_id BIGINT(20)  DEFAULT NULL,
	goods_id BIGINT(20)  DEFAULT NULL	
	);

	create table order_info
	(
	id BIGINT(20) primary key not null auto_increment,
	user_id BIGINT(20)  DEFAULT NULL,
	goods_id BIGINT(20)  DEFAULT NULL,
	/*收获地址*/
	delivery_addr_id BIGINT(20)  DEFAULT NULL,
	goods_name varchar(16) DEFAULT NULL,
	goods_count INT(11)  DEFAULT '0',
	goods_price decimal(10,2) DEFAULT '0.00',
	order_channel TINYINT(4) DEFAULT '0',
	order_status TINYINT(4) DEFAULT '0',
	create_date datetime DEFAULT NULL,
	pay_date datetime DEFAULT NULL	
	);
	
	create table miaosha_user
	(
	id BIGINT(20) primary key not null auto_increment,
	nickname VARCHAR(255) NOT NULL,
	pwd VARCHAR(32) DEFAULT NULL,
	salt VARCHAR(10) DEFAULT NULL,
	head VARCHAR(128) DEFAULT NULL,
	register_date DATETIME DEFAULT NULL,
	last_login_time DATETIME DEFAULT NULL,
	login_count INT(11) DEFAULT 0
	);

与数据库表相对应的domain对象:
商品表对象Goods:

	public class Goods {
	private Long id;
	private String goodsName;
	private String goodsTitle;
	private String goodsImg;
	private String goodsDetail;
	private Double goodsPrice;
	//库存
	private Integer goodsStock;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getGoodsName() {
		return goodsName;
	}
	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}
	public String getGoodsTitle() {
		return goodsTitle;
	}
	public void setGoodsTitle(String goodsTitle) {
		this.goodsTitle = goodsTitle;
	}
	public String getGoodsImg() {
		return goodsImg;
	}
	public void setGoodsImg(String goodsImg) {
		this.goodsImg = goodsImg;
	}
	public String getGoodsDetail() {
		return goodsDetail;
	}
	public void setGoodsDetail(String goodsDetail) {
		this.goodsDetail = goodsDetail;
	}
	public Double getGoodsPrice() {
		return goodsPrice;
	}
	public void setGoodsPrice(Double goodsPrice) {
		this.goodsPrice = goodsPrice;
	}
	public Integer getGoodsStock() {
		return goodsStock;
	}
	public void setGoodsStock(Integer goodsStock) {
		this.goodsStock = goodsStock;
	}
}

秒杀商品表MiaoshaGoods:

	public class MiaoshaGoods {
	private Long id;
	private Long goodsId;
	private Double miaoshaPrice;
	private Integer stockCount;
	private Date startDate;
	private Date endDate;
	
	public Double getMiaoshaPrice() {
		return miaoshaPrice;
	}
	public void setMiaoshaPrice(Double miaoshaPrice) {
		this.miaoshaPrice = miaoshaPrice;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getGoodsId() {
		return goodsId;
	}
	public void setGoodsId(Long goodsId) {
		this.goodsId = goodsId;
	}
	public Integer getStockCount() {
		return stockCount;
	}
	public void setStockCount(Integer stockCount) {
		this.stockCount = stockCount;
	}
	public Date getStartDate() {
		return startDate;
	}
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
}

详细订单表OrderInfo :

	public class OrderInfo {
	private Long id;
	private Long userId;
	private Long goodsId;
	private Long deliveryAddrId;
	private String goodsName;
	private Integer goodsCount;
	private Double goodsPrice;
	private Integer orderChannel;
	private Integer orderStatus;
	private Date createDate;
	private Date payDate;
	
	public Integer getOrderStatus() {
		return orderStatus;
	}
	public void setOrderStatus(Integer orderStatus) {
		this.orderStatus = orderStatus;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getUserId() {
		return userId;
	}
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	public Long getGoodsId() {
		return goodsId;
	}
	public void setGoodsId(Long goodsId) {
		this.goodsId = goodsId;
	}
	public Long getDeliveryAddrId() {
		return deliveryAddrId;
	}
	public void setDeliveryAddrId(Long deliveryAddrId) {
		this.deliveryAddrId = deliveryAddrId;
	}
	public String getGoodsName() {
		return goodsName;
	}
	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}
	public Integer getGoodsCount() {
		return goodsCount;
	}
	public void setGoodsCount(Integer goodsCount) {
		this.goodsCount = goodsCount;
	}
	public Double getGoodsPrice() {
		return goodsPrice;
	}
	public void setGoodsPrice(Double goodsPrice) {
		this.goodsPrice = goodsPrice;
	}
	public Integer getOrderChannel() {
		return orderChannel;
	}
	public void setOrderChannel(Integer orderChannel) {
		this.orderChannel = orderChannel;
	}
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	public Date getPayDate() {
		return payDate;
	}
	public void setPayDate(Date payDate) {
		this.payDate = payDate;
	}
}

秒杀订单表MiaoshaOrder :

	public class MiaoshaOrder {
	private Long id;
	private Long userId;
	private Long orderId;
	private Long goodsId;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getUserId() {
		return userId;
	}
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	public Long getOrderId() {
		return orderId;
	}
	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}
	public Long getGoodsId() {
		return goodsId;
	}
	public void setGoodsId(Long goodsId) {
		this.goodsId = goodsId;
	}	
}

秒杀用户表MiaoshaUser:

	public class MiaoshaUser {
	private Long id;
	private String nickname;
	private String pwd;
	private String salt;
	private String head;
	private Date registerDate;
	private Date lastLoginDate;
	private Integer loginCount;
	
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNickname() {
		return nickname;
	}
	public void setNickname(String nickname) {
		this.nickname = nickname;
	}
	
	public String getSalt() {
		return salt;
	}
	public void setSalt(String salt) {
		this.salt = salt;
	}
	public String getHead() {
		return head;
	}
	public void setHead(String head) {
		this.head = head;
	}
	public Date getRegisterDate() {
		return registerDate;
	}
	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}
	public Date getLastLoginDate() {
		return lastLoginDate;
	}
	public void setLastLoginDate(Date lastLoginDate) {
		this.lastLoginDate = lastLoginDate;
	}
	public Integer getLoginCount() {
		return loginCount;
	}
	public void setLoginCount(Integer loginCount) {
		this.loginCount = loginCount;
	}		
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值