本党员服务站网站的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
系统架构如下图所示。
图4-1 系统架构
党员服务站网站总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
图4-2 系统功能结构图
根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。
系统ER图如下图所示。
图4-3 系统ER图
党员服务站网站所拥有的数据表有以下:学生信息表,作品信息表,文章信息表,报修信息表。
由于数据表较多,只展示系统主要数据表,如下表所示。
access_token | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
token_id | int | 0 | 是 | 是 | 临时访问牌ID |
token | nvarchar | 64 | 否 | 否 | 临时访问牌 |
info | nvarchar(max) | 0 | 否 | 否 | |
maxage | int | 0 | 是 | 否 | 最大寿命 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
user_id | int | 0 | 是 | 否 | 用户编号 |
auth | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
auth_id | int | 0 | 是 | 是 | 授权ID |
user_group | nvarchar | 64 | 否 | 否 | 用户组 |
mod_name | nvarchar | 64 | 否 | 否 | 模块名 |
table_name | nvarchar | 64 | 否 | 否 | 表名 |
page_title | nvarchar | 255 | 否 | 否 | 页面标题 |
path | nvarchar | 255 | 否 | 否 | 路由路径 |
position | nvarchar | 32 | 否 | 否 | 位置 |
mode | nvarchar | 32 | 是 | 否 | 跳转方式 |
add | tinyint | 0 | 是 | 否 | 是否可增加 |
del | tinyint | 0 | 是 | 否 | 是否可删除 |
set | tinyint | 0 | 是 | 否 | 是否可修改 |
get | tinyint | 0 | 是 | 否 | 是否可查看 |
field_add | nvarchar | 255 | 否 | 否 | 添加字段 |
field_set | nvarchar | 255 | 否 | 否 | 修改字段 |
field_get | nvarchar | 255 | 否 | 否 | 查询字段 |
table_nav_name | nvarchar | 255 | 否 | 否 | 跨表导航名称 |
table_nav | nvarchar | 255 | 否 | 否 | 跨表导航 |
option | nvarchar(max) | 0 | 否 | 否 | 配置 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
collect | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
collect_id | int | 0 | 是 | 是 | 收藏ID |
user_id | int | 0 | 是 | 否 | 收藏人ID |
source_table | nvarchar | 255 | 否 | 否 | 来源表 |
source_field | nvarchar | 255 | 否 | 否 | 来源字段 |
source_id | int | 0 | 是 | 否 | 来源ID |
title | nvarchar | 255 | 否 | 否 | 标题 |
img | nvarchar | 255 | 否 | 否 | 封面 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
comment | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
comment_id | int | 0 | 是 | 是 | 评论ID |
user_id | int | 0 | 是 | 否 | 评论人ID |
reply_to_id | int | 0 | 是 | 否 | 回复评论ID |
content | nvarchar(max) | 0 | 否 | 否 | 内容 |
nickname | nvarchar | 255 | 否 | 否 | 昵称 |
avatar | nvarchar | 255 | 否 | 否 | 头像地址 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
source_table | nvarchar | 255 | 否 | 否 | 来源表 |
source_field | nvarchar | 255 | 否 | 否 | 来源字段 |
source_id | int | 0 | 是 | 否 | 来源ID |
forum | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
forum_id | int | 0 | 是 | 是 | 论坛id |
display | smallint | 0 | 是 | 否 | 排序 |
user_id | int | 0 | 是 | 否 | 用户ID |
nickname | nvarchar | 16 | 否 | 否 | 昵称 |
praise_len | int | 0 | 否 | 否 | 点赞数 |
hits | int | 0 | 是 | 否 | 访问数 |
title | nvarchar | 125 | 是 | 否 | 标题 |
keywords | nvarchar | 125 | 否 | 否 | 关键词 |
description | nvarchar | 255 | 否 | 否 | 描述 |
url | nvarchar | 255 | 否 | 否 | 来源地址 |
tag | nvarchar | 255 | 否 | 否 | 标签 |
img | nvarchar(max) | 0 | 否 | 否 | 封面图 |
content | nvarchar(max) | 0 | 否 | 否 | 正文 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
avatar | nvarchar | 255 | 否 | 否 | 发帖人头像 |
type | nvarchar | 64 | 是 | 否 | 论坛分类 |
maintenance | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
maintenance_id | int | 0 | 是 | 是 | 维修情况ID |
user | int | 0 | 否 | 否 | 用户 |
full_name | nvarchar | 64 | 否 | 否 | 姓名 |
items_for_repair | nvarchar | 64 | 否 | 否 | 报修物品 |
place | nvarchar | 64 | 否 | 否 | 地点 |
maintenance_worker | int | 0 | 否 | 否 | 维修工 |
state | nvarchar | 64 | 否 | 否 | 状态 |
maintenance | nvarchar(max) | 0 | 否 | 否 | 维修情况 |
recommend | int | 0 | 是 | 否 | 智能推荐 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
notice | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_id | int | 0 | 是 | 是 | 公告id |
title | nvarchar | 125 | 是 | 否 | 标题 |
content | nvarchar(max) | 0 | 否 | 否 | 正文 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
party_member_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
party_member_user_id | int | 0 | 是 | 是 | 党员用户ID |
full_name | nvarchar | 64 | 否 | 否 | 姓名 |
gender | nvarchar | 64 | 否 | 否 | 性别 |
role | nvarchar | 64 | 否 | 否 | 角色 |
party_branch | nvarchar | 64 | 否 | 否 | 党支部 |
examine_state | nvarchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 0 | 是 | 否 | 智能推荐 |
user_id | int | 0 | 是 | 否 | 用户ID |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
praise | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
praise_id | int | 0 | 是 | 是 | 点赞ID |
user_id | int | 0 | 是 | 否 | 点赞人 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
source_table | nvarchar | 255 | 否 | 否 | 来源表 |
source_field | nvarchar | 255 | 否 | 否 | 来源字段 |
source_id | int | 0 | 是 | 否 | 来源ID |
status | tinyint | 0 | 是 | 否 | 点赞状态 |
repair_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
repair_information_id | int | 0 | 是 | 是 | 报修信息ID |
full_name | nvarchar | 64 | 否 | 否 | 姓名 |
role | nvarchar | 64 | 否 | 否 | 角色 |
party_branch | nvarchar | 64 | 否 | 否 | 党支部 |
user | int | 0 | 否 | 否 | 用户 |
items_for_repair | nvarchar | 64 | 否 | 否 | 报修物品 |
place | nvarchar | 64 | 否 | 否 | 地点 |
picture | nvarchar | 255 | 否 | 否 | 图片 |
repair_content | nvarchar(max) | 0 | 否 | 否 | 报修内容 |
maintenance_worker | int | 0 | 否 | 否 | 维修工 |
examine_state | nvarchar | 16 | 是 | 否 | 审核状态 |
examine_reply | nvarchar | 16 | 否 | 否 | 审核回复 |
recommend | int | 0 | 是 | 否 | 智能推荐 |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
repair_personnel | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
repair_personnel_id | int | 0 | 是 | 是 | 维修人员ID |
maintenance_staff_number | nvarchar | 64 | 否 | 否 | 维修员工号 |
name_of_maintainer | nvarchar | 64 | 否 | 否 | 维修员姓名 |
examine_state | nvarchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 0 | 是 | 否 | 智能推荐 |
user_id | int | 0 | 是 | 否 | 用户ID |
create_time | datetime2 | 7 | 是 | 否 | 创建时间 |
update_time | datetime2 | 7 | 是 | 否 | 更新时间 |
该系统是通过数据库类和SQL Server达成连接的,新建一个数据库类来填写与数据库连接所需要的驱动和参数。
static string ConnString = "Data Source=.;Initial Catalog=Project;Integrated Security=True";
在类里面设置数据库操作方法。
public static Object ExecScalar(string sql, SqlParameter[] para = null)
{
using (SqlConnection conn = new SqlConnection(ConnString))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
if (para != null)
{
cmd.Parameters.AddRange(para);
}
return cmd.ExecuteScalar();
}
}
此方法为SQL执行方法,返回一个集合对象。
public static DataSet GetDataSet(string sql, SqlParameter[] ps = null)
{
SqlConnection conn = new SqlConnection(ConnString);
SqlDataAdapter dapter = new SqlDataAdapter(sql, conn);
if (ps != null) { dapter.SelectCommand.Parameters.AddRange(ps); }
DataSet ds = new DataSet();
dapter.Fill(ds);
return ds;
}
此方法为执行查询类SQL语句方法,返回一个DataSet数据集
jdbc.driverClass=com.SQL Server.jdbc.Driver
jdbc.url=jdbc:SQL Server://localhost:3306/tsi
jdbc.username=root
jdbc.password=123
后台与数据库访问主要是通过SQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。
用户注册流程图如下图所示。
图5-1用户注册流程图
用户注册界面如下图所示。
图5-2用户注册界面
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布作品信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
图5-3登录流程图
用户登录界面如下图所示。
图5-4用户登录界面
用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。
如果新闻数据的信息需要修改,管理员可以通过查询新闻数据的基本信息来查询新闻数据,查询新闻数据是通过ajax技术来进行查询的,需要传递新闻数据的标题、编号等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。
新闻数据展示界面如下图所示。
图5-5新闻数据展示界面
新闻数据管理界面如下图所示。
图5-6新闻数据管理界面
用户可以发表自己的评论。将页面session中的用户账号userId和发表评论文字框内容传入控制层LiuyanController,调用addLiuyan方法,通过Liuyan的操作方法向数据库评论表插入,将结果返回lyb.apsx.cs界面。
评论添加流程图如下图所示。
图5-7评论添加流程图
评论发表界面如下所示。
图5-8评论发表界面
用户提交报修信息后后台会自动生成报修信息列表。从session中取出该用户信息,前台发起请求,将对应的用户信息参数信息从前台传递,得到报修信息列表。
报修信息提交界面如下所示。
图5-9报修信息提交界面
此页面的关键是编写维修情况信息,包括用户、姓名、报修物品、地点、维修工、状态、维修情况的添加。
维修情况管理流程图如下图所示。
图5-10维修情况管理流程图
维修情况添加界面如下图所示。
图5-11维修情况添加界面
维修情况管理界面如下图所示。
图5-12维修情况管理界面
成都网页制作常德网站建设广州平台网站建设昆明网站开发商丘网站制作永州网站建设石家庄网站建设包头网站设计公司深圳西乡网站建设保定网站设计公司3g网站建设富阳网站建设公司网站设计做网站建设的公司太原网站制作网站建设设备四川网站开发企业网站建设黄浦网站建设小程序设计开发邢台网站建设昆明网站制作展示型网站制作福州网站制作东莞 网站建设泉州网站设计六安网站建设重庆小程序开发社交电商app开发简单网站制作专业网站制作公司