基于Springboot+Vue的Java项目-家政服务平台系统开发实战(附演示视频+源码+LW)

server/2024/12/23 19:21:26/

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 Python毕业设计
🌎微信小程序毕业设计

开发环境

开发语言:Java
框架:Springboot+Vue
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7
数据库工具:Navicat12
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器

演示视频

springboot299家政服务平台的设计与实现演示录像

原版高清演示视频-编号299:
https://pan.quark.cn/s/5cda95b17ee0

源码下载地址:

https://download.csdn.net/download/2301_76953549/89099749

LW目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

目录

  • 开发环境
  • 演示视频
  • 源码下载地址:
  • LW目录
  • 一、项目简介
  • 二、系统设计
    • 2.1软件功能模块设计
    • 2.2数据库设计
  • 三、系统项目部分截图
    • 3.1雇主管理
    • 3.2雇员管理
    • 3.3资料认证管理
    • 3.4项目类型管理
  • 四、部分核心代码
    • 4.1 用户部分
  • 获取源码或论文

一、项目简介

家政服务平台有管理员,雇主,雇员三个角色。管理员功能有个人中心,雇主管理,雇员管理,资料认证管理,项目类型管理,服务项目管理,需求信息管理,服务预约管理,申请预约管理,签订合同管理,雇主评价管理,留言板管理,系统管理。雇主可以发布需求,雇员可以申请预约,雇主支付报酬,雇主和雇员可以签订合同,雇主可以对雇员进行评价。

二、系统设计

2.1软件功能模块设计

在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是功能结构图。
在这里插入图片描述

2.2数据库设计

(1)管理员实体属性图见图4.4。
在这里插入图片描述
(2)雇主实体属性图见图4.5。
在这里插入图片描述
(3)项目类型实体属性图见图4.6。
在这里插入图片描述

三、系统项目部分截图

3.1雇主管理

如图5.1显示的就是雇主管理页面,此页面提供给管理员的功能有:对雇主信息进行查询,添加,删除以及批量删除操作。
在这里插入图片描述

3.2雇员管理

如图5.2显示的就是雇员管理页面,管理员可以对雇员信息进行添加,修改,删除,查询操作。
在这里插入图片描述

3.3资料认证管理

如图5.3显示的就是资料认证管理页面,雇员注册后需要点击后台进行资料认证,在资料认证里添加自己的资料信息,然后管理员可以审核。
在这里插入图片描述

3.4项目类型管理

如图5.4显示的就是项目类型管理页面,管理员可以对项目类型进行添加修改删除查询操作。
在这里插入图片描述

四、部分核心代码

4.1 用户部分

