基于springboot的小区家政服务预约平台java+vue-论文、毕设源码、开题报告

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎千套JAVA实战项目持续更新中~

🔎上百套小程序实战项目持续更新中~

🔎上百套Python实战项目持续更新中
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

❤️文末获取源码联系❤️        ⚠️一定要先收藏⚠️

4 系统设计

4.1系统通用功能用例分析

系统的通用功能包括用户登录和密码修改,是三个角色共同需要使用的功能,用例分析如图4-1所示。

                                  

   4-1系统通用功能用例分析图

4.2 系统设计主要功能

本系统采用自上往下的方法开发实现,本课题要求实现一套小区家政服务预约平台,系统主要包括管理员模块和家政人员、用户模块功能模块

 1管理员用例图如下所示:

4-2管理员用例图

2家政人员用例图如下所示:

4-3家政人员用例图

2用户用例图如下所示:

4-4用户用例图

通过市场调研及咨询研究,可以按照用户的角色权限使不同用户角色看到不一样的信息界面。现根据需求阶段的分析,我们可以大致确定系统需要包含的功能如下图4-5所示:

           图4-5小区家政服务预约平台结构功能图

4.3 数据库设计

4.3.1 数据库设计规范

数据可设计要遵循职责分离原则,即在设计时应该要考虑系统独立性,即每个系统之间互不干预不能混乱数据表和系统关系。

数据库命名也要遵循一定规范,否则容易混淆,数据库字段名要尽量做到与表名类似。

4.3.3 数据表

本系统采用的是MySQL数据库存储数据,系统中使用到的主要数据表的具体展示部分如下所示。

4-1token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

4-2关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

4-3收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

4-4新闻公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

4-5家政人员

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

mima

varchar

200

密码

jiazhengxingming

varchar

200

家政姓名

touxiang

longtext

4294967295

头像

nianling

varchar

200

年龄

dianhua

varchar

200

电话

youxiang

varchar

200

邮箱

4-6家政服务

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fuwumingcheng

varchar

200

服务名称

fuwuleixing

varchar

200

服务类型

tupian

longtext

4294967295

图片

jiage

float

价格

fuwuneirong

longtext

4294967295

服务内容

zhanghao

varchar

200

账号

jiazhengxingming

varchar

200

家政姓名

dianhua

varchar

200

电话

4-7服务预约

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

fuwumingcheng

varchar

200

服务名称

zhanghao

varchar

200

账号

jiazhengxingming

varchar

200

家政姓名

jiage

float

价格

yuyueriqi

datetime

预约日期

beizhu

varchar

200

备注

yonghuming

varchar

200

用户名

xingming

varchar

200

姓名

shouji

varchar

200

手机

didian

varchar

200

地点

zhuangtai

varchar

200

状态

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

ispay

varchar

200

是否支付

未支付

4-8服务评价

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

fuwumingcheng

varchar

200

服务名称

zhanghao

varchar

200

账号

jiazhengxingming

varchar

200

家政姓名

fuwupingjia

varchar

200

服务评价

yijianpingjia

longtext

4294967295

意见评价

pingjiashijian

datetime

评价时间

yonghuming

varchar

200

用户名

xingming

varchar

200

姓名

crossuserid

bigint

跨表用户id

crossrefid

bigint

跨表主键id

4-9服务类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fuwuleixing

varchar

200

服务类型

4-10服务订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

fuwumingcheng

varchar

200

服务名称

yonghuming

varchar

200

用户名

xingming

varchar

200

姓名

shouji

varchar

200

手机

didian

varchar

200

地点

wanchengshijian

datetime

完成时间

fuwushizhang

float

服务时长(小时)

fuwujieguo

longtext

4294967295

服务结果

zhanghao

varchar

200

账号

jiazhengxingming

varchar

200

家政姓名

4-11用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuming

varchar

200

用户名

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

touxiang

longtext

4294967295

头像

nianling

varchar

200

年龄

youxiang

varchar

200

邮箱

shouji

