✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取项目下载方式🍅
一、项目背景介绍:
随着信息技术的不断发展,软件已经成为现代社会各行各业的重要工具。无论是政府部门、企事业单位,还是个人开发者,都需要软件来支持和优化其工作和生活。而软件开发的过程中,测试是一个非常重要的环节,能够有效地保证软件的质量和稳定性。因此,如何更好地管理测试用例和测试过程成为了软件开发人员和测试人员需要面对的问题。
二、项目技术简介:
- JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
- Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。
- SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
- Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
三、系统功能模块介绍:
四、数据库设计:
1:‘Blob类型的触发器表’(QRTZ_BLOB_TRIGGERS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外键 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外键 |
blob_data | blob | NULL | 存放持久化Trigger对象 |
2:‘日历信息表’(QRTZ_CALENDARS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
calendar_name | varchar | NULL | 日历名称 |
calendar | blob | NULL | 存放持久化calendar对象 |
3:‘Cron类型的触发器表’(QRTZ_CRON_TRIGGERS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外键 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外键 |
cron_expression | varchar | NULL | cron表达式 |
time_zone_id | varchar | NULL | 时区 |
4:‘已触发的触发器表’(QRTZ_FIRED_TRIGGERS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
entry_id | varchar | NULL | 调度器实例id |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外键 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外键 |
instance_name | varchar | NULL | 调度器实例名 |
fired_time | bigint | NULL | 触发的时间 |
sched_time | bigint | NULL | 定时器制定的时间 |
priority | int | NULL | 优先级 |
state | varchar | NULL | 状态 |
job_name | varchar | NULL | 任务名称 |
job_group | varchar | NULL | 任务组名 |
is_nonconcurrent | varchar | NULL | 是否并发 |
requests_recovery | varchar | NULL | 是否接受恢复执行 |
5:‘任务详细信息表’(QRTZ_JOB_DETAILS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
job_name | varchar | NULL | 任务名称 |
job_group | varchar | NULL | 任务组名 |
description | varchar | NULL | 相关介绍 |
job_class_name | varchar | NULL | 执行任务类名称 |
is_durable | varchar | NULL | 是否持久化 |
is_nonconcurrent | varchar | NULL | 是否并发 |
is_update_data | varchar | NULL | 是否更新数据 |
requests_recovery | varchar | NULL | 是否接受恢复执行 |
job_data | blob | NULL | 存放持久化job对象 |
6:‘存储的悲观锁信息表’(QRTZ_LOCKS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
lock_name | varchar | NULL | 悲观锁名称 |
7:‘暂停的触发器表’(QRTZ_PAUSED_TRIGGER_GRPS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外键 |
8:‘调度器状态表’(QRTZ_SCHEDULER_STATE)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
instance_name | varchar | NULL | 实例名称 |
last_checkin_time | bigint | NULL | 上次检查时间 |
checkin_interval | bigint | NULL | 检查间隔时间 |
9:‘简单触发器的信息表’(QRTZ_SIMPLE_TRIGGERS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外键 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外键 |
repeat_count | bigint | NULL | 重复的次数统计 |
repeat_interval | bigint | NULL | 重复的间隔时间 |
times_triggered | bigint | NULL | 已经触发的次数 |
10:‘同步机制的行锁表’(QRTZ_SIMPROP_TRIGGERS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外键 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外键 |
str_prop_1 | varchar | NULL | String类型的trigger的第一个参数 |
str_prop_2 | varchar | NULL | String类型的trigger的第二个参数 |
str_prop_3 | varchar | NULL | String类型的trigger的第三个参数 |
int_prop_1 | int | NULL | int类型的trigger的第一个参数 |
int_prop_2 | int | NULL | int类型的trigger的第二个参数 |
long_prop_1 | bigint | NULL | long类型的trigger的第一个参数 |
long_prop_2 | bigint | NULL | long类型的trigger的第二个参数 |
dec_prop_1 | decimal | NULL | decimal类型的trigger的第一个参数 |
dec_prop_2 | decimal | NULL | decimal类型的trigger的第二个参数 |
bool_prop_1 | varchar | NULL | Boolean类型的trigger的第一个参数 |
bool_prop_2 | varchar | NULL | Boolean类型的trigger的第二个参数 |
11:‘触发器详细信息表’(QRTZ_TRIGGERS)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
sched_name | varchar | NULL | 调度名称 |
trigger_name | varchar | NULL | 触发器的名字 |
trigger_group | varchar | NULL | 触发器所属组的名字 |
job_name | varchar | NULL | qrtz_job_details表job_name的外键 |
job_group | varchar | NULL | qrtz_job_details表job_group的外键 |
description | varchar | NULL | 相关介绍 |
next_fire_time | bigint | NULL | 上一次触发时间(毫秒) |
prev_fire_time | bigint | NULL | 下一次触发时间(默认为-1表示不触发) |
priority | int | NULL | 优先级 |
trigger_state | varchar | NULL | 触发器状态 |
trigger_type | varchar | NULL | 触发器的类型 |
start_time | bigint | NULL | 开始时间 |
end_time | bigint | NULL | 结束时间 |
calendar_name | varchar | NULL | 日程表名称 |
misfire_instr | smallint | NULL | 补偿执行的策略 |
job_data | blob | NULL | 存放持久化job对象 |
12:‘缺陷’(flaw)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 缺陷编号 |
flaw_name | varchar | NULL | 缺陷名称 |
detail_info | text | NULL | 详细信息 |
project_id | bigint | NULL | 所属项目 |
expect_result | text | NULL | 预期结果 |
reality_result | text | NULL | 实际结果 |
leaves | int | NULL | 缺陷级别 |
status | int | NULL | 缺陷状态 |
user_id | bigint | NULL | 作者 |
solve_user_id | bigint | NULL | 处理人 |
13:‘代码生成业务表’(gen_table)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
table_id | bigint | NULL | 编号 |
table_name | varchar | NULL | 表名称 |
table_comment | varchar | NULL | 表描述 |
sub_table_name | varchar | NULL | 关联子表的表名 |
sub_table_fk_name | varchar | NULL | 子表关联的外键名 |
class_name | varchar | NULL | 实体类名称 |
tpl_category | varchar | NULL | 使用的模板(crud单表操作 tree树表操作) |
package_name | varchar | NULL | 生成包路径 |
module_name | varchar | NULL | 生成模块名 |
business_name | varchar | NULL | 生成业务名 |
function_name | varchar | NULL | 生成功能名 |
function_author | varchar | NULL | 生成功能作者 |
gen_type | char | NULL | 生成代码方式(0zip压缩包 1自定义路径) |
gen_path | varchar | NULL | 生成路径(不填默认项目路径) |
options | varchar | NULL | 其它生成选项 |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
14:‘代码生成业务表字段’(gen_table_column)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
column_id | bigint | NULL | 编号 |
table_id | varchar | NULL | 归属表编号 |
column_name | varchar | NULL | 列名称 |
column_comment | varchar | NULL | 列描述 |
column_type | varchar | NULL | 列类型 |
java_type | varchar | NULL | JAVA类型 |
java_field | varchar | NULL | JAVA字段名 |
is_pk | char | NULL | 是否主键(1是) |
is_increment | char | NULL | 是否自增(1是) |
is_required | char | NULL | 是否必填(1是) |
is_insert | char | NULL | 是否为插入字段(1是) |
is_edit | char | NULL | 是否编辑字段(1是) |
is_list | char | NULL | 是否列表字段(1是) |
is_query | char | NULL | 是否查询字段(1是) |
query_type | varchar | NULL | 查询方式(等于、不等于、大于、小于、范围) |
html_type | varchar | NULL | 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件) |
dict_type | varchar | NULL | 字典类型 |
sort | int | NULL | 排序 |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
15:‘项目管理’(project)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 项目编号 |
project_name | varchar | NULL | 项目名称 |
project_info | varchar | NULL | 项目介绍 |
start_time | datetime | NULL | 开始时间 |
end_time | datetime | NULL | 结束时间 |
file_url | varchar | NULL | 介绍文件 |
16:‘参数配置表’(sys_config)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
config_id | int | NULL | 参数主键 |
config_name | varchar | NULL | 参数名称 |
config_key | varchar | NULL | 参数键名 |
config_value | varchar | NULL | 参数键值 |
config_type | char | NULL | 系统内置(Y是 N否) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
17:‘部门表’(sys_dept)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
dept_id | bigint | NULL | 部门id |
parent_id | bigint | NULL | 父部门id |
ancestors | varchar | NULL | 祖级列表 |
dept_name | varchar | NULL | 部门名称 |
order_num | int | NULL | 显示顺序 |
leader | varchar | NULL | 负责人 |
phone | varchar | NULL | 联系电话 |
varchar | NULL | 邮箱 | |
status | char | NULL | 部门状态(0正常 1停用) |
del_flag | char | NULL | 删除标志(0代表存在 2代表删除) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
18:‘字典数据表’(sys_dict_data)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
dict_code | bigint | NULL | 字典编码 |
dict_sort | int | NULL | 字典排序 |
dict_label | varchar | NULL | 字典标签 |
dict_value | varchar | NULL | 字典键值 |
dict_type | varchar | NULL | 字典类型 |
css_class | varchar | NULL | 样式属性(其他样式扩展) |
list_class | varchar | NULL | 表格回显样式 |
is_default | char | NULL | 是否默认(Y是 N否) |
status | char | NULL | 状态(0正常 1停用) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
19:‘字典类型表’(sys_dict_type)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
dict_id | bigint | NULL | 字典主键 |
dict_name | varchar | NULL | 字典名称 |
dict_type | varchar | NULL | 字典类型 |
status | char | NULL | 状态(0正常 1停用) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
20:‘定时任务调度表’(sys_job)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
job_id | bigint | NULL | 任务ID |
job_name | varchar | NULL | 任务名称 |
job_group | varchar | NULL | 任务组名 |
invoke_target | varchar | NULL | 调用目标字符串 |
cron_expression | varchar | NULL | cron执行表达式 |
misfire_policy | varchar | NULL | 计划执行错误策略(1立即执行 2执行一次 3放弃执行) |
concurrent | char | NULL | 是否并发执行(0允许 1禁止) |
status | char | NULL | 状态(0正常 1暂停) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注信息 |
21:‘定时任务调度日志表’(sys_job_log)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
job_log_id | bigint | NULL | 任务日志ID |
job_name | varchar | NULL | 任务名称 |
job_group | varchar | NULL | 任务组名 |
invoke_target | varchar | NULL | 调用目标字符串 |
job_message | varchar | NULL | 日志信息 |
status | char | NULL | 执行状态(0正常 1失败) |
exception_info | varchar | NULL | 异常信息 |
create_time | datetime | NULL | 创建时间 |
22:‘系统访问记录’(sys_logininfor)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
info_id | bigint | NULL | 访问ID |
user_name | varchar | NULL | 用户账号 |
ipaddr | varchar | NULL | 登录IP地址 |
login_location | varchar | NULL | 登录地点 |
browser | varchar | NULL | 浏览器类型 |
os | varchar | NULL | 操作系统 |
status | char | NULL | 登录状态(0成功 1失败) |
msg | varchar | NULL | 提示消息 |
login_time | datetime | NULL | 访问时间 |
23:‘菜单权限表’(sys_menu)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
menu_id | bigint | NULL | 菜单ID |
menu_name | varchar | NULL | 菜单名称 |
parent_id | bigint | NULL | 父菜单ID |
order_num | int | NULL | 显示顺序 |
path | varchar | NULL | 路由地址 |
component | varchar | NULL | 组件路径 |
query | varchar | NULL | 路由参数 |
is_frame | int | NULL | 是否为外链(0是 1否) |
is_cache | int | NULL | 是否缓存(0缓存 1不缓存) |
menu_type | char | NULL | 菜单类型(M目录 C菜单 F按钮) |
visible | char | NULL | 菜单状态(0显示 1隐藏) |
status | char | NULL | 菜单状态(0正常 1停用) |
perms | varchar | NULL | 权限标识 |
icon | varchar | NULL | 菜单图标 |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
24:‘通知公告表’(sys_notice)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
notice_id | int | NULL | 公告ID |
notice_title | varchar | NULL | 公告标题 |
notice_type | char | NULL | 公告类型(1通知 2公告) |
notice_content | longblob | NULL | 公告内容 |
status | char | NULL | 公告状态(0正常 1关闭) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
25:‘操作日志记录’(sys_oper_log)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
oper_id | bigint | NULL | 日志主键 |
title | varchar | NULL | 模块标题 |
business_type | int | NULL | 业务类型(0其它 1新增 2修改 3删除) |
method | varchar | NULL | 方法名称 |
request_method | varchar | NULL | 请求方式 |
operator_type | int | NULL | 操作类别(0其它 1后台用户 2手机端用户) |
oper_name | varchar | NULL | 操作人员 |
dept_name | varchar | NULL | 部门名称 |
oper_url | varchar | NULL | 请求URL |
oper_ip | varchar | NULL | 主机地址 |
oper_location | varchar | NULL | 操作地点 |
oper_param | varchar | NULL | 请求参数 |
json_result | varchar | NULL | 返回参数 |
status | int | NULL | 操作状态(0正常 1异常) |
error_msg | varchar | NULL | 错误消息 |
oper_time | datetime | NULL | 操作时间 |
cost_time | bigint | NULL | 消耗时间 |
26:‘岗位信息表’(sys_post)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
post_id | bigint | NULL | 岗位ID |
post_code | varchar | NULL | 岗位编码 |
post_name | varchar | NULL | 岗位名称 |
post_sort | int | NULL | 显示顺序 |
status | char | NULL | 状态(0正常 1停用) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
27:‘角色信息表’(sys_role)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
role_id | bigint | NULL | 角色ID |
role_name | varchar | NULL | 角色名称 |
role_key | varchar | NULL | 角色权限字符串 |
role_sort | int | NULL | 显示顺序 |
data_scope | char | NULL | 数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限) |
menu_check_strictly | tinyint | NULL | 菜单树选择项是否关联显示 |
dept_check_strictly | tinyint | NULL | 部门树选择项是否关联显示 |
status | char | NULL | 角色状态(0正常 1停用) |
del_flag | char | NULL | 删除标志(0代表存在 2代表删除) |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
28:‘角色和部门关联表’(sys_role_dept)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
role_id | bigint | NULL | 角色ID |
dept_id | bigint | NULL | 部门ID |
29:‘角色和菜单关联表’(sys_role_menu)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
role_id | bigint | NULL | 角色ID |
menu_id | bigint | NULL | 菜单ID |
30:‘用户信息表’(sys_user)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
user_id | bigint | NULL | 用户ID |
dept_id | bigint | NULL | 部门ID |
user_name | varchar | NULL | 用户账号 |
nick_name | varchar | NULL | 用户昵称 |
user_type | varchar | NULL | 用户类型(00系统用户) |
varchar | NULL | 用户邮箱 | |
phonenumber | varchar | NULL | 手机号码 |
sex | char | NULL | 用户性别(0男 1女 2未知) |
avatar | varchar | NULL | 头像地址 |
password | varchar | NULL | 密码 |
status | char | NULL | 帐号状态(0正常 1停用) |
del_flag | char | NULL | 删除标志(0代表存在 2代表删除) |
login_ip | varchar | NULL | 最后登录IP |
login_date | datetime | NULL | 最后登录时间 |
create_by | varchar | NULL | 创建者 |
create_time | datetime | NULL | 创建时间 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新时间 |
remark | varchar | NULL | 备注 |
31:‘用户与岗位关联表’(sys_user_post)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
user_id | bigint | NULL | 用户ID |
post_id | bigint | NULL | 岗位ID |
32:‘用户和角色关联表’(sys_user_role)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
user_id | bigint | NULL | 用户ID |
role_id | bigint | NULL | 角色ID |
33:‘测试用例’(test_example)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 用例编号 |
ex_name | varchar | NULL | 用例名称 |
leaves | int | NULL | 用例级别 |
before_condition | text | NULL | 前置条件 |
step | text | NULL | 操作步骤 |
result_info | text | NULL | 实际结果 |
expect_result | text | NULL | 预期结果 |
project_id | bigint | NULL | 所属项目 |
user_id | bigint | NULL | 所属用户 |
create_time | datetime | NULL | 创建时间 |
五、功能模块:
-
项目管理结构设计:有着项目管理界面管理权限的角色可以在项目管理界面对系统现有的项目进行删除、修改、查询操作和添加新的项目的功能
-
缺陷管理结构设计:有着缺陷管理权限的角色可以在缺陷管理界面对系统现有的缺陷进行删除、修改、查询操作和添加新的缺陷的功能
-
用例管理结构设计:有着用例管理界面管理权限的角色可以在用例管理界面对系统现有的用例进行删除、修改、查询操作和添加新的用例的功能
-
用户管理总体结构设计:有着用户管理界面管理权限的角色可以在用户管理界面对系统现有的用户进行删除、修改、查询操作和添加新的用户的功能
-
角色管理总体结构设计:有着角色管理界面管理权限的角色可以在角色管理界面对系统现有的角色进行删除、修改、查询操作和添加新的角色的功能
-
菜单管理总体结构设计:有着菜单管理界面管理权限的角色可以在菜单管理界面对系统现有的菜单进行删除、修改、查询操作和添加新的项目的功能
-
部门管理总体结构设计:有着部门管理界面管理权限的角色可以在部门管理界面对系统现有的部门进行删除、修改、查询操作和添加新的部门的功能
-
岗位管理总体结构设计:有着岗位管理界面管理权限的角色可以在岗位管理界面对系统现有的岗位进行删除、修改、查询操作和添加新的岗位的功能
六、代码示例:
/**
* 生成验证码
*/
@GetMapping("/captchaImage")
public AjaxResult getCode(HttpServletResponse response) throws IOException
{
AjaxResult ajax = AjaxResult.success();
boolean captchaEnabled = configService.selectCaptchaEnabled();
ajax.put("captchaEnabled", captchaEnabled);
if (!captchaEnabled)
{
return ajax;
}
// 保存验证码信息
String uuid = IdUtils.simpleUUID();
String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
String capStr = null, code = null;
BufferedImage image = null;
// 生成验证码
String captchaType = RuoYiConfig.getCaptchaType();
if ("math".equals(captchaType))
{
String capText = captchaProducerMath.createText();
capStr = capText.substring(0, capText.lastIndexOf("@"));
code = capText.substring(capText.lastIndexOf("@") + 1);
image = captchaProducerMath.createImage(capStr);
}
else if ("char".equals(captchaType))
{
capStr = code = captchaProducer.createText();
image = captchaProducer.createImage(capStr);
}
redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
// 转换流信息写出
FastByteArrayOutputStream os = new FastByteArrayOutputStream();
try
{
ImageIO.write(image, "jpg", os);
}
catch (IOException e)
{
return AjaxResult.error(e.getMessage());
}
ajax.put("uuid", uuid);
ajax.put("img", Base64.encode(os.toByteArray()));
return ajax;
}
/**
* 通用的本地文件上传
*
* @param multipartFile 文件对象
* @return 文件访问链接URL
*/
@PostMapping("/file")
public SimpleResponse uploadImg(@RequestParam("file") MultipartFile file) {
// 文件后缀
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
File savePathFile = new File(newTomcatFolder);
if (!savePathFile.exists()) {
// 若不存在该目录,则创建目录
savePathFile.mkdir();
}
// 通过UUID生成唯一文件名
String filename = UUID.randomUUID() + "." + suffix;
try {
// 将文件保存指定目录
file.transferTo(new File(newTomcatFolder + filename));
} catch (Exception e) {
e.printStackTrace();
return SimpleResponse.error("保存文件异常");
}
// 返回访问链接
return SimpleResponse.success(newTomcatHost + filename);
}
@PostMapping("/login")
public ReturnMsg manageLogin(@RequestBody Map<String, String> param) {
if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
return ReturnMsg.error("用户名或密码错误!");
}
ManageDTO manageDTO = new ManageDTO();
manageDTO.setUserName(param.get("username"));
manageDTO.setPassWord(param.get("password"));
QueryWrapper<ManageDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
manageDTOQueryWrapper.last("limit 1");
ManageDTO adminDTOS = manageService.getOne(manageDTOQueryWrapper);
if (adminDTOS == null) return ReturnMsg.error("用户名或密码错误!");
Map<String, Object> map = new HashMap<>();
map.put("avatar", StrUtil.isNotBlank(adminDTOS.getPhotoImg()) ? adminDTOS.getPhotoImg() : "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
map.put("introduction", adminDTOS.getName() + ",你好!");
map.put("name", adminDTOS.getName());
map.put("roles", Arrays.asList("admin"));
map.put("type", adminDTOS.getStatus());
Map<String, String> returnMap = new HashMap<>();
String uuid = UUID.randomUUID().toString();
returnMap.put("token", uuid);
userInfoMap.put(uuid, JSON.toJSONString(map));
return ReturnMsg.ok(returnMap);
}
七、论文参考:
论文参考···
八、项目总结:
在本次项目中,我们设计了一个测试用例管理系统,通过系统的用户管理、角色管理、菜单管理、部门管理、岗位管理、操作日志管理、登录日志管理等模块,实现了对测试用例进行管理的功能。在技术方面,我们使用了Spring Boot框架、MyBatis框架、MySQL数据库以及ElementUI等技术进行开发,并且在开发过程中遵循了敏捷开发和测试驱动开发的原则,保证了开发效率和软件质量。
通过本次项目的开发,我们不仅学习了如何进行系统开发和数据库设计,还掌握了如何进行敏捷开发和测试驱动开发的方法。同时,我们也发现了在开发过程中存在的问题,比如需求不够明确、任务分配不够合理等,这些问题需要我们在未来的项目开发中加以改进。
在本次项目中,我们设计了一个测试用例管理系统,通过系统的用户管理、角色管理、菜单管理、部门管理、岗位管理、操作日志管理、登录日志管理等模块,实现了对测试用例进行管理的功能。在技术方面,我们使用了Spring Boot框架、MyBatis框架、MySQL数据库以及ElementUI等技术进行开发,并且在开发过程中遵循了敏捷开发和测试驱动开发的原则,保证了开发效率和软件质量。
九、源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻
链接点击直达:下载链接