私信或留言即免费送开题报告和任务书(可指定任意题目)
目录
一、摘要
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本家政服务平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此家政服务平台利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。家政服务平台有管理员,雇主,雇员三个角色。管理员功能有个人中心,雇主管理,雇员管理,资料认证管理,项目类型管理,服务项目管理,需求信息管理,服务预约管理,申请预约管理,签订合同管理,雇主评价管理,留言板管理,系统管理。雇主可以发布需求,雇员可以申请预约,雇主支付报酬,雇主和雇员可以签订合同,雇主可以对雇员进行评价。家政服务平台的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
关键词:家政服务平台;Spring Boot框架;MySQL;自动化
二、相关技术
java、tomcat、mysql、spring、springBoot、mybatis、query、vue
三、系统设计
3.1 整体功能设计图
3.2 功能具体细节设计
(1)雇主管理
如图5.1显示的就是雇主管理页面,此页面提供给管理员的功能有:对雇主信息进行查询,添加,删除以及批量删除操作。
(2)雇员管理
如图5.2显示的就是雇员管理页面,管理员可以对雇员信息进行添加,修改,删除,查询操作。
(3)资料认证管理
如图5.3显示的就是资料认证管理页面,雇员注册后需要点击后台进行资料认证,在资料认证里添加自己的资料信息,然后管理员可以审核。
(4)项目类型管理
如图5.4显示的就是项目类型管理页面,管理员可以对项目类型进行添加修改删除查询操作。
(5)需求信息管理
如图5.4显示的就是需求信息管理页面,雇主可以对需求信息进行添加修改删除查询操作。
(6)服务项目管理管理
如图5.6显示的就是服务项目管理页面,雇员可以对服务项目信息进行查询操作。
四、数据库设计
这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
(1)管理员实体属性图见图4.4。
(2)雇主实体属性图见图4.5。
(3)项目类型实体属性图见图4.6。
五、核心代码
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
ShigudengjiEntity shigudengji = shigudengjiService.selectById(id);
if(shigudengji !=null){
//entity转view
ShigudengjiView view = new ShigudengjiView();
BeanUtils.copyProperties( shigudengji , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(shigudengji.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//级联表
YuangongEntity yuangong = yuangongService.selectById(shigudengji.getYuangongId());
if(yuangong != null){
BeanUtils.copyProperties( yuangong , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYuangongId(yuangong.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ShigudengjiEntity shigudengji, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,shigudengji:{}",this.getClass().getName(),shigudengji.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("员工".equals(role))
shigudengji.setYuangongId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
Wrapper<ShigudengjiEntity> queryWrapper = new EntityWrapper<ShigudengjiEntity>()
.eq("yonghu_id", shigudengji.getYonghuId())
.eq("yuangong_id", shigudengji.getYuangongId())
.eq("shigudengji_uuid_number", shigudengji.getShigudengjiUuidNumber())
.eq("shigudengji_name", shigudengji.getShigudengjiName())
.eq("shigudengji_types", shigudengji.getShigudengjiTypes())
.eq("zeren_types", shigudengji.getZerenTypes())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ShigudengjiEntity shigudengjiEntity = shigudengjiService.selectOne(queryWrapper);
if(shigudengjiEntity==null){
shigudengji.setInsertTime(new Date());
shigudengji.setCreateTime(new Date());
shigudengjiService.insert(shigudengji);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
六、论文参考
七、源码获取
点赞、收藏、关注、评论啦。
联系即送开题报告和任务书,欢迎咨询