java">package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.XiangmuleixingEntity;
import com.entity.view.XiangmuleixingView;import com.service.XiangmuleixingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;/*** 项目类型* 后端接口* @author * @email * @date 2022-04-18 19:23:55*/
@RestController
@RequestMapping("/xiangmuleixing")
public class XiangmuleixingController {@Autowiredprivate XiangmuleixingService xiangmuleixingService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,XiangmuleixingEntity xiangmuleixing,HttpServletRequest request){EntityWrapper<XiangmuleixingEntity> ew = new EntityWrapper<XiangmuleixingEntity>();PageUtils page = xiangmuleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiangmuleixing), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,XiangmuleixingEntity xiangmuleixing, HttpServletRequest request){EntityWrapper<XiangmuleixingEntity> ew = new EntityWrapper<XiangmuleixingEntity>();PageUtils page = xiangmuleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiangmuleixing), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( XiangmuleixingEntity xiangmuleixing){EntityWrapper<XiangmuleixingEntity> ew = new EntityWrapper<XiangmuleixingEntity>();ew.allEq(MPUtil.allEQMapPre( xiangmuleixing, "xiangmuleixing")); return R.ok().put("data", xiangmuleixingService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(XiangmuleixingEntity xiangmuleixing){EntityWrapper< XiangmuleixingEntity> ew = new EntityWrapper< XiangmuleixingEntity>();ew.allEq(MPUtil.allEQMapPre( xiangmuleixing, "xiangmuleixing")); XiangmuleixingView xiangmuleixingView =  xiangmuleixingService.selectView(ew);return R.ok("查询项目类型成功").put("data", xiangmuleixingView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){XiangmuleixingEntity xiangmuleixing = xiangmuleixingService.selectById(id);return R.ok().put("data", xiangmuleixing);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){XiangmuleixingEntity xiangmuleixing = xiangmuleixingService.selectById(id);return R.ok().put("data", xiangmuleixing);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XiangmuleixingEntity xiangmuleixing, HttpServletRequest request){xiangmuleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xiangmuleixing);xiangmuleixingService.insert(xiangmuleixing);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody XiangmuleixingEntity xiangmuleixing, HttpServletRequest request){xiangmuleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xiangmuleixing);xiangmuleixingService.insert(xiangmuleixing);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody XiangmuleixingEntity xiangmuleixing, HttpServletRequest request){//ValidatorUtils.validateEntity(xiangmuleixing);xiangmuleixingService.updateById(xiangmuleixing);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){xiangmuleixingService.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<String, Object> 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<XiangmuleixingEntity> wrapper = new EntityWrapper<XiangmuleixingEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = xiangmuleixingService.selectCount(wrapper);return R.ok().put("count", count);}}

获取源码或论文

如需对应的LW或源码,以及其他定制需求,也可以点我头像查看个人简介联系。


http://www.ppmy.cn/server/19683.html

相关文章

路由嵌套是什么?怎么进行路由嵌套

路由嵌套&#xff1a; 此时我们从一个组件切换到另一个组件时&#xff0c;会直接跳转页面&#xff0c;所以我们需要一个东西让组件们可以在一个页面显示&#xff0c;这时候就需要进行路由嵌套。我们要找到组件之间的关系&#xff0c;大组件嵌套小组件&#xff0c;从大组件中打…

Java设计模式 _创建型模式_建造者模式(Builder)

一、建造者模式 1、建造者模式&#xff08;Builder Pattern&#xff09;是一种创建对象的设计模式。它允许你使用不同的构建策略来创建复杂对象。通常是在复杂类中通过静态内部类&#xff08;Builder&#xff09;来进行构建。 2、实现思路&#xff1a; &#xff08;1&#xf…

Java 线程的几种状态

一、 线程的状态 状态是针对当前的线程调度的情况来描述的。因为线程是调度的基本单位&#xff0c;所以状态更应该是线程的属性。在Java中线程的状态一共有六种&#xff1a; 1. 初始(NEW)&#xff1a;新创建了一个线程对象&#xff0c;但还没有调用start()方法。 2. 运行(RUNN…

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(八)Transformer块

探索和构建 LLaMA 3 架构&#xff1a;深入探讨组件、编码和推理技术&#xff08;八&#xff09;编码器块 Transformer块 由于 只关注模型的推理&#xff0c;因此 只会研究transformer块 class EncoderBlock(nn.Module):def __init__(self, args: ModelArgs):super().__init__…

【保姆级教程】Windows 远程登录 Ubuntu桌面环境

前言 在Windows下远程访问Linux服务器的桌面&#xff0c;有几种常见的方法&#xff1a; xrdp&#xff08;X Remote Desktop Protocol&#xff09;&#xff1a;xrdp允许Windows使用RDP&#xff08;Remote Desktop Protocol&#xff09;来连接到Linux服务器的桌面。这种方式相对…

SQL基础(关系模型)

目录 SQL及定义域概念 SQL是什么 定义域 关系简介 关系的定义 关系的封闭性 关系模型简介 关系模型 谓词逻辑 运算基础 SQL的加减乘除 SQL的除法1 SQL的除法2 SQL的除法3 三值逻辑 NULL的危害 消除NULL SQL及定义域概念 SQL是什么 Structured Query Languag…

pnpm的安装与配置(Windows/macOS)

&#x1f4e6; PNPM的安装与配置&#xff08;Windows与macOS&#xff09; &#x1fa9f; Windows系统下安装与配置PNPM 步骤一&#xff1a;安装Node.js 首先&#xff0c;访问 Node.js官方网站 获取适用于Windows操作系统的最新稳定版安装程序。在安装过程中&#xff0c;请确…

css中新型的边框设置属性border-block

border-block 是 CSS 中的一个属性&#xff0c;主要用于在样式表中一次性设置元素的逻辑块向边框的属性值。这个属性是简写属性&#xff0c;可以同时设置 border-block-width、border-block-style 和 border-block-color。其中&#xff0c;border-block-start 用于设置元素的开…