SSM校园商铺平台(一)
1.系统功能模块
1.1 前端
1.2 店铺管理系统
1.3 超级管理员系统
2.实体类分析
2.1 区域类
区域表示的是该商铺的地址范围。由此用户可知到商铺距离自己有多远。
区域的权重越高表示展示的位置越靠前。
2.1.1 Area类的创建
这里成员变量全部为引用类型,使其默认值为null,如果为基本数据类型,默认值为0,所以我们不希望其默认值为0。
public class Area {
//ID
private Integer areaId;
//名称
private String areaName;
//权重
private Integer priority;
//创建时间
private Date createTime;
//更新时间
private Date updateTime;
}
生成getter和setter方法
2.1.1 area数据库的创建
CREATE TABLE `tb_area` (
`area_id` int(2) NOT NULL AUTO_INCREMENT,
`area_name` varchar(200) NOT NULL,
`priority` int(2) NOT NULL DEFAULT '0',
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
PRIMARY KEY (`area_id`),
UNIQUE KEY `UK_AREA` (`area_name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2.2 用户类
身份识别表明用户是商家还是顾客
2.2.1 用户类创建
身份识别表明用户是商家还是顾客
用户状态表示该用户账号是否被限制
public class PersonInfo {
//用户id
private Long userId;
//姓名
private String name;
//头像
private String profileImg;
//邮箱
private String email;
//性别
private String gender;
//用户状态
private Integer enableStatus;
//用户类别:1.顾客 2.商家 3.超级管理员
private Integer userType;
private Date createTime;
private Date lastEditTime;
}
2.2.2 用户数据库
CREATE TABLE `tb_person_info` (
`user_id` int(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(32) DEFAULT NULL,
`profile_img` VARCHAR(1024) DEFAULT NULL,
`email` VARCHAR(1024) DEFAULT NULL,
`gender` VARCHAR(2) DEFAULT NULL,
`enable_status` int(2) NOT NULL DEFAULT '0' COMMENT'0:禁止使用本上次',
`user_type` int(2) NOT NULL DEFAULT '1',
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
PRIMARY KEY(`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2.3 微信账号和本地账号
这两个类都与用户id相关联,所以在这两个类中需要包含成员变量用户类PersonInfo的对象。
通过这样设置可以将微信账号和本地帐号绑定起来。
2.3.1 微信账号
public class WechatAuth {
private Long wechatAuthId;
private String openId;
private Date cerateTime;
private PersonInfo personInfo;
}
数据库:
CREATE TABLE `tb_wechat_auth` (
`wechat_auth_id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) NOT NULL,
`open_id` VARCHAR(1024) NOT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY(`wechat_auth_id`),
CONSTRAINT `fk_wechatauth_profile` FOREIGN KEY (`user_id`) REFERENCES `tb_person_info`(`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2.3.2 本地账号
public class LocalAuth {
private Long localAuthId;
private String username;
private String password;
private Date createTime;
private Date lastEditTime;
private PersonInfo personInfo;
}
数据库:
CREATE TABLE `tb_local_auth` (
`local_auth_id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) NOT NULL,
`username` VARCHAR(128) NOT NULL,
`password` VARCHAR(128) NOT NULL,
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
PRIMARY KEY(`local_auth_id`),
UNIQUE KEY `uk_local_profile`(`username`),
CONSTRAINT `fk_localauth_profile` FOREIGN KEY (`user_id`) REFERENCES `tb_person_info`(`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2.4 头条类
这就是首页推荐的商品
2.4.1 创建头条类
public class HeadLine {
private Long lineId;
private String lineName;
private String lineLink;
private String lineImg;
private Integer priority;
private Integer enableStatus;//0不可用 1可用
private Date createTime;
private Date lastEditTime;
}
2.4.2 数据库
CREATE TABLE `tb_head_line` (
`line_id` int(100) NOT NULL AUTO_INCREMENT,
`line_name` varchar(1000) DEFAULT NULL,
`line_link` varchar(2000) NOT NULL,
`line_img` varchar(2000) NOT NULL,
`priority` int(2) DEFAULT NULL