尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

springboot校园失物招领管理系统59786-计算机课程设计、毕业设计

springboot校园失物招领管理系统59786-计算机课程设计、毕业设计 前言✨博主介绍一线全栈工程师毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码帮你把毕设做成作品集。精彩专栏 推荐订阅Java精品项目案例【3000套】Python精品项目案例【500套】uniapp/微信小程序/安卓app【800套】2026-2027届Java毕业设计优质选题汇总百个热门方向完整推荐✅2026-2027届Python毕业设计优质选题汇总百个热门方向完整推荐✅2026-2027届小程序/APP毕业设计优质选题汇总百个热门方向完整推荐✅✅获取源码请私信✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️系统实现普通用户角色功能实现注册登录注册登录模块主要是对用户身份进行验证与账号信息进行管理。用户进入系统时填写用户名与密码提交登录请求系统校验输入信息与数据库记录是否匹配校验通过后生成会话凭证返回前端。未注册用户可进入注册页面填写用户名、密码、手机号码等必要信息系统检测用户名是否已被占用通过后将用户信息写入数据库并跳转至登录页面。注册登录界面失物信息发布失物信息发布模块主要是对丢失物品信息进行登记与提交。用户填写物品名称、选择物品分类、设定丢失地点与时间上传物品图片辅助识别填写详情描述补充特征信息。系统接收用户提交内容后生成发布编码信息状态标记为待审核用户可在个人中心查看发布记录与审核进度。失物信息发布界面招领信息发布招领信息发布模块主要是对捡到物品信息进行登记与提交。用户填写物品名称、选择物品分类、设定捡到地点与时间说明交还方式上传物品图片。系统接收提交内容后生成发布编码信息状态标记为待审核用户可在个人中心查看发布记录与审核进度。招领信息发布界面在线认领在线认领模块主要是对失物信息提交认领申请。用户在失物详情页面点击认领按钮填写申请时间与预约时间提供认领备注说明物品特征系统记录认领用户与发布编码。管理员收到认领申请后审核处理用户可在认领记录中查看审核状态与处理结果。在线认领界面在线聊天在线聊天模块主要是为用户间即时沟通提供渠道。用户选择聊天对象后进入会话窗口输入消息内容发送至接收方系统记录聊天消息并实时推送。聊天窗口展示历史消息记录用户可滚动查看过往对话。在线聊天界面认领记录查看认领记录查看模块主要是对用户提交的认领申请进行查询与跟踪。系统展示认领记录列表每条记录包含申请时间、预约时间、物品名称、处理状态等信息。用户可通过物品分类或申请时间筛选记录点击详情查看认领备注与审核回复。认领记录查看界面评价反馈评价反馈模块主要是对认领过程进行评价与反馈。认领流程完成后用户可在认领记录中提交评价选择评价等级、填写评价内容系统保存评价记录并关联认领申请。管理员查看评价内容后可进行回复处理。评价反馈界面招领信息查看招领信息查看模块主要是对招领信息进行检索与浏览。用户进入招领信息列表页面系统展示所有审核通过的招领记录。用户可按物品分类、捡到地点等条件筛选信息点击记录进入详情页面查看完整信息与图片。招领信息查看界面失物信息查看失物信息查看模块主要是对失物信息进行检索与浏览。用户进入失物信息列表页面系统展示所有审核通过的失物记录。用户可按物品分类、发现地点、丢失时间段等条件筛选信息点击记录进入详情页面查看完整信息与图片。失物信息查看界面管理员角色功能实现物品分类管理物品分类管理模块主要是对物品分类信息进行增删改查操作。管理员进入分类管理页面查看分类列表新增分类时填写分类名称、设置显示顺序、上传分类图标修改分类时更新相关信息删除分类前系统检查分类下是否存在关联物品信息。物品分类管理界面失物信息管理失物信息管理模块主要是对用户发布的失物信息进行审核与维护。管理员进入失物信息管理页面查看所有失物记录对未审核信息进行审核操作审核通过后信息在前台展示审核不通过则填写退回原因。管理员可对违规信息执行下架操作。失物信息管理界面招领信息管理招领信息管理模块主要是对用户发布的招领信息进行审核与维护。管理员进入招领信息管理页面查看所有招领记录对未审核信息进行审核操作审核通过后信息在前台展示审核不通过则填写退回原因。管理员可对违规信息执行下架操作。招领信息管理界面认领记录管理认领记录管理模块主要是对用户提交的认领申请进行查看与状态更新。管理员进入认领记录管理页面查看所有认领申请按申请时间、物品分类等条件筛选记录查看详情后更新处理状态填写审核回复反馈给用户。认领记录管理界面评价反馈管理评价反馈管理模块主要是对用户提交的评价内容进行查看与回复。管理员进入评价反馈管理页面查看所有评价记录按评价等级、审核状态筛选记录查看评价详情后填写审核回复确认后评价内容在前台展示。评价反馈管理界面公告信息管理公告信息管理模块主要是对平台公告内容进行发布与维护。管理员进入公告管理页面查看公告列表新增公告时填写标题与正文内容修改公告时更新相关信息可删除过期或无效公告。公告发布后在前台公告栏目展示。公告信息管理界面新闻资讯管理新闻资讯管理模块主要是对失物招领相关资讯进行发布与维护。管理员进入资讯管理页面查看资讯列表新增资讯时填写标题、选择文章分类、上传封面图、编写正文内容修改资讯时更新相关信息可删除已发布的资讯。新闻资讯管理界面数据库参考CREATE TABLE message_inform ( message_inform_id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 通知ID, user_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 通知人ID, title varchar(255) DEFAULT NULL COMMENT 标题, state varchar(255) DEFAULT NULL COMMENT 状态, type varchar(64) DEFAULT NULL COMMENT 分类, content varchar(255) DEFAULT NULL COMMENT 内容, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (message_inform_id) USING BTREE, KEY user_id (user_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 ROW_FORMATDYNAMIC COMMENT通知记录; DROP TABLE IF EXISTS user_group; CREATE TABLE user_group ( group_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 用户组ID, display smallint(4) unsigned NOT NULL DEFAULT 100 COMMENT 显示顺序, name varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT COMMENT 名称, description varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 描述, source_table varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 来源表, source_field varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 来源字段, source_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 来源ID, register smallint(1) unsigned DEFAULT 0 COMMENT 注册位置, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (group_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT用户组; DROP TABLE IF EXISTS user_chat_group; CREATE TABLE user_chat_group ( user_chat_group_id int(11) NOT NULL AUTO_INCREMENT COMMENT ID, group_id int(255) DEFAULT NULL COMMENT 群聊ID, group_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 群聊名称, user_id int(11) DEFAULT NULL COMMENT 用户ID, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (user_chat_group_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci ROW_FORMATCOMPACT COMMENT聊天用户群聊; DROP TABLE IF EXISTS article; CREATE TABLE article ( article_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 文章id, title varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT COMMENT 标题, type varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 0 COMMENT 文章分类, hits int(10) unsigned NOT NULL DEFAULT 0 COMMENT 点击数, praise_len int(11) NOT NULL DEFAULT 0 COMMENT 点赞数, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, source varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 来源, url varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 来源地址, tag varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 标签, content longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 正文, img varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 封面图, description text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 文章描述, PRIMARY KEY (article_id,title) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT文章;代码参考package com.project.demo.controller; import com.project.demo.entity.EvaluationFeedback; import com.project.demo.service.EvaluationFeedbackService; import com.alibaba.fastjson.JSON; import com.project.demo.controller.base.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.util.StringUtils; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.persistence.Query; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; /** * 评价反馈(EvaluationFeedback)表控制层 * */ RestController RequestMapping(/evaluation_feedback) public class EvaluationFeedbackController extends BaseControllerEvaluationFeedback, EvaluationFeedbackService { /** * 评价反馈对象 */ Autowired public EvaluationFeedbackController(EvaluationFeedbackService service) { setService(service); } PostMapping(/add) Transactional public MapString, Object add(HttpServletRequest request) throws IOException { MapString,Object paramMap service.readBody(request.getReader()); paramMap.entrySet().removeIf(entry - { Object value entry.getValue(); return value instanceof String ((String) value).isEmpty(); }); EvaluationFeedback evaluation_feedback new EvaluationFeedback(); evaluation_feedback.setPublication_code(paramMap.get(publication_code)null?null:String.valueOf(paramMap.get(publication_code))); evaluation_feedback.setItem_name(paramMap.get(item_name)null?null:String.valueOf(paramMap.get(item_name))); evaluation_feedback.setPublish_user(paramMap.get(publish_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(publish_user)))); evaluation_feedback.setClaim_user(paramMap.get(claim_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(claim_user)))); if (paramMap.get(evaluation_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(evaluation_time )))) { String timStr String.valueOf(paramMap.get(evaluation_time )); evaluation_feedback.setEvaluation_time(parseToTimestamp(timStr)); } else { evaluation_feedback.setEvaluation_time(null); } evaluation_feedback.setEvaluation_grade(paramMap.get(evaluation_grade)null?null:String.valueOf(paramMap.get(evaluation_grade))); evaluation_feedback.setTrading_picture(paramMap.get(trading_picture)null?null:String.valueOf(paramMap.get(trading_picture))); evaluation_feedback.setEvaluation_content(paramMap.get(evaluation_content)null?null:String.valueOf(paramMap.get(evaluation_content))); evaluation_feedback.setExamine_state(paramMap.get(examine_state)null?null:String.valueOf(paramMap.get(examine_state))); evaluation_feedback.setExamine_reply(paramMap.get(examine_reply)null?null:String.valueOf(paramMap.get(examine_reply))); evaluation_feedback.setExtra(paramMap.get(extra)null?null:String.valueOf(paramMap.get(extra))); evaluation_feedback.setSource_table(paramMap.get(source_table)null?null:String.valueOf(paramMap.get(source_table))); evaluation_feedback.setSource_id(paramMap.get(source_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_id)))); evaluation_feedback.setSource_user_id(paramMap.get(source_user_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_user_id)))); evaluation_feedback.setCreate_by(paramMap.get(create_by)null?null:Integer.valueOf(String.valueOf(paramMap.get(create_by)))); this.addEntity(evaluation_feedback); System.out.println(评价反馈新增成功); return success(1); } PostMapping(/set) Transactional public MapString, Object set(HttpServletRequest request) throws IOException { MapString,String queryMap service.readQuery(request); MapString,String configMap service.readConfig(request); MapString,Object paramMap service.readBody(request.getReader()); paramMap.entrySet().removeIf(entry - { Object value entry.getValue(); return value instanceof String ((String) value).isEmpty(); }); EvaluationFeedback evaluation_feedback new EvaluationFeedback(); evaluation_feedback.setPublication_code(paramMap.get(publication_code)null?null:String.valueOf(paramMap.get(publication_code))); evaluation_feedback.setItem_name(paramMap.get(item_name)null?null:String.valueOf(paramMap.get(item_name))); evaluation_feedback.setPublish_user(paramMap.get(publish_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(publish_user)))); evaluation_feedback.setClaim_user(paramMap.get(claim_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(claim_user)))); if (paramMap.get(evaluation_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(evaluation_time )))) { String timStr String.valueOf(paramMap.get(evaluation_time )); evaluation_feedback.setEvaluation_time(parseToTimestamp(timStr)); } else { evaluation_feedback.setEvaluation_time(null); } evaluation_feedback.setEvaluation_grade(paramMap.get(evaluation_grade)null?null:String.valueOf(paramMap.get(evaluation_grade))); evaluation_feedback.setTrading_picture(paramMap.get(trading_picture)null?null:String.valueOf(paramMap.get(trading_picture))); evaluation_feedback.setEvaluation_content(paramMap.get(evaluation_content)null?null:String.valueOf(paramMap.get(evaluation_content))); evaluation_feedback.setExamine_state(paramMap.get(examine_state)null?null:String.valueOf(paramMap.get(examine_state))); evaluation_feedback.setExamine_reply(paramMap.get(examine_reply)null?null:String.valueOf(paramMap.get(examine_reply))); evaluation_feedback.setSource_table(paramMap.get(source_table)null?null:String.valueOf(paramMap.get(source_table))); evaluation_feedback.setSource_id(paramMap.get(source_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_id)))); evaluation_feedback.setSource_user_id(paramMap.get(source_user_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_user_id)))); this.setEntity(queryMap,configMap,evaluation_feedback); System.out.println(评价反馈修改成功); return success(1); } /** * 修改审核状态 * * param id 要修改的记录ID * param newState 新的审核状态 * return 提示信息审核成功/失败 */ Transactional GetMapping(/update_examine_state) public String updateExamineState(Long id, String newState) throws IOException { // 检查传入的状态是否合法 if (!newState.equals(未审核) !newState.equals(已通过) !newState.equals(未通过)) { return 非法的审核状态; } MapString,String queryMap new HashMap(); queryMap.put(id,String.valueOf(id)); // 根据ID查找记录 EvaluationFeedback evaluation_feedback service.findOne(queryMap); if (evaluation_feedback!null) { // 更新审核状态 evaluation_feedback.setExamine_state(newState); this.setEntity(queryMap,new HashMap(),evaluation_feedback); return 审核成功; } else { return 审核失败记录不存在; } } } package com.project.demo.controller; import com.project.demo.entity.RecruitmentInformation; import com.project.demo.service.RecruitmentInformationService; import com.alibaba.fastjson.JSON; import com.project.demo.controller.base.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.util.StringUtils; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.persistence.Query; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; /** * 招领信息(RecruitmentInformation)表控制层 * */ RestController RequestMapping(/recruitment_information) public class RecruitmentInformationController extends BaseControllerRecruitmentInformation, RecruitmentInformationService { /** * 招领信息对象 */ Autowired public RecruitmentInformationController(RecruitmentInformationService service) { setService(service); } PostMapping(/add) Transactional public MapString, Object add(HttpServletRequest request) throws IOException { MapString,Object paramMap service.readBody(request.getReader()); paramMap.entrySet().removeIf(entry - { Object value entry.getValue(); return value instanceof String ((String) value).isEmpty(); }); RecruitmentInformation recruitment_information new RecruitmentInformation(); recruitment_information.setItem_name(paramMap.get(item_name)null?null:String.valueOf(paramMap.get(item_name))); recruitment_information.setItem_class_nameification(paramMap.get(item_class_nameification)null?null:String.valueOf(paramMap.get(item_class_nameification))); recruitment_information.setItem_picture(paramMap.get(item_picture)null?null:String.valueOf(paramMap.get(item_picture))); recruitment_information.setPick_up_the_place(paramMap.get(pick_up_the_place)null?null:String.valueOf(paramMap.get(pick_up_the_place))); recruitment_information.setWay_of_return(paramMap.get(way_of_return)null?null:String.valueOf(paramMap.get(way_of_return))); if (paramMap.get(pick_up_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(pick_up_time )))) { String timStr String.valueOf(paramMap.get(pick_up_time )); recruitment_information.setPick_up_time(parseToTimestamp(timStr)); } else { recruitment_information.setPick_up_time(null); } recruitment_information.setItem_status(paramMap.get(item_status)null?null:String.valueOf(paramMap.get(item_status))); recruitment_information.setNumber_of_releases(paramMap.get(number_of_releases)null?null:String.valueOf(paramMap.get(number_of_releases))); recruitment_information.setPublish_user(paramMap.get(publish_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(publish_user)))); recruitment_information.setMobile_phone_number(paramMap.get(mobile_phone_number)null?null:String.valueOf(paramMap.get(mobile_phone_number))); recruitment_information.setSpecificsed_description(paramMap.get(specificsed_description)null?null:String.valueOf(paramMap.get(specificsed_description))); recruitment_information.setHits(paramMap.get(hits)null?null:Integer.valueOf(String.valueOf(paramMap.get(hits)))); recruitment_information.setPraise_len(paramMap.get(praise_len)null?null:Integer.valueOf(String.valueOf(paramMap.get(praise_len)))); recruitment_information.setCollect_len(paramMap.get(collect_len)null?null:Integer.valueOf(String.valueOf(paramMap.get(collect_len)))); recruitment_information.setComment_len(paramMap.get(comment_len)null?null:Integer.valueOf(String.valueOf(paramMap.get(comment_len)))); recruitment_information.setExamine_state(paramMap.get(examine_state)null?null:String.valueOf(paramMap.get(examine_state))); recruitment_information.setExamine_reply(paramMap.get(examine_reply)null?null:String.valueOf(paramMap.get(examine_reply))); recruitment_information.setCreate_by(paramMap.get(create_by)null?null:Integer.valueOf(String.valueOf(paramMap.get(create_by)))); this.addEntity(recruitment_information); System.out.println(招领信息新增成功); return success(1); } PostMapping(/set) Transactional public MapString, Object set(HttpServletRequest request) throws IOException { MapString,String queryMap service.readQuery(request); MapString,String configMap service.readConfig(request); MapString,Object paramMap service.readBody(request.getReader()); paramMap.entrySet().removeIf(entry - { Object value entry.getValue(); return value instanceof String ((String) value).isEmpty(); }); RecruitmentInformation recruitment_information new RecruitmentInformation(); recruitment_information.setItem_name(paramMap.get(item_name)null?null:String.valueOf(paramMap.get(item_name))); recruitment_information.setItem_class_nameification(paramMap.get(item_class_nameification)null?null:String.valueOf(paramMap.get(item_class_nameification))); recruitment_information.setItem_picture(paramMap.get(item_picture)null?null:String.valueOf(paramMap.get(item_picture))); recruitment_information.setPick_up_the_place(paramMap.get(pick_up_the_place)null?null:String.valueOf(paramMap.get(pick_up_the_place))); recruitment_information.setWay_of_return(paramMap.get(way_of_return)null?null:String.valueOf(paramMap.get(way_of_return))); if (paramMap.get(pick_up_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(pick_up_time )))) { String timStr String.valueOf(paramMap.get(pick_up_time )); recruitment_information.setPick_up_time(parseToTimestamp(timStr)); } else { recruitment_information.setPick_up_time(null); } recruitment_information.setItem_status(paramMap.get(item_status)null?null:String.valueOf(paramMap.get(item_status))); recruitment_information.setNumber_of_releases(paramMap.get(number_of_releases)null?null:String.valueOf(paramMap.get(number_of_releases))); recruitment_information.setPublish_user(paramMap.get(publish_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(publish_user)))); recruitment_information.setMobile_phone_number(paramMap.get(mobile_phone_number)null?null:String.valueOf(paramMap.get(mobile_phone_number))); recruitment_information.setSpecificsed_description(paramMap.get(specificsed_description)null?null:String.valueOf(paramMap.get(specificsed_description))); recruitment_information.setHits(paramMap.get(hits)null?null:Integer.valueOf(String.valueOf(paramMap.get(hits)))); recruitment_information.setPraise_len(paramMap.get(praise_len)null?null:Integer.valueOf(String.valueOf(paramMap.get(praise_len)))); recruitment_information.setCollect_len(paramMap.get(collect_len)null?null:Integer.valueOf(String.valueOf(paramMap.get(collect_len)))); recruitment_information.setComment_len(paramMap.get(comment_len)null?null:Integer.valueOf(String.valueOf(paramMap.get(comment_len)))); recruitment_information.setExamine_state(paramMap.get(examine_state)null?null:String.valueOf(paramMap.get(examine_state))); recruitment_information.setExamine_reply(paramMap.get(examine_reply)null?null:String.valueOf(paramMap.get(examine_reply))); this.setEntity(queryMap,configMap,recruitment_information); System.out.println(招领信息修改成功); return success(1); } /** * 修改审核状态 * * param id 要修改的记录ID * param newState 新的审核状态 * return 提示信息审核成功/失败 */ Transactional GetMapping(/update_examine_state) public String updateExamineState(Long id, String newState) throws IOException { // 检查传入的状态是否合法 if (!newState.equals(未审核) !newState.equals(已通过) !newState.equals(未通过)) { return 非法的审核状态; } MapString,String queryMap new HashMap(); queryMap.put(id,String.valueOf(id)); // 根据ID查找记录 RecruitmentInformation recruitment_information service.findOne(queryMap); if (recruitment_information!null) { // 更新审核状态 recruitment_information.setExamine_state(newState); this.setEntity(queryMap,new HashMap(),recruitment_information); return 审核成功; } else { return 审核失败记录不存在; } } } package com.project.demo.controller; import com.project.demo.controller.base.BaseController; import com.project.demo.entity.UserChatGroup; import com.project.demo.service.UserChatGroupService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; /** * 用户群聊 */ Slf4j RestController RequestMapping(user_chat_group) public class UserChatGroupController extends BaseControllerUserChatGroup, UserChatGroupService { /** * 服务对象 */ Autowired public UserChatGroupController(UserChatGroupService service) { setService(service); } /** * 查询用户群聊 */ GetMapping(get_group_list) public MapString, Object getGroupList(HttpServletRequest request) { MapString,String query service.readQuery(request); String userIdStr query.get(user_id); MapString,Object map new HashMap(); if (StringUtils.isEmpty(userIdStr)){ map.put(list,new ArrayList()); return success(map); }else { Integer userId Integer.parseInt(userIdStr); map.put(list,service.selectUserChatGroup(userId)); return success(map); } } /** * 查询群聊用户 */ GetMapping(get_group_user_list) public MapString, Object getGroupUserList(HttpServletRequest request) { MapString,String query service.readQuery(request); String groupIdStr query.get(group_id); MapString,Object map new HashMap(); if (StringUtils.isEmpty(groupIdStr)){ map.put(list,new ArrayList()); return success(map); }else { Integer groupId Integer.parseInt(groupIdStr); map.put(list,service.selectUserChatGroupUser(groupId)); return success(map); } } /** * 新增用户群聊 */ PostMapping(add_group) public MapString, Object addGroup(RequestBody UserChatGroup userChatGroup) { return success(service.insertUserChatGroup(userChatGroup)); } /** * 删除用户群聊 */ GetMapping(del_group) public MapString, Object delGroup(HttpServletRequest request) { MapString,String query service.readQuery(request); String userIdStr query.get(user_id); String groupIdStr query.get(group_id); if (StringUtils.isEmpty(userIdStr) || StringUtils.isEmpty(groupIdStr)){ return success(1); }else { Integer userId Integer.parseInt(userIdStr); Integer groupId Integer.parseInt(groupIdStr); return success(service.deleteUserChatGroup(groupId,userId)); } } /** * 查询用户群聊未读 */ GetMapping(get_read_list) public MapString, Object getReadList(HttpServletRequest request) { MapString,String query service.readQuery(request); String userIdStr query.get(user_id); String groupIdStr query.get(group_id); MapString,Object map new HashMap(); if (StringUtils.isEmpty(userIdStr) || StringUtils.isEmpty(groupIdStr)){ map.put(list,new ArrayList()); return success(map); }else { Integer userId Integer.parseInt(userIdStr); Integer groupId Integer.parseInt(groupIdStr); map.put(list,service.selectReadList(userId,groupId)); return success(map);前端基于Vue.js框架构建用户界面使用HTML5、CSS3和JavaScript实现页面结构与交互逻辑通过Vue Router管理路由Vuex或Pinia维护全局状态。采用Element UI或Vant组件库快速搭建界面Axios封装HTTP请求实现与后端的数据通信。后端基于springboot框架搭建遵循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【800套】2026-2027届Java毕业设计优质选题汇总百个热门方向完整推荐✅2026-2027届Python毕业设计优质选题汇总百个热门方向完整推荐✅2026-2027届小程序/APP毕业设计优质选题汇总百个热门方向完整推荐✅✅获取源码请私信✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️
返回列表