项目开发-微信助手wechat-assistant

更新时间 2017-09-20 10:40:59 增加sql,校正字段

更新时间 2017-09-19 16:12:28 初稿完成

image.png

项目介绍

本项目基于微信的网页API,实现扫描群发消息功能。

wechat-assistant- 需求确定

  • 用户。

    • 登录账号
    • 修改密码
    • 设置资料: 用户名称、联系地址、联系电话
    • 消息列表:新增、群发、删除、编辑
    • 发送记录: 查看
  • 品牌管理员

    • 账号管理:添加账号、禁用账号、重置密码、搜索账号
    • 消息管理: 查看消息,搜索消息
    • 发送记录管理: 查看记录,搜索记录
    • 品牌信息设置: 设置品牌的名称、品牌的logo图片、修改密码
  • 系统管理员

    • 用户管理
    • 品牌管理
    • 消息管理
    • 发送记录管理
    • 系统设置:修改密码

wechat-assistant - 架构分析设计

  • 逻辑架构

    • 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
      • ...
  • administrator

    • properties
      • id
      • username
      • password
    • methods
      • ...
  • brand

    • properties
      • id
      • username
      • password
      • dateAdd
      • brandLogo
      • brandName
    • methods
  • message

    • properties
      • id
      • title
      • target
      • content
      • dateAdd
      • dateUpdate
      • dateLastsEnd
      • userId
    • methods
      • ...
  • 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 & 源代码注释
  • 用户帮助(前台)
  • 品牌管理员手册(后台)
  • 测试文档
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容