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

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

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

项目开发-微信助手wechat-assistant_第1张图片
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 & 源代码注释
  • 用户帮助(前台)
  • 品牌管理员手册(后台)
  • 测试文档

你可能感兴趣的:(项目开发-微信助手wechat-assistant)