前言
📌博主介绍:一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮你把毕设做成作品集。👍👍
👇🏻精彩专栏 推荐订阅👇🏻
Java精品项目案例【3000套】
Python精品项目案例【500套】
uniapp/微信小程序/安卓app【1800套】
2026-2027届Java毕业设计优质选题汇总:百个热门方向完整推荐✅
2026-2027届Python毕业设计优质选题汇总:百个热门方向完整推荐✅
2026-2027届小程序/APP毕业设计优质选题汇总:百个热门方向完整推荐✅
✅获取源码私信✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️
系统实现
普通用户角色功能实现
服务人员浏览功能
服务人员浏览功能主要是对平台注册的服务人员进行信息展示与检索。用户进入该模块时系统加载服务人员列表,每条记录展示人员姓名、服务等级、综合评分及从业经验等关键信息。系统提供搜索入口,用户输入关键词后前端将参数封装为请求发送至后端,后端根据查询条件从数据库中检索匹配记录并返回结果集。用户可重置搜索条件恢复列表初始状态。在浏览过程中用户点击某位服务人员的详情入口,系统跳转至详情页面展示该人员的完整信息,包括个人简介、服务类型及用户评价内容。用户对该人员的认可可进行点赞操作,系统记录点赞状态并在界面更新点赞数量。收藏功能允许用户将感兴趣的服务人员保存至个人收藏夹,便于后续快速访问。
服务人员浏览界面
家政信息浏览与预约功能
家政信息浏览与预约功能是用户获取服务内容并发起预约申请的核心入口。系统将家政信息以列表形式呈现,每条信息包含标题、家政类型、服务价格及封面图片等关键要素。用户可通过搜索框输入关键词进行模糊查询,也可通过重置按钮清空搜索条件。用户对某个家政信息进行点赞操作时,系统在后台记录点赞状态并同步更新前端显示。收藏功能允许用户将感兴趣的服务项目保存至收藏夹。点击进入详情页面后,用户可查看服务的完整介绍,包括服务时长、服务范围及详细说明。预约操作集成在详情页面,用户填写预约日期、服务地址及备注信息后提交申请,系统完成数据校验后生成预约记录并返回提交结果。
家政信息浏览与预约界面
服务预约管理功能
服务预约管理功能为用户提供个人预约记录的集中管理入口。用户进入该模块后系统以表格形式展示历史预约记录,每条记录包含信息标题、预约日期、预约地址及审核状态等关键字段。用户可通过查询条件筛选指定时间范围或状态类型的预约记录,重置功能可恢复默认列表显示。对于审核状态为待处理的预约,用户可查看详情了解预约内容的完整信息。取消操作仅在预约尚未开始且未超出允许取消时间窗口时可用,用户确认取消后系统更新预约状态并释放相关资源。支付操作引导用户完成服务费用的在线支付,支付成功后系统同步更新订单状态。
服务预约管理界面
服务订单管理功能
服务订单管理功能支持用户对已完成或进行中的服务订单进行跟踪与管理。用户登录后系统加载与当前账户关联的订单列表,每条记录展示订单状态、服务时间及订单金额等核心信息。查询功能允许用户按订单状态或时间范围进行筛选,重置操作可清空筛选条件。用户点击详情按钮进入订单详情页,查看完整的订单信息,包括服务内容、预约地址、上门时间及订单描述。对于已完成且符合退款条件的订单,退款按钮处于可用状态,用户点击后跳转至退款申请页面填写退款理由并提交申请。
服务订单管理界面
退款申请管理功能
退款申请管理功能为用户提供退款申请的提交与进度追踪能力。用户进入该模块后系统展示已发起的退款申请列表,每条记录包含关联订单信息、退款原因、申请时间及审核状态。查询功能支持按申请时间或审核状态筛选记录,重置功能恢复列表默认显示。用户点击详情可查看完整的申请信息与管理员审核回复内容。退款申请提交后系统将申请记录存储至数据库,管理员处理完成后用户可通过本模块查看审核结果,若审核通过则系统自动触发退款流程。
退款申请管理界面
服务人员角色功能实现
订单状态管理功能
订单状态管理功能为服务人员提供分派订单的查看与状态更新入口。服务人员登录系统后进入订单状态管理模块,系统根据当前用户标识加载已分派的订单列表,每条记录展示订单编号、用户信息、预约时间及当前状态等关键字段。服务人员可通过查询条件按订单状态或预约时间范围筛选订单,重置功能恢复列表默认显示。点击订单详情可查看完整的订单信息,包括服务地址、服务内容及用户备注等。订单状态更新操作允许服务人员根据实际服务进度调整订单状态,可选状态包括待接单、已接单、服务中、已完成。状态变更时系统进行流转合法性校验,仅允许按预设路径变更状态,变更完成后同步更新数据库中订单状态字段并记录状态变更时间。
订单状态管理界面
管理员角色功能实现
家政信息管理功能
家政信息管理功能为管理员提供家政服务内容的全面维护能力。管理员进入该模块后系统以表格形式展示所有家政信息记录,包含信息标题、家政类型、服务价格及审核状态等列。查询功能支持按标题、类型或状态进行组合检索,重置操作清空查询条件。新增功能弹出表单窗口,管理员填写服务名称、选择分类、设定价格并上传封面图片后提交,系统校验数据完整性后生成新记录。批量删除允许管理员勾选多条记录后执行删除操作,系统弹出确认提示后批量移除所选数据。批量审核功能针对待审核的服务信息进行统一处理,管理员选择通过或拒绝后系统批量更新审核状态。每条记录后的修改与删除按钮支持单条记录编辑与移除操作。审核功能对未审核的信息进行状态变更,查看评论按钮弹出评论窗口展示用户对该服务的评价内容。
家政信息管理界面
服务人员管理功能
服务人员管理功能支持管理员对平台服务人员信息进行维护。系统以列表形式展示所有服务人员记录,包含人员姓名、电话、服务等级及行业经验等信息。管理员可通过查询功能按姓名或电话筛选人员,重置功能恢复初始列表。新增功能打开表单页面,管理员录入人员基本信息、服务等级及行业资质后提交,系统完成数据校验后创建服务人员账户。批量删除功能支持勾选多条记录后执行删除,删除操作同时清理人员关联的订单数据。每条记录包含详情、修改与删除操作按钮,详情页面展示人员完整资料,修改表单支持信息更新,删除操作移除人员记录。
服务人员管理界面
家政类型管理功能
家政类型管理功能用于维护服务的分类体系结构。管理员进入模块后系统展示现有家政类型列表,包含类型名称与创建时间等字段。查询功能支持按类型名称模糊搜索,重置操作清空搜索条件。新增功能提供输入框填写新类型名称,提交后系统将新类型存入类型表。批量删除允许管理员勾选多条类型记录后统一移除,删除操作前系统检查该类型下是否存在关联的家政信息,存在关联时提示操作风险。修改功能支持对已有类型名称进行编辑更新,删除操作移除指定类型记录。家政类型维护结果直接影响家政信息管理模块中分类选择下拉框的可选项。
家政类型管理界面
服务预约管理功能
服务预约管理功能为管理员提供所有用户预约记录的统一管理入口。系统以列表形式展示全平台预约申请,包含预约标题、用户信息、预约时间及审核状态等列。管理员可通过组合查询条件按状态、用户或时间范围筛选预约记录,重置操作恢复全部记录显示。批量删除支持勾选多条预约记录后执行移除操作。批量审核功能针对待审核的预约申请进行统一处理,管理员选择通过或拒绝后系统批量更新审核状态。每条记录包含详情、修改与删除操作按钮,详情页面展示预约完整信息,修改表单支持预约内容与状态的调整,审核操作单独处理单条记录的审核状态变更。
服务预约管理界面
退款申请管理功能
退款申请管理功能处理用户提交的退款申请并执行审核操作。系统以列表形式展示所有退款申请记录,包含关联订单信息、申请人姓名、退款原因及审核状态等列。管理员可通过查询条件按状态或申请时间筛选记录,重置功能恢复默认显示。批量删除允许勾选多条申请记录后统一移除。批量审核功能针对待审核的申请进行统一处理,管理员选择通过或拒绝后系统批量更新审核状态,审核通过的申请系统自动触发后续退款处理流程。每条记录包含详情、修改与删除操作按钮,详情页面展示申请完整信息及订单详情,审核操作单独处理单条申请的审核决策,管理员填写审核回复后提交,系统更新申请状态并记录审核意见。
退款申请管理界面
数据库参考
CREATE TABLE `user` ( `user_id` int(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID', `state` smallint(1) unsigned NOT NULL DEFAULT '1' COMMENT '账户状态:(1可用|2异常|3已冻结|4已注销)', `user_group` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '所在用户组', `login_time` timestamp NULL DEFAULT NULL COMMENT '上次登录时间', `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机号码', `phone_state` smallint(1) unsigned NOT NULL DEFAULT '0' COMMENT '手机认证:(0未认证|1审核中|2已认证)', `username` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名', `nickname` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '昵称', `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码', `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '邮箱', `email_state` smallint(1) unsigned NOT NULL DEFAULT '0' COMMENT '邮箱认证:(0未认证|1审核中|2已认证)', `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '头像地址', `open_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '针对获取用户信息字段', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `vip_level` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '会员等级', `vip_discount` double(10,2) DEFAULT '0.00' COMMENT '会员折扣', `integral` int(11) DEFAULT '0' COMMENT '积分', `balance` double(10,2) DEFAULT '0.00' COMMENT '余额', `ip` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'IPv4/IPv6地址', `device_hash` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '设备指纹', `emergency_name` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '紧急联系人', `emergency_mobile` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '紧急联系电话', PRIMARY KEY (`user_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户账户'; CREATE TABLE `service_billing`(service_billing_id int(11) NOT NULL AUTO_INCREMENT COMMENT '服务账单ID', `message_title` varchar(64) comment '信息标题', `types_of_housekeeping` varchar(64) comment '家政类型', `service_prices` double(8,2) DEFAULT 0 comment '服务价格', `household_service_users` int(11) DEFAULT 0 comment '家政用户', `regular_user` int(11) DEFAULT 0 comment '普通用户', `user_name` varchar(64) comment '用户姓名', `appointment_date` date comment '预约日期', `appointment_address` varchar(64) comment '预约地址', `home_visit_time` datetime comment '上门时间', `end_time` datetime comment '结束时间', `total_amount` double(8,2) DEFAULT 0 comment '合计金额', `billing_profile` text comment '账单简介', `examine_state` varchar(16) DEFAULT '未审核' NOT NULL comment '审核状态', `pay_state` varchar(16) DEFAULT '未支付' NOT NULL comment '支付状态', `pay_type` varchar(16) DEFAULT '' comment '支付类型: 微信、支付宝、网银', `service_evaluation_limit_times` int(8) DEFAULT 1 NOT NULL comment '评价限制次数', `refund_request_limit_times` int(8) DEFAULT 1 NOT NULL comment '退款限制次数', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_by` int(11) DEFAULT '1' NOT NULL comment '创建用户ID', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (service_billing_id))ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '服务账单';代码参考
@PostMapping("/add") @Transactional public Map<String, Object> add(HttpServletRequest request) throws IOException { Map<String,Object> paramMap = service.readBody(request.getReader()); paramMap.entrySet().removeIf(entry -> { Object value = entry.getValue(); return value instanceof String && ((String) value).isEmpty(); }); HouseholdStaff household_staff = new HouseholdStaff(); household_staff.setPersons_name(paramMap.get("persons_name")==null?null:String.valueOf(paramMap.get("persons_name"))); household_staff.setPersonnel_telephone(paramMap.get("personnel_telephone")==null?null:String.valueOf(paramMap.get("personnel_telephone"))); Map<String, String> mappersonnel_telephone = new HashMap<>(); mappersonnel_telephone.put("personnel_telephone",String.valueOf(paramMap.get("personnel_telephone"))); List listpersonnel_telephone = service.selectBaseList(service.select(mappersonnel_telephone, new HashMap<>())); if (listpersonnel_telephone.size()>0){ return error(30000, "字段人员电话内容不能重复"); } household_staff.setIndustry_qualification(paramMap.get("industry_qualification")==null?null:String.valueOf(paramMap.get("industry_qualification"))); household_staff.setService_level(paramMap.get("service_level")==null?null:Double.valueOf(String.valueOf(paramMap.get("service_level")))); household_staff.setUserId(paramMap.get("user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("user_id")))); household_staff.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by")))); this.addEntity(household_staff); System.out.println("家政人员新增成功"); return success(1); } @PostMapping("/set") @Transactional public Map<String, Object> set(HttpServletRequest request) throws IOException { Map<String,String> queryMap = service.readQuery(request); Map<String,String> configMap = service.readConfig(request); Map<String,Object> paramMap = service.readBody(request.getReader()); paramMap.entrySet().removeIf(entry -> { Object value = entry.getValue(); return value instanceof String && ((String) value).isEmpty(); }); HouseholdStaff household_staff = new HouseholdStaff(); household_staff.setPersons_name(paramMap.get("persons_name")==null?null:String.valueOf(paramMap.get("persons_name"))); household_staff.setPersonnel_telephone(paramMap.get("personnel_telephone")==null?null:String.valueOf(paramMap.get("personnel_telephone"))); household_staff.setIndustry_qualification(paramMap.get("industry_qualification")==null?null:String.valueOf(paramMap.get("industry_qualification"))); household_staff.setService_level(paramMap.get("service_level")==null?null:Double.valueOf(String.valueOf(paramMap.get("service_level")))); household_staff.setUserId(paramMap.get("user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("user_id")))); this.setEntity(queryMap,configMap,household_staff); System.out.println("家政人员修改成功"); return success(1); } /** * 根据 user_id 查询用户及其附加表信息 * * @param userId 用户ID * @return 包含用户信息和附加信息的对象 */ @GetMapping("/get_user_by_id") public Map<String,Object> getUserById(Long userId) { Map<String,String> queryMap = new HashMap<>(); queryMap.put("user_id",String.valueOf(userId)); // 查询用户基本信息 Map<String,Object> registeredMap = this.getObjByMap(queryMap); HouseholdStaff household_staff = JSON.parseObject(JSON.toJSONString(registeredMap),HouseholdStaff.class); if (household_staff != null) { // 查询用户附加信息 Map<String,Object> userMap = this.getObjByMap(queryMap); User user = JSON.parseObject(JSON.toJSONString(userMap),User.class); Map<String,Object> result = new HashMap<>(); result.put("user",user); result.put("household_staff",household_staff); return result; } else { throw new RuntimeException("家政人员不存在}"); } } }前端:基于Vue.js框架构建用户界面,使用HTML5、CSS3和JavaScript实现页面结构与交互逻辑,通过Vue Router管理路由,Vuex或Pinia维护全局状态。采用Element UI或Vant组件库快速搭建界面,Axios封装HTTP请求实现与后端的数据通信。
后端:基于Spring Boot框架搭建,遵循Controller-Service-Mapper三层架构。Controller层接收前端请求并校验参数,Service层处理核心业务逻辑,Mapper层通过MyBatis或MyBatis-Plus完成数据库操作。使用Spring Security或Shiro结合JWT实现用户认证与权限控制。
数据库:采用MySQL存储持久化数据,Redis缓存热点信息以提升系统性能。
开发工具:使用IDEA开发后端,VSCode或HBuilderX开发前端,Git进行版本管理,Maven和npm分别管理前后端依赖。
源码获取
私信联系我即可~
大家点赞、收藏、关注、评论啦
精彩专栏推荐订阅:在下方专栏👇🏻
👇🏻精彩专栏 推荐订阅👇🏻
Java精品项目案例【3000套】
Python精品项目案例【500套】
uniapp/微信小程序/安卓app【1800套】
2026-2027届Java毕业设计优质选题汇总:百个热门方向完整推荐✅
2026-2027届Python毕业设计优质选题汇总:百个热门方向完整推荐✅
2026-2027届小程序/APP毕业设计优质选题汇总:百个热门方向完整推荐✅
✅获取源码私信✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️