基于Springboot + vue + MySQL 家政服务管理系统 (含源码)

您所在的位置:网站首页 日本家政服务流程是什么 基于Springboot + vue + MySQL 家政服务管理系统 (含源码)

基于Springboot + vue + MySQL 家政服务管理系统 (含源码)

2024-07-04 05:21:24| 来源: 网络整理| 查看: 265

目录

📚 前言

📑摘要

📑系统架构

📚 数据库设计

   💬  服务信息实体属性图

   💬 用户注册实体属性图

📚 系统功能的具体实现

 💬 前台模块

用户注册

服务信息

 💬 后台功能模块

    管理员登录管理

用户管理

服务人员管理

 💬 服务后台功能模块

服务信息管理

服务类型管理

服务预约管理

 💬 用户后台功能模块

用户登录管理

服务预约管理

服务取消管理

✒️ 源码实现

💖 源码获取

😁 联系方式

📚 前言

📑博客主页:@丘比特惩罚陆

💖欢迎关注:点赞收藏⭐留言✒ 💬系列专栏:Java Springboot 毕设实战专栏 🎮 加入社区: 丘比特惩罚陆 🥇人生格言:选对方向,每走一步都是进步! ✒️欢迎大佬指正,一起学习!一起加油!

👏 希望大家能小手一动,帮忙点个赞!

📑摘要

   家政服务管理平台采用了B/S结构,JAVA作为开发语言,数据库采用了B/S结构,Mysql数据库进行开发。该系统包括前台操作和后台管理两个部分,一方面,为用户提供首页、服务信息、公告信息、留言反馈、个人中心、后台管理等功能;另一方面,为管理员提供首页、个人中心、用户管理、服务人员管理、服务信息管理、服务类型管理、服务预约管理、服务取消管理、服务分配管理、服务进度管理、评价信息管理、留言反馈、系统管理等功能。

📑 功能结构    

    家政服务管理平台的主要功能的结构:

管理员权限;首页、个人中心、用户管理、服务人员管理、服务信息管理等等用户权限:首页、个人中心、服务预约管理、服务分配管理、服务取消管理等等服务人员权限;首页、个人中心、问题发布管理、服务进度管理、评价信息管理等功能模块的管理维护等操作 📑系统架构

   此次管理系统的关键技术和架构由B/S结构、java和mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。

                                                            

                                                               三层架构图

📚 数据库设计

ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。

   💬  服务信息实体属性图

   💬 用户注册实体属性图

📚 系统功能的具体实现  💬 前台模块

系统首页的主要功能展示了首页、服务信息、公告信息、留言反馈、个人中心、后台管理等,用户可根据权限进行相应操作;

用户注册

通过填写账号、密码、确认密码、姓名、邮箱、手机号码等内容进行注册等操作;

服务信息

在服务信息页面可以查看服务名称、 服务价格、服务简介、发布日期、合同信息等内容进行预约、详情或收藏等操作;

 💬 后台功能模块     管理员登录管理

用户进入系统前在登录页面根据要求填写用户名、密码和验证码,选择角色等信息,点击登录进行登录操作

用户管理

用户管理,在用户管理页面可以对索引、账号、姓名、性别、邮箱、手机号码、相片等内容进行详情、修改或删除等操作

服务人员管理

服务人员管理,在服务人员管理页面可以对索引、工号、员工姓名、性别、邮箱、联系手机、相片等内容进行详情、修改或删除等操作

 💬 服务后台功能模块 服务信息管理

在服务信息管理页面可以对索引、服务名称、服务图片、服务类型、合同信息、服务价格、发布日期等内容进行详情、修改或删除等操作

服务类型管理

在服务类型管理页面可以对索引、服务类型等内容进行详情、修改或删除等操作

服务预约管理

在服务预约管理页面可以对索引、服务名称、服务类型、服务价格、预约时间、账号、姓名、手机号码、地址、下单时间、是否支付、审核回复、审核状态、审核等内容进行详情、取消、修改或删除等操作

 💬 用户后台功能模块

用户登录管理

用户登录系统后,可以对首页、个人中心、服务预约管理、服务分配管理、服务取消管理、服务进度管理、评价信息管理、留言反馈、我的收藏管理等功能进行相应的操作

服务预约管理

在服务预约管理页面中可以对索引、服务名称、服务类型、服务价格、预约时间、账号、姓名、手机号码、地址、下单时间、是否支付、审核回复、审核状态等内容进行详情、取消、修改或删除等操作

服务取消管理

在服务取消管理页面中可以对索引、服务名称、服务类型、服务价格、预约时间、账号、姓名、手机号码、地址、下单时间、取消原因、取消日期、审核回复、审核状态等内容进行详情、修改或删除等操作

✒️ 源码实现 /** * 服务信息 * 后端接口 * @author * @email * @date 2022-04-20 17:40:05 */ @RestController @RequestMapping("/fuwuxinxi") public class FuwuxinxiController { @Autowired private FuwuxinxiService fuwuxinxiService; @Autowired private StoreupService storeupService; /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map params,FuwuxinxiEntity fuwuxinxi, HttpServletRequest request){ EntityWrapper ew = new EntityWrapper(); PageUtils page = fuwuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fuwuxinxi), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map params,FuwuxinxiEntity fuwuxinxi, HttpServletRequest request){ EntityWrapper ew = new EntityWrapper(); PageUtils page = fuwuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fuwuxinxi), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( FuwuxinxiEntity fuwuxinxi){ EntityWrapper ew = new EntityWrapper(); ew.allEq(MPUtil.allEQMapPre( fuwuxinxi, "fuwuxinxi")); return R.ok().put("data", fuwuxinxiService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(FuwuxinxiEntity fuwuxinxi){ EntityWrapper< FuwuxinxiEntity> ew = new EntityWrapper< FuwuxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre( fuwuxinxi, "fuwuxinxi")); FuwuxinxiView fuwuxinxiView = fuwuxinxiService.selectView(ew); return R.ok("查询服务信息成功").put("data", fuwuxinxiView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ FuwuxinxiEntity fuwuxinxi = fuwuxinxiService.selectById(id); return R.ok().put("data", fuwuxinxi); } /** * 前端详情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ FuwuxinxiEntity fuwuxinxi = fuwuxinxiService.selectById(id); return R.ok().put("data", fuwuxinxi); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody FuwuxinxiEntity fuwuxinxi, HttpServletRequest request){ fuwuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(fuwuxinxi); fuwuxinxiService.insert(fuwuxinxi); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody FuwuxinxiEntity fuwuxinxi, HttpServletRequest request){ fuwuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(fuwuxinxi); fuwuxinxiService.insert(fuwuxinxi); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody FuwuxinxiEntity fuwuxinxi, HttpServletRequest request){ //ValidatorUtils.validateEntity(fuwuxinxi); fuwuxinxiService.updateById(fuwuxinxi);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ fuwuxinxiService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper wrapper = new EntityWrapper(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = fuwuxinxiService.selectCount(wrapper); return R.ok().put("count", count); } }

💖 源码获取

点赞、收藏、关注!!!

非无偿源码!获取源码请添加up主!!

😁 联系方式

文章最底下有微信联系方式!!!



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