结构图
直接看具体的功能流程图
在这个系统中有最直观的三个模块,兼职人员(普通用户)模块,发布兼职人员(发布信息那种),管理人员(俗称的管理员),每个模块各司其职但是也有很多联系,比如兼职人员申请的兼职要由发布人员先发布,然后管理人员再审核,审核通过的才可以申请,同时还要考虑到兼职人员的信誉值,如果不满足工作的要求那就无法申请。
三层架构的搭建
数据库的表
account表用来保存账户的余额信息:user_id关联user表中的兼职人员;balance就是工资
apply_job表来存放用户申请的兼职:job_id关联job表中的兼职编号;user_id用来关联user表中的兼职人员编号;begin_time用来记录兼职人员申请兼职的开始时间;finish_time用来记录他提交结束兼职的时间;job_status是个工作状态来标识还是否在进行,0表示在进行未提交,提交后会变成1表示已经提交结束不在进行了;late_status用来标识这个兼职提交的时候是不是已经逾期了
job表来存放所有的兼职信息,但只显示没有被移除的:id是兼职工作的编号;job_name是兼职工作名;salary是工资;start_time是该兼职开放申请和工作的时间;end_time是该兼职结束申请和完结的时间;status是审核状态,0标识未审核,1标识审核通过,2标识审核不通过;post_id是指该兼职是由谁发布的,关联发布人员的编号;remove_tag移除标识,用来标识这个兼职是否被移除了;required_people需求人数,用来显示这个兼职需要多少人;type_id关联兼职类型中的类型
jobtype表用来存放兼职的类型和要求等级:id兼职类型编号;type_name是类型名称;job_level是该兼职类型的要求信誉等级;late_cost是逾期扣费(天)
manager表存放发布人员和管理员的信息:id是管理人员(2开头)和发布兼职人员(3开头)的编号又叫工号;name就是姓名;password就是密码
user表用来存放兼职人员的所有信息:id是兼职人员(1开头)的编号又叫学号;name就是姓名;password就是密码;sex是性别;phone是联系电话;register_time是注册时间,生成后不能修改;credit_rating是个人信誉等级;finish_job是一个int类型的值,可以为空,标识没有未逾期完成兼职,如果未逾期完成则+1,当计数到3时会重置计数并恢复该账户的1点信誉等级