ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

springboot数码设备共享Web平台89404-计算机课程设计、毕业设计

2026/8/31 23:33:40 拓冰建站 浏览量
springboot数码设备共享Web平台89404-计算机课程设计、毕业设计 前言✨博主介绍一线全栈工程师毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码帮你把毕设做成作品集。精彩专栏 推荐订阅Java精品项目案例【3000套】Python精品项目案例【500套】uniapp/微信小程序/安卓app【800套】2026-2027届Java毕业设计优质选题汇总百个热门方向完整推荐✅2026-2027届Python毕业设计优质选题汇总百个热门方向完整推荐✅2026-2027届小程序/APP毕业设计优质选题汇总百个热门方向完整推荐✅✅获取源码请私信✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️系统实现用户功能实现设备信息查看设备信息查看模块为用户提供浏览与筛选设备的入口。用户进入平台首页后看到设备信息列表列表以卡片形式展示设备名称、品类与租赁价格。页面上方设置设备名称搜索框与设备状态筛选下拉框用户输入关键词或选择可租赁状态后触发查询请求。系统将筛选条件发送至后端接口返回匹配的设备数据重新渲染列表。用户点击任意设备卡片进入详情页面详情页展示设备图片、详细参数、商家信息与历史评价。设备信息查看界面在线租赁在线租赁功能支持用户完成租赁意向的提交操作。用户在设备详情页选择租赁开始时间与结束时间系统实时计算租赁小时数与预计费用。确认租赁信息后点击提交按钮前端将设备编码、租赁时间、用户身份封装为订单数据发送至后端。后端校验设备在所选时间段内是否可租校验通过后生成待支付订单并锁定设备库存。页面跳转至订单确认页提示用户进行支付。在线租赁界面订单支付订单支付模块处理用户完成租赁付款的流程。用户进入支付页面查看订单编号、设备名称、租赁时长与应付金额。页面提供微信支付、支付宝支付、网银支付三种方式供用户选择。用户选定支付方式后点击确认前端向对应支付渠道发起支付请求。支付渠道返回结果后系统更新订单支付状态支付成功页面跳转至租赁成功提示支付失败则显示错误信息并保留重试入口。订单支付界面租赁订单管理租赁订单管理功能帮助用户查看历史租赁记录与当前订单状态。用户进入个人中心的租赁订单页面列表展示所有订单的租赁编码、设备名称、租赁时间与审核状态。页面上方提供时间范围筛选与状态筛选控件用户可快速定位特定订单。点击订单列表中的查看详情按钮页面展示该订单的完整信息包括设备编码、商家信息、租赁费用与支付记录。租赁订单管理界面归还押金管理归还押金管理模块支持用户在设备归还后申请押金退还。用户在租赁订单页面找到已完成归还的订单点击申请退还押金按钮进入押金管理页。页面显示订单对应的押金金额与退还状态用户确认信息后提交退还申请。系统将申请通知商家用户商家处理后退款原路返回用户账户。用户可在押金管理页面查看申请进度与退款结果。归还押金管理界面评价反馈评价反馈功能允许用户对已完成租赁的订单进行评分与文字评价。用户进入订单详情页点击发表评价页面显示评价等级选择项与文字输入框。用户选择优秀、良好、一般等评价等级填写使用体验与建议后提交评价。系统将评价与订单、设备关联保存评价内容在设备详情页展示供其他用户参考。评价反馈界面耗材反馈耗材反馈模块处理用户在使用过程中遇到的耗材问题。用户进入耗材反馈页面选择对应的租赁订单上传问题设备耗材的照片并填写问题描述。提交后系统生成耗材反馈记录并通知商家用户。商家处理补寄或维修事宜后更新反馈状态用户可在反馈列表中查看处理进度与商家回复。耗材反馈界面商家功能实现设备信息管理设备信息管理模块支撑商家用户维护自有设备的基础数据。商家进入设备管理页面查看已发布设备列表列表展示设备名称、编码、品类与当前状态。页面上方提供设备名称搜索与状态筛选功能方便商家快速定位目标设备。商家点击添加设备按钮进入新增页面填写设备名称、编码、品类、型号、规格、租赁价格、押金价格等信息上传设备图片后提交保存。编辑功能支持修改已发布设备的信息下架操作将设备状态变更为不可租赁。设备信息管理界面租赁订单管理租赁订单管理功能帮助商家处理用户提交的租赁请求。商家进入订单管理页面查看所有待审核与进行中的订单列表。列表显示租赁编码、设备名称、租赁时间与用户信息。商家点击审核按钮查看订单详情确认设备可出租后点击通过订单状态变更为租赁中。如设备无法满足租赁需求可填写驳回原因后驳回订单系统释放设备库存并通知用户。租赁订单管理界面归还押金管理归还押金管理模块处理用户提交的押金退还申请。商家进入押金管理页面查看申请列表列表显示租赁编码、设备名称、押金金额与用户信息。商家检查归还设备状态后选择全额退还或部分扣除填写退还说明后提交。系统调用支付接口执行退款操作退还完成后更新押金记录状态。归还押金管理界面评价反馈管理评价反馈管理功能允许商家查看并回复用户的评价内容。商家进入评价管理页面查看用户提交的评价列表列表显示租赁编码、设备名称、评价等级与文字评价。商家阅读评价后可点击回复按钮填写回复内容回复信息与评价一同展示在设备详情页。评价反馈管理界面耗材反馈管理耗材反馈管理模块支撑商家处理用户上报的耗材问题。商家进入耗材管理页面查看反馈列表列表显示租赁编码、设备名称、反馈时间与用户上传的照片。商家判断问题类型后选择补寄耗材或记录无需处理补寄操作触发通知用户并更新反馈状态。耗材反馈管理界面支付押金支付押金功能支持商家在特定场景下向平台支付押金。商家进入支付押金页面查看需支付的订单信息与金额页面显示支付内容、订单金额与实付金额。商家选择微信支付、支付宝支付或网银支付方式后点击确认系统跳转至支付渠道完成付款。支付记录在列表中保存供后续核对。支付押金界面维修工单管理维修工单管理模块帮助商家跟踪设备维修进度。商家发现设备故障后点击创建工单填写维修编码、设备名称、维修项目与预估成本。工单创建后状态为待维修商家送修后更新维修进度与维修结果。复检完成后填写复检内容与结果工单状态变更为已完成。维修工单管理界面管理员功能实现设备分类管理设备分类管理模块支撑管理员维护设备品类基础数据。管理员进入分类管理页面查看现有分类列表列表显示类型名称、创建时间与更新时间。管理员点击添加分类输入类型名称后提交保存新增分类出现在设备信息发布的下拉选项中。编辑功能支持修改分类名称删除操作移除不再使用的分类项。设备分类管理界面设备信息管理设备信息管理功能帮助管理员审核商家提交的设备信息。管理员进入设备管理页面查看所有设备列表列表显示设备名称、型号、规格与租赁价格。管理员点击详情查看完整信息确认信息合规后点击审核通过设备状态变更为可租赁。如信息存在问题可驳回并要求商家修改。设备信息管理界面租赁订单管理租赁订单管理模块支持管理员监控全平台订单状态。管理员进入订单管理页面查看所有用户的租赁订单列表显示租赁编码、设备名称、租赁价格与支付状态。页面上方提供审核状态与支付状态筛选条件管理员可快速定位异常订单。导出功能将订单数据导出为Excel文件用于统计核对。租赁订单管理界面归还押金管理归还押金管理功能帮助管理员核对押金退还记录。管理员进入押金管理页面查看所有退还申请列表列表显示租赁编码、设备名称、押金价格与支付状态。管理员可筛选未处理或处理失败的记录进行人工干预确保押金退还流程准确无误。归还押金管理界面评价反馈管理评价反馈管理模块支撑管理员审核用户提交的评价内容。管理员进入评价管理页面查看所有评价列表列表显示租赁编码、设备名称、评价等级与评价时间。管理员阅读评价内容后判断是否合规不合规的评价可进行隐藏或删除操作优质评价可设置为精选展示。评价反馈管理界面耗材反馈管理耗材反馈管理功能帮助管理员监督耗材问题的处理进度。管理员进入耗材管理页面查看所有反馈记录列表显示租赁编码、设备名称、商家用户与反馈时间。管理员可筛选未处理反馈进行跟进协调商家与用户之间的沟通确保耗材问题得到及时解决。耗材反馈管理界面维修工单管理维修工单管理模块支持管理员统筹设备维修任务。管理员进入维修工单页面查看所有工单列表列表显示维修编码、设备名称、商家用户与记录时间。管理员可查看工单详情了解维修项目与成本监督维修进度与复检结果确保设备维修后符合再次租赁标准。维修工单管理界面数据库参考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 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT用户账户; CREATE TABLE lease(lease_id int(11) NOT NULL AUTO_INCREMENT COMMENT 设备信息ID, equipment_name varchar(64) NOT NULL comment 设备名称, equipment_coding varchar(64) NOT NULL UNIQUE comment 设备编码, device_picture varchar(255) comment 设备图片, equipment_categories varchar(64) comment 设备品类, device_status varchar(64) comment 设备状态, equipment_model varchar(64) comment 设备型号, equipment_specifications varchar(64) comment 设备规格, lease_price double(8,2) DEFAULT 0 comment 租赁价格, deposit_price double(8,2) DEFAULT 0 comment 押金价格, loss_level varchar(64) comment 损耗等级, device_configuration text comment 设备配置, equipment_parameters text comment 设备参数, merchant_user int(11) DEFAULT 0 comment 商家用户, device_specificss longtext comment 设备详情, hits int(11) DEFAULT 0 NOT NULL comment 点击数, praise_len int(11) DEFAULT 0 NOT NULL comment 点赞数, collect_len int(11) DEFAULT 0 NOT NULL comment 收藏数, comment_len int(11) DEFAULT 0 NOT NULL comment 评论数, lease_order_limit_times int(8) DEFAULT 0 NOT NULL comment 在线租赁限制次数, repair_order_limit_times int(8) DEFAULT 0 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 (lease_id))ENGINEInnoDB DEFAULT CHARSETutf8mb4 comment 设备信息; CREATE TABLE lease_order(lease_order_id int(11) NOT NULL AUTO_INCREMENT COMMENT 租赁订单ID, lease_code varchar(64) comment 租赁编码, equipment_coding varchar(64) comment 设备编码, equipment_name varchar(64) comment 设备名称, equipment_categories varchar(64) comment 设备品类, lease_price varchar(64) comment 租赁价格, deposit_price varchar(64) comment 押金价格, merchant_user int(11) DEFAULT 0 comment 商家用户, regular_user int(11) DEFAULT 0 comment 普通用户, lease_term datetime comment 租赁时间, return_time datetime comment 归还时间, number_of_leases varchar(64) comment 租赁次数, rental_hours double(8,2) DEFAULT 0 comment 租赁小时, total_payment double(8,2) DEFAULT 0 comment 合计缴费, lease_remarks text comment 租赁备注, examine_state varchar(16) DEFAULT 未审核 NOT NULL comment 审核状态, examine_reply varchar(255) DEFAULT comment 审核回复, pay_state varchar(16) DEFAULT 未支付 NOT NULL comment 支付状态, pay_type varchar(16) DEFAULT comment 支付类型: 微信、支付宝、网银, return_the_deposit_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 (lease_order_id))ENGINEInnoDB DEFAULT CHARSETutf8mb4 comment 租赁订单;代码参考/** * 耗材反馈(ConsumablesFeedback)表控制层 * */ RestController RequestMapping(/consumables_feedback) public class ConsumablesFeedbackController extends BaseControllerConsumablesFeedback, ConsumablesFeedbackService { /** * 耗材反馈对象 */ Autowired public ConsumablesFeedbackController(ConsumablesFeedbackService 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(); }); ConsumablesFeedback consumables_feedback new ConsumablesFeedback(); consumables_feedback.setLease_code(paramMap.get(lease_code)null?null:String.valueOf(paramMap.get(lease_code))); consumables_feedback.setEquipment_name(paramMap.get(equipment_name)null?null:String.valueOf(paramMap.get(equipment_name))); consumables_feedback.setEquipment_categories(paramMap.get(equipment_categories)null?null:String.valueOf(paramMap.get(equipment_categories))); consumables_feedback.setMerchant_user(paramMap.get(merchant_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(merchant_user)))); consumables_feedback.setRegular_user(paramMap.get(regular_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(regular_user)))); if (paramMap.get(feedback_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(feedback_time )))) { String timStr String.valueOf(paramMap.get(feedback_time )); consumables_feedback.setFeedback_time(parseToTimestamp(timStr)); } else { consumables_feedback.setFeedback_time(null); } consumables_feedback.setPhoto_forensics(paramMap.get(photo_forensics)null?null:String.valueOf(paramMap.get(photo_forensics))); consumables_feedback.setFeedback_remarks(paramMap.get(feedback_remarks)null?null:String.valueOf(paramMap.get(feedback_remarks))); consumables_feedback.setExtra(paramMap.get(extra)null?null:String.valueOf(paramMap.get(extra))); consumables_feedback.setSource_table(paramMap.get(source_table)null?null:String.valueOf(paramMap.get(source_table))); consumables_feedback.setSource_id(paramMap.get(source_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_id)))); consumables_feedback.setSource_user_id(paramMap.get(source_user_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_user_id)))); consumables_feedback.setCreate_by(paramMap.get(create_by)null?null:Integer.valueOf(String.valueOf(paramMap.get(create_by)))); this.addEntity(consumables_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(); }); ConsumablesFeedback consumables_feedback new ConsumablesFeedback(); consumables_feedback.setLease_code(paramMap.get(lease_code)null?null:String.valueOf(paramMap.get(lease_code))); consumables_feedback.setEquipment_name(paramMap.get(equipment_name)null?null:String.valueOf(paramMap.get(equipment_name))); consumables_feedback.setEquipment_categories(paramMap.get(equipment_categories)null?null:String.valueOf(paramMap.get(equipment_categories))); consumables_feedback.setMerchant_user(paramMap.get(merchant_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(merchant_user)))); consumables_feedback.setRegular_user(paramMap.get(regular_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(regular_user)))); if (paramMap.get(feedback_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(feedback_time )))) { String timStr String.valueOf(paramMap.get(feedback_time )); consumables_feedback.setFeedback_time(parseToTimestamp(timStr)); } else { consumables_feedback.setFeedback_time(null); } consumables_feedback.setPhoto_forensics(paramMap.get(photo_forensics)null?null:String.valueOf(paramMap.get(photo_forensics))); consumables_feedback.setFeedback_remarks(paramMap.get(feedback_remarks)null?null:String.valueOf(paramMap.get(feedback_remarks))); consumables_feedback.setSource_table(paramMap.get(source_table)null?null:String.valueOf(paramMap.get(source_table))); consumables_feedback.setSource_id(paramMap.get(source_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_id)))); consumables_feedback.setSource_user_id(paramMap.get(source_user_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_user_id)))); this.setEntity(queryMap,configMap,consumables_feedback); System.out.println(耗材反馈修改成功); return success(1); /** * 通知记录(MessageInform)表控制层 * */ RestController RequestMapping(/message_inform) public class MessageInformController extends BaseControllerMessageInform, MessageInformService { /** * 通知记录对象 */ Autowired public MessageInformController(MessageInformService service) { setService(service); } PostMapping(/add) Transactional public MapString, Object add(HttpServletRequest request) throws IOException { MapString,Object paramMap service.readBody(request.getReader()); this.addMap(paramMap); return success(1); /** * 归还押金(ReturnTheDeposit)表控制层 * */ RestController RequestMapping(/return_the_deposit) public class ReturnTheDepositController extends BaseControllerReturnTheDeposit, ReturnTheDepositService { /** * 归还押金对象 */ Autowired public ReturnTheDepositController(ReturnTheDepositService 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(); }); ReturnTheDeposit return_the_deposit new ReturnTheDeposit(); return_the_deposit.setLease_code(paramMap.get(lease_code)null?null:String.valueOf(paramMap.get(lease_code))); return_the_deposit.setEquipment_name(paramMap.get(equipment_name)null?null:String.valueOf(paramMap.get(equipment_name))); return_the_deposit.setEquipment_coding(paramMap.get(equipment_coding)null?null:String.valueOf(paramMap.get(equipment_coding))); return_the_deposit.setEquipment_categories(paramMap.get(equipment_categories)null?null:String.valueOf(paramMap.get(equipment_categories))); return_the_deposit.setDeposit_price(paramMap.get(deposit_price)null?null:String.valueOf(paramMap.get(deposit_price))); return_the_deposit.setMerchant_user(paramMap.get(merchant_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(merchant_user)))); return_the_deposit.setRegular_user(paramMap.get(regular_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(regular_user)))); if (paramMap.get(lease_term ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(lease_term )))) { String timStr String.valueOf(paramMap.get(lease_term )); return_the_deposit.setLease_term(parseToTimestamp(timStr)); } else { return_the_deposit.setLease_term(null); } if (paramMap.get(record_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(record_time )))) { String timStr String.valueOf(paramMap.get(record_time )); return_the_deposit.setRecord_time(parseToTimestamp(timStr)); } else { return_the_deposit.setRecord_time(null); } return_the_deposit.setReturn_remarks(paramMap.get(return_remarks)null?null:String.valueOf(paramMap.get(return_remarks))); return_the_deposit.setPay_state(paramMap.get(pay_state)null?null:String.valueOf(paramMap.get(pay_state))); return_the_deposit.setPay_type(paramMap.get(pay_type)null?null:String.valueOf(paramMap.get(pay_type))); return_the_deposit.setEvaluation_feedback_limit_times(paramMap.get(evaluation_feedback_limit_times)null?null:String.valueOf(paramMap.get(evaluation_feedback_limit_times))); return_the_deposit.setConsumables_feedback_limit_times(paramMap.get(consumables_feedback_limit_times)null?null:String.valueOf(paramMap.get(consumables_feedback_limit_times))); return_the_deposit.setExtra(paramMap.get(extra)null?null:String.valueOf(paramMap.get(extra))); return_the_deposit.setSource_table(paramMap.get(source_table)null?null:String.valueOf(paramMap.get(source_table))); return_the_deposit.setSource_id(paramMap.get(source_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_id)))); return_the_deposit.setSource_user_id(paramMap.get(source_user_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_user_id)))); return_the_deposit.setCreate_by(paramMap.get(create_by)null?null:Integer.valueOf(String.valueOf(paramMap.get(create_by)))); this.addEntity(return_the_deposit); 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(); }); ReturnTheDeposit return_the_deposit new ReturnTheDeposit(); return_the_deposit.setLease_code(paramMap.get(lease_code)null?null:String.valueOf(paramMap.get(lease_code))); return_the_deposit.setEquipment_name(paramMap.get(equipment_name)null?null:String.valueOf(paramMap.get(equipment_name))); return_the_deposit.setEquipment_coding(paramMap.get(equipment_coding)null?null:String.valueOf(paramMap.get(equipment_coding))); return_the_deposit.setEquipment_categories(paramMap.get(equipment_categories)null?null:String.valueOf(paramMap.get(equipment_categories))); return_the_deposit.setDeposit_price(paramMap.get(deposit_price)null?null:String.valueOf(paramMap.get(deposit_price))); return_the_deposit.setMerchant_user(paramMap.get(merchant_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(merchant_user)))); return_the_deposit.setRegular_user(paramMap.get(regular_user)null?null:Integer.valueOf(String.valueOf(paramMap.get(regular_user)))); if (paramMap.get(lease_term ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(lease_term )))) { String timStr String.valueOf(paramMap.get(lease_term )); return_the_deposit.setLease_term(parseToTimestamp(timStr)); } else { return_the_deposit.setLease_term(null); } if (paramMap.get(record_time ) ! null !StringUtils.isEmpty(String.valueOf(paramMap.get(record_time )))) { String timStr String.valueOf(paramMap.get(record_time )); return_the_deposit.setRecord_time(parseToTimestamp(timStr)); } else { return_the_deposit.setRecord_time(null); } return_the_deposit.setReturn_remarks(paramMap.get(return_remarks)null?null:String.valueOf(paramMap.get(return_remarks))); return_the_deposit.setPay_state(paramMap.get(pay_state)null?null:String.valueOf(paramMap.get(pay_state))); return_the_deposit.setPay_type(paramMap.get(pay_type)null?null:String.valueOf(paramMap.get(pay_type))); return_the_deposit.setEvaluation_feedback_limit_times(paramMap.get(evaluation_feedback_limit_times)null?null:String.valueOf(paramMap.get(evaluation_feedback_limit_times))); return_the_deposit.setConsumables_feedback_limit_times(paramMap.get(consumables_feedback_limit_times)null?null:String.valueOf(paramMap.get(consumables_feedback_limit_times))); return_the_deposit.setSource_table(paramMap.get(source_table)null?null:String.valueOf(paramMap.get(source_table))); return_the_deposit.setSource_id(paramMap.get(source_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_id)))); return_the_deposit.setSource_user_id(paramMap.get(source_user_id)null?null:Integer.valueOf(String.valueOf(paramMap.get(source_user_id)))); this.setEntity(queryMap,configMap,return_the_deposit); System.out.println(归还押金修改成功); return success(1); } /** * 修改支付状态 * * param id 要修改的记录ID * param newState 新的支付状态 * return 提示信息审核成功/失败 */ Transactional GetMapping(/update_pay_state) public String updatePayState(Long id, String newState) throws IOException { // 检查传入的状态是否合法 if (!newState.equals(未支付) !newState.equals(已支付)) { return 非法的支付状态; } MapString,String queryMap new HashMap(); queryMap.put(id,String.valueOf(id)); // 根据ID查找记录 ReturnTheDeposit return_the_deposit service.findOne(queryMap); if (return_the_deposit!null) { // 更新支付状态 return_the_deposit.setPay_state(newState); this.setEntity(queryMap,new HashMap(),return_the_deposit); return 支付成功; } else { return 支付成功记录不存在;前端基于Vue.js框架构建用户界面使用HTML5、CSS3和JavaScript实现页面结构与交互逻辑通过Vue Router管理路由Vuex或Pinia维护全局状态。采用Element UI或Vant组件库快速搭建界面Axios封装HTTP请求实现与后端的数据通信。后端基于ssm框架搭建遵循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毕业设计优质选题汇总百个热门方向完整推荐✅✅获取源码请私信✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️