更新时间 2017-09-20 10:40:59 增加sql,校正字段
更新时间 2017-09-19 16:12:28 初稿完成
项目介绍
本项目基于微信的网页API,实现扫描群发消息功能。
wechat-assistant- 需求确定
-
用户。
- 登录账号
- 修改密码
- 设置资料: 用户名称、联系地址、联系电话
- 消息列表:新增、群发、删除、编辑
- 发送记录: 查看
-
品牌管理员
- 账号管理:添加账号、禁用账号、重置密码、搜索账号
- 消息管理: 查看消息,搜索消息
- 发送记录管理: 查看记录,搜索记录
- 品牌信息设置: 设置品牌的名称、品牌的logo图片、修改密码
-
系统管理员
- 用户管理
- 品牌管理
- 消息管理
- 发送记录管理
- 系统设置:修改密码
wechat-assistant - 架构分析设计
-
逻辑架构
- JSP+JavaBean+Database
- jsp负责表现层
- JavaBean 负责业务逻辑
- DataBase 负责持久数据层
- JSP+JavaBean+Database
-
物理架构
web服务器一台
-配置清单数据库服务器一台
配置清单
-
技术解决方案
- 服务器: Tomcat-9
- 数据库 :mysql-5.7.19
wechat-assistant - 业务逻辑分析
- 会员类
- 包装系统会员信息
-
品牌管理员类
- 包装品牌管理员的信息
-
消息类
- 包装消息的信息
- 与会员类有多对一的关系:一个消息只能属于一个会员,一个会员可以有多个消息。
-
发送记录类(群发类)
- 包装群发的信息
- 与消息是多对一的关系:一次群发只能发指定的消息。一个消息可以多次群发。
- 与会员是多对一的关系:一次群发只能属于某一个会员.一个会员可以多次群发。
wechat-assistant - 业务逻辑设计
-
user
- properties
- id
- brandId
- username
- password
- realname
- telephone
- address
- isSend
- dateAdd
- methods
- ...
- properties
-
administrator
- properties
- id
- username
- password
- methods
- ...
- properties
-
brand
- properties
- id
- username
- password
- dateAdd
- brandLogo
- brandName
- methods
- properties
-
message
- properties
- id
- title
- target
- content
- dateAdd
- dateUpdate
- dateLastsEnd
- userId
- methods
- ...
- properties
-
record
-
properties
- id
- title
- target
- content
- dateAdd
- count
- userId
methods
- ...
-
wechat-assistant- 数据库设计
- user
字段名 | 字段类型 | 说明 |
---|---|---|
id | mediumint(8) unsigned | 主键/自动递增 |
brand_id | smallint(6) unsigned | 品牌ID |
user_name | char(15) | 用户名 |
password | char(32) | 密码 |
real_name | varchar(15) | 真实姓名 |
mobile | varchar(20) | 联系方式 |
address | varchar(255) | 地址 |
date_add | datetime | 注册日期 |
- administrator
字段名 | 字段类型 | 说明 |
---|---|---|
id | smallint(6) | 主键/自动递增 |
username | char(15) | 用户名 |
password | char(32) | 密码 |
- brand
字段名 | 字段类型 | 说明 |
---|---|---|
id | smallint(6) | 主键/自动递增 |
user_name | char(15) | 用户名 |
password | char(32) | 密码 |
brand_logo | varchar(255) | 品牌Logo |
brand_name | varchar(15) | 品牌名称 |
date_add | datetime | 添加时间 |
- message
字段名 | 字段类型 | 说明 |
---|---|---|
id | mediumint(8) unsigned | 主键/自动递增 |
title | varchar(255) | 消息标题 |
target | varchar(32) | 发送对象类别.多选。男 女 群组 |
content | varchar(255) | 消息内容 |
date_add | datetime | 添加时间 |
date_update | datetime | 更新时间 |
date_last_send | datetime | 最后发送时间 |
user_id | mediumint(8) unsigned | 所属用户/对应user表中的id |
- record 发送记录表
字段名 | 字段类型 | 说明 |
---|---|---|
id | mediumint(8) unsigned | 主键/自动递增 |
title | varchar(255) | 消息标题 |
target | varchar(32) | 发送对象类别。多选。男 女 群组 |
content | varchar(255) | 消息内容 |
date_add | datetime | 添加时间 |
user_id | mediumint(8) unsigned | 所属用户/对应user表中的id |
表sql
CREATE TABLE `user` (
`id` MEDIUMINT(8) UNSIGNED NOT NULL auto_increment COMMENT '主键/自动递增',
`brand_id` SMALLINT(6) NOT NULL COMMENT '品牌ID',
`user_name` CHAR(15) NOT NULL COMMENT '用户名',
`password` CHAR(32) NOT NULL COMMENT '密码',
`real_name` VARCHAR(15) COMMENT '真实姓名',
`mobile` VARCHAR(20) COMMENT '固定电话/手机',
`address` VARCHAR(255) COMMENT '邮寄地址',
`date_add` DATETIME NOT NULL COMMENT '注册日期',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `administrator`(
`id` SMALLINT(6) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键/自动递增',
`user_name` CHAR(15) NOT NULL COMMENT '账号',
`password` CHAR(32) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
)ENGINE =InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `brand`(
`id` SMALLINT(6) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键/自动递增',
`user_name` CHAR(15) NOT NULL COMMENT '品牌账号',
`password` CHAR(32) NOT NULL COMMENT '密码',
`brand_logo` VARCHAR(255) COMMENT '品牌Logo',
`brand_name` VARCHAR(255) COMMENT '品牌名称',
`date_add` DATETIME NOT NULL COMMENT '品牌添加时间',
PRIMARY KEY (`id`)
)ENGINE = InnoDB DEFAULT CHARSET =utf8;
CREATE TABLE `message`(
`id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键/自动递增',
`title` VARCHAR(255) NOT NULL COMMENT '消息标题',
`target` VARCHAR(32) NOT NULL COMMENT '男 女 群组 中选择',
`content` VARCHAR(255) NOT NULL COMMENT '消息内容,有字数限制',
`date_add` DATETIME NOT NULL COMMENT '创建时间',
`date_update` DATETIME NOT NULL COMMENT '编辑时间',
`date_last_send` DATETIME NOT NULL COMMENT '最后一次群发时间',
`user_id` MEDIUMINT(8) NOT NULL COMMENT '用户id 对应user表中id',
PRIMARY KEY (`id`)
) ENGINE =InnoDB DEFAULT CHARSET =utf8;
CREATE TABLE `record`(
`id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键/自动递增',
`title` VARCHAR(255) NOT NULL COMMENT '消息标题',
`target` VARCHAR(32) NOT NULL COMMENT '男 女 群组 中选择',
`content` VARCHAR(255) NOT NULL COMMENT '消息内容,有字数限制',
`date_add` DATETIME NOT NULL COMMENT '发送时间',
`user_id` MEDIUMINT(8) NOT NULL COMMENT '用户id 对应user表中id',
PRIMARY KEY (`id`)
) ENGINE =InnoDB DEFAULT CHARSET =utf8;
wechat-assistant - 界面设计
-
用户前台
- 登录页面 login.jsp
- 消息列表 message.jsp
- 发送记录 record.jsp
- 个人中心 my.jsp
-
品牌后台
- 登录页面 login.jsp
- 品牌后台首页 index.jsp
- 用户管理 userList.jsp
- 修改密码 passwordEdit.jsp
- 信息设置 profile.jsp
-
系统后台
- 登录页面 login.jsp
- 系统后台首页 index.jsp
- 品牌管理 brandList.jsp
- 修改密码 passwordEdit.jsp
wechat-assistant -开发环境搭建
- 开发工具
- IDEA - WEB SERVER
- tomcat
- DATABASE
- mysql
- SCM
- git
wechat-assistant-开发
- 先写系统管理员
- 再写品牌
- 再写用户
- 接下来 消息
- 最后 发送记录
- 其他功能
wechat-assistant-开发安排
- v0.1
- 系统管理员模块
- 品牌模块
- v0.2
- 用户模块
- v0.3
- 消息模块
- v0.4
- 发送记录模块
- v 0.6
- 其他模块
文档编撰
- 需求描叙文档
- 系统分析与设计
- 数据库设计
- 开发接口API docs & 源代码注释
- 用户帮助(前台)
- 品牌管理员手册(后台)
- 测试文档