varchar

200

手机

4-12家政服务评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

4-13用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

4-14配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

5 系统实现

5.1前台系统功能模块

游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到小区家政服务预约平台的导航条显示首页、家政服务、新闻公告、后台管理、个人中心等,如图5-1所示。

图5-1前台功能界面图

用户点击家政服务,在家政服务页面的搜索栏输入服务名称,进行查询,然后可以查看服务名称、服务类型、图片、价格、家政姓名、电话等信息如有需要可以进行预约、收藏或者评论等操作。如图5-3所示。 

图5-3家政服务界面图

代码实现

package com.controller;   import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map;   import javax.servlet.http.HttpServletRequest;   import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; 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.ResponseBody; import org.springframework.web.bind.annotation.RestController;   import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils;   /**  * 登录相关  */ @RequestMapping("users") @RestController public class UserController{ 	 	@Autowired 	private UserService userService; 	 	@Autowired 	private TokenService tokenService;   	/** 	 * 登录 	 */ 	@IgnoreAuth 	@PostMapping(value = "/login") 	public R login(String username, String password, String captcha, HttpServletRequest request) { 		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); 		if(user==null || !user.getPassword().equals(password)) { 			return R.error("账号或密码不正确"); 		} 		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); 		return R.ok().put("token", token); 	} 	 	/** 	 * 注册 	 */ 	@IgnoreAuth 	@PostMapping(value = "/register") 	public R register(@RequestBody UserEntity user){ //    	ValidatorUtils.validateEntity(user);     	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {     		return R.error("用户已存在");     	}         userService.insert(user);         return R.ok();     }   	/** 	 * 退出 	 */ 	@GetMapping(value = "logout") 	public R logout(HttpServletRequest request) { 		request.getSession().invalidate(); 		return R.ok("退出成功"); 	} 	 	/**      * 密码重置      */     @IgnoreAuth 	@RequestMapping(value = "/resetPass")     public R resetPass(String username, HttpServletRequest request){     	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));     	if(user==null) {     		return R.error("账号不存在");     	}     	user.setPassword("123456");         userService.update(user,null);         return R.ok("密码已重置为:123456");     } 	 	/**      * 列表      */     @RequestMapping("/page")     public R page(@RequestParam Map<String, Object> params,UserEntity user){         EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();     	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));         return R.ok().put("data", page);     }   	/**      * 列表      */     @RequestMapping("/list")     public R list( UserEntity user){        	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();       	ew.allEq(MPUtil.allEQMapPre( user, "user"));          return R.ok().put("data", userService.selectListView(ew));     }       /**      * 信息      */     @RequestMapping("/info/{id}")     public R info(@PathVariable("id") String id){         UserEntity user = userService.selectById(id);         return R.ok().put("data", user);     }          /**      * 获取用户的session用户信息      */     @RequestMapping("/session")     public R getCurrUser(HttpServletRequest request){     	Long id = (Long)request.getSession().getAttribute("userId");         UserEntity user = userService.selectById(id);         return R.ok().put("data", user);     }       /**      * 保存      */     @PostMapping("/save")     public R save(@RequestBody UserEntity user){ //    	ValidatorUtils.validateEntity(user);     	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {     		return R.error("用户已存在");     	}         userService.insert(user);         return R.ok();     }       /**      * 修改      */     @RequestMapping("/update")     public R update(@RequestBody UserEntity user){ //        ValidatorUtils.validateEntity(user);     	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));     	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {     		return R.error("用户名已存在。");     	}         userService.updateById(user);//全部更新         return R.ok();     }       /**      * 删除      */     @RequestMapping("/delete")     public R delete(@RequestBody Long[] ids){         userService.deleteBatchIds(Arrays.asList(ids));         return R.ok();     } }

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

不同开发语言专栏推荐订阅

🔎千套JAVA实战项目持续更新中~

🔎上百套小程序实战项目持续更新中~

🔎上百套Python实战项目持续更新中

👇下方有我的微信名片👇

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值