# UniversityPersonalCovid-19ReportingSystem **Repository Path**: code9xs/UniversityPersonalCovid-19ReportingSystem ## Basic Information - **Project Name**: UniversityPersonalCovid-19ReportingSystem - **Description**: 高校个人新冠肺炎疫情报告系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-19 - **Last Updated**: 2024-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1、项目分析 ## 1.1、项目背景 新冠肺炎疫情期间,高校**师生**需要向学校报告个人疫情相关信息:体温(如果体温超过37度,还需要报告其它相关信息,如乏力、干咳、腹泻等情况)。 ## 1.2、项目需求描述 学生和教职工使用**相同的疫情信息报告界面**,每天**报告两次**(早上7:00-8:00,晚上22:-23:00,**其它时间不接收报告数据**),报告内容:**体温、其它情况、报告时间**; 系统能够采集学生所在的**院、系、班级信息**,以及**住宿信息(宿舍楼名、寝室名)**;在出现异常情况后,可以迅速检索出与其密切接触者。 系统能够采集**老师所在的院、系、办公室信息**,在出现异常情况后,可以迅速检索出与其密切接触者。 以上是基本需求。如果学有余力,可以加上教学班信息(教学班编号、课程名称、教室、授课时间),考虑学生有教学班信息,教师也有教学班信息,便于检索一块儿上课的学生信息,甚至在同一个教室上课的信息。 # 2、初步分析 ## 2.1、静态资源分析 1. 需要获取个人信息,我在这里默认之前没有信息,需要用户自己进行注册登记,并填写项目所需的信息,**登陆注册页面**是必须的。 2. **注册页面**,因为有两种不同的角色(老师,学生)注册页面需要选择身份,来填写不同的信息。 3. **登陆页面**,登陆页面尽可能简洁,有保存用户的功能(Remember me) 4. **信息填报页面**,用户登陆成功后,来到信息填报页面,此页面会根据用户角色(role)的不同,来展示不同的页面,此页面还应该有注销用户,查看资料,修改资料等附属功能。 5. **管理员页面**,管理员可以在后台查看用户提交的信息,管理员具有**修改用户信息**,**删除用户记录**等功能,管理员账户由系统初始生成。 ## 2.2、实体类(Pojo) 1. 用户类(Student) 1. 学号/工号(userid) 2. 姓名(username) 3. 性别(usersex) 4. 年龄(userage) 5. 学院(usercollege) 6. 系部(userdepartment) 7. 班级/办公室(userclass) 8. 邮箱(usermail) 9. 角色(userrole) 2. 学院类(College) 1. 学院编号(collegeid) 2. 学院名(collegename) 3. 系部类(Department) 1. 系部编号(departmentid) 2. 系部名(departmentname) 3. 学院编号(collegeid) 4. 班级类(StuClass) 1. 班级编号(classid) 2. 班级名(classname) 3. 系部编号(departmentid) 5. 信息类(Message) 1. 信息编号(msgid) 2. 信息内容(msg) 3. 学生编号/教职工编号(userid) 4. 提交时间(msgtime) ## 2.3、数据访问对象(Dao) 1. UserDao 1. 查询所有用户(selectAllUser()) 2. 查询用户(selectUserById(Interger id)) 2. MessageDao 1. 查询用户信息(selectUserMsg()) ## 2.4、服务层(Service) 1. UserService 1. 查询所有用户(selectAllUser()) 1. 入参:null 2. 返回值:List 2. 查询用户(selectUserById(Interger id)) 1. 入参:userid 2. 返回值:User 2. MessageService 1. 查询用户信息(selectUserMsg()) 1. 入参:null 2. 返回值:List ## 2.5、控制层(Controller) 1. UserController 2. MessageController ## 2.6、功能分析 1. 用户第一次来到界面需要注册账号 2. 注册账号,用户选择角色(role),并填写对应的信息,点击注册按钮,经数据校验,信息正确,注册成功,返回登陆界面;注册失败,提示错误原因,不予通过。 3. 登陆,用户填写账号密码(学号或工号)进行登陆。登陆成功,跳转到信息填报页面;登陆失败,给出提示信息,不予登陆。 4. 信息填报,根据用户角色(role),展视不同的填报页面,信息填写完成,经校验通过,提交成功,否则,提交失败。 5. 用户信息查看和修改,用户点击个人中心,查看个人信息,点击修改,修改个人信息,修改完成,经校验通过,修改成功,否则不予通过。 6. 注销,用户点击注销,退出登录,结束会话。 7. 管理员登陆,使用系统提供的提供的管理员账户,登陆,因角色为(root),直接跳至后台管理界面,进行用户信息的查看与修改。 8. 注销,管理员点击注销,退出登录,结束会话。 9. 安全,拦截非法访问,对于没有角色权限的用户予以拦截,对角色权限进行管理。 # 3、数据库设计 ## 3.1、用户表 | 属性名 | 属性类型 | 约束 | 是否主键 | | -------------- | -------- | -------- | -------- | | userid | int | not null | 是 | | username | varchar2 | | 是 | | usersex | varchar2 | | 否 | | userage | int | | 否 | | usercollege | varchar2 | | 否 | | userdepartment | varchar2 | | 否 | | userclass | varchar2 | | 否 | | usermail | varchar2 | | 否 | | userrole | varchar2 | not null | 否 | ## 3.2、学院表 | 属性名 | 属性类型 | 约束 | 是否主键 | | ----------- | -------- | -------- | -------- | | collegeid | int | not null | 是 | | collegename | varchar2 | | 否 | ## 3.3、系部表 | 属性名 | 属性类型 | 约束 | 是否主键 | | -------------- | -------- | -------- | -------- | | departmentid | int | not null | 是 | | departmentname | varchar2 | | 否 | | collegeid | int | not null | 否 | ## 3.4、班级表/办公室表 | 属性名 | 属性类型 | 约束 | 是否主键 | | ------------ | -------- | -------- | -------- | | classtid | int | not null | 是 | | classname | varchar2 | | 否 | | departmentid | int | not null | 否 | ## 3.5、信息表 | 属性名 | 属性类型 | 约束 | 是否主键 | | ------- | -------- | ---- | -------- | | msgid | int | | 否 | | msg1 | varchar | | 否 | | msg2 | varchar | | 否 | | msg3 | varchar | | 否 | | ... | ... | | 否 | | userid | int | | 是 | | msgtime | data | | 否 |