案例075:基于微信小程序的家政服务管理系统

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

目录

前言

系统展示

管理员功能实现

服务项目管理

留言板管理

家政阿姨管理

家政公司管理

家政阿姨功能实现

家政公司

家政预约

留言板

用户功能实现

家政公司

家政预约

评价信息

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改变运营策略。随着微信小程序的出现,解决了用户非独立APP不可访问内容的痛点,所以很多APP软件都转向微信小程序。本次课题就运用了微信小程序技术开发一个基于微信小程序的家政服务管理系统。

基于微信小程序的家政服务管理系统借助微信开发者工具开发用户前端,使用SSM框架和Java语言开发管理员后台,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理家政公司,家政阿姨,家政预约以及服务项目,管理评价和留言。家政阿姨审核家政预约信息,查看家政公司和评价。用户预约家政服务并支付,评价预约的家政服务。

总之,基于微信小程序的家政服务管理系统使得用户可以更加方便预约家政服务,并在线支付预约的家政服务,家政阿姨也能审核家政预约信息,查看家政预约的相关评价信息。


系统展示

管理员功能实现

服务项目管理

管理员进入指定功能操作区之后可以管理服务项目信息。其页面见下图。管理员增删改查服务项目信息。

留言板管理

管理员进入指定功能操作区之后可以管理留言。其页面见下图。管理员点击回复按钮可以回复用户的留言。

家政阿姨管理

管理员进入指定功能操作区之后可以管理家政阿姨信息。其页面见下图。管理员增删改查家政阿姨信息,查看家政阿姨详情信息。

家政公司管理

管理员进入指定功能操作区之后可以管理家政公司信息。其页面见下图。管理员增删改查家政公司信息,查看家政公司详情信息。

家政阿姨功能实现

家政公司

家政阿姨进入指定功能操作区之后可以查看家政公司信息。其页面见下图。家政阿姨查询家政公司,查看家政公司详细信息。

家政预约

家政阿姨进入指定功能操作区之后可以管理家政预约信息。其页面见下图。家政阿姨查看用户提交的家政预约信息,可以审核家政预约信息。

留言板

家政阿姨进入指定功能操作区之后可以发布留言。其页面见下图。家政阿姨发布留言,其留言内容需要管理员查看,管理员在后台会对留言内容进行回复。

用户功能实现

家政公司

用户进入指定功能操作区之后可以查看家政公司信息。其页面见下图。用户查看家政公司介绍信息时,可以预约家政服务。

家政预约

用户进入指定功能操作区之后可以查看家政预约信息。其页面见下图。用户可以支付家政预约订单,可以在当前页面评价家政预约信息。

评价信息

用户进入指定功能操作区之后可以查看评价信息。其页面见下图。用户在当前页面查看评价详细信息。


代码实现

登录功能实现代码

java 复制代码
@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);
	}

注册功能实现代码

java 复制代码
@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();
    }

密码重置功能实现代码

java 复制代码
@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");
    }

修改信息功能实现代码

java 复制代码
 @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();
    }

删除信息功能实现代码

java 复制代码
@RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

保存信息功能实现代码

java 复制代码
@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();
    }
相关推荐
学长毕业设计1 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西1 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西1 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午2 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065252 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
小范同学_2 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
予昊3 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
2601_962203513 小时前
【SpringAI入门】初识SpringAI
java
weixin_461408584 小时前
Mybatis-flex小记
java·开发语言·mybatis
2601_962177134 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql