博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业, 从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。
一、研究目的
本研究旨在构建一套基于SpringBoot框架与微信小程序技术的社区旧物置换平台,旨在通过信息化手段提升社区居民对闲置资源的再利用效率,降低资源浪费现象。
该平台将整合后端微服务架构与前端交互界面,实现用户身份认证、商品发布、交易撮合及物流跟踪等核心功能,以满足社区居民在日常生活中对二手物品交换的便利需求。
通过采用SpringBoot的高效开发模式与微信小程序的广泛渗透率,本研究期望为社区治理提供一种低成本、易部署、可持续发展的技术方案,促进社区内部资源循环利用与共享经济模式的落地。
此外,本研究还将聚焦于平台安全性与隐私保护,利用SpringBoot的安全模块与微信小程序的权限管理机制,确保用户数据在传输与存储过程中的完整性、机密性与可追溯性。
为验证平台的可行性与实用价值,本研究将采用案例实验法,在选定社区内进行为期三个月的试点运行,收集用户行为数据、交易量统计及满意度问卷,以形成系统化的评估报告。
通过对试点数据的定量分析与定性访谈,本研究旨在揭示社区旧物置换平台在促进资源再利用、降低碳排放以及提升居民生活质量方面的影响机制,并为后续大规模推广提供经验与建议。
本研究亦关注技术与社会因素的交互作用,探讨社区文化认同、技术接受度以及政策支持对平台使用率与交易活跃度的调节效应,从而构建多维度评估模型。
综上所述,本研究通过技术创新与社会实践相结合的方式,力求为我国社区旧物置换提供可复制、可推广的解决方案,推动绿色消费与共享经济在基层治理中的深度融合。
二、研究意义
本研究所提出的基于SpringBoot与微信小程序的社区旧物置换平台,具有显著的理论与实践意义。首先,在资源循环利用与可持续发展的大背景下,旧物置换作为一种低成本、高效益的再利用方式,其在城市社区中的推广能够显著降低废弃物产生量,减少土地填埋与垃圾焚烧所带来的环境负担,从而为实现碳中和目标提供技术支撑。其次,该平台通过整合后端微服务架构与前端小程序交互,创新性地将信息技术与社区治理深度融合,为社区居民提供便捷的二手物品交易渠道,提升居民生活质量,并有助于构建共享经济生态体系。再次,从技术层面来看,本研究通过采用SpringBoot的模块化开发模式与微信小程序的权限管理机制,解决了传统旧物置换平台在安全性、可扩展性与易维护性方面的痛点,为后续类似平台的快速迭代与升级提供了可复制的技术范式。再者,本研究通过试点实验与数据分析,能够系统评估社区旧物置换平台在交易活跃度、用户满意度与资源利用率等方面的实际效果,为政策制定者提供决策依据,并推动相关扶持政策的落地实施。最后,随着社区治理现代化进程的加速,本研究所构建的平台将为基层政府提供一种低成本、高效能的信息化治理工具,提升公共服务的精准性与覆盖面,进一步促进社会治理体系和治理能力现代化。通过上述多维度的意义阐释,本研究不仅填补了旧物置换平台技术实现与社区治理实践之间的空白,也为推动绿色低碳社会建设提供了创新路径。
三、国内外研究现状
在全球范围内,关于旧物置换与共享经济的研究始于二十一世纪初期,学术界主要聚焦于平台设计、用户信任机制以及网络效应等方面。早期的实证研究表明,平台的成功与否往往取决于其对交易双方信息不对称的缓解能力、评价体系的可靠性以及社群治理结构的完善。随后,随着移动互联网技术的发展,研究重点逐渐转向基于移动端应用的社区服务模式,学者们通过大规模用户数据分析揭示了移动端交互界面对用户参与度与交易频率的显著影响,并提出了多种交互设计优化方案。与此同时,关于安全与隐私的研究也日益受到关注,尤其是在移动小程序平台上,学术界针对身份认证、数据加密以及权限管理等技术手段展开了深入探讨,并对其在二手交易场景中的适用性进行了评估。
在国内,随着共享经济概念的普及与政策扶持力度的加大,关于旧物置换平台的研究呈现出多元化发展态势。学者们从社会学、信息系统与管理学等角度,对社区二手交易行为进行定性与定量分析,提出了基于社会资本与信任理论的用户参与模型,并通过案例研究验证了社区治理结构对平台活跃度的调节作用。此外,国内研究还关注平台运营中的监管合规问题,结合我国现行法律法规,对平台数据安全、消费者权益保护以及税收合规等方面提出了相应的治理框架。
在技术实现层面,国内外研究均聚焦于如何利用现代软件架构提升旧物置换平台的性能与可扩展性。SpringBoot作为一种轻量级微服务框架,在后端开发中被广泛应用,学术界通过对其模块化设计、自动配置以及插件生态的分析,提出了针对电商与社区服务场景的最佳实践。与此同时,微信小程序技术凭借其无需安装、易于传播的特性,在国内社区服务平台中占据主导地位。相关研究从前端渲染效率、网络请求优化以及跨域调用安全等方面,对小程序在旧物置换场景中的技术实现进行了系统评估,并提出了多种性能提升策略。
尽管已有大量研究成果,但在国内外关于基于SpringBoot与微信小程序相结合的社区旧物置换平台的系统性研究仍显不足。现有文献多聚焦于单一技术栈或单一业务场景,缺乏对二者协同作用的深入探讨;此外,在平台治理、用户行为激励以及跨社区资源共享机制方面的理论模型尚未形成完整体系。针对上述研究空白,本研究拟通过构建完整的平台原型,结合大规模用户实验与数据分析,填补技术实现与治理模式之间的衔接缺口,为社区旧物置换平台的设计与落地提供科学依据。
四、预期达到目标及解决的关键问题
本研究的总体目标在于构建一套完整、可持续的社区旧物置换平台,并通过技术实现与治理机制的协同,提升社区居民对闲置资源的再利用效率。为实现这一目标,本研究将重点聚焦于后端微服务架构与前端小程序交互的无缝集成,确保系统在高并发访问下保持稳定性与安全性;同时,将从用户体验、交易流程、评价体系以及物流跟踪等方面进行全链路优化,以满足社区居民对便捷、透明、可信交易的需求。通过在选定社区开展为期三个月的试点运行,本研究还将收集系统日志、用户行为数据与满意度调查结果,形成基于数据驱动的评估报告,为后续平台迭代与推广提供决策依据。最终,本研究旨在验证基于SpringBoot与微信小程序技术的社区旧物置换平台在资源循环利用、环境友好以及社区治理现代化方面的实际价值,并为相关政策制定与行业标准制定贡献理论与实践经验。
在实现上述总体目标的过程中,研究将面临若干关键问题。首先,如何在保持系统高可用性的前提下,实现后端服务的弹性伸缩与微服务间的高效通信,是技术实现中的核心挑战之一;其次,微信小程序对网络环境、设备兼容性以及安全权限管理有严格要求,如何在满足用户体验的同时,保障数据传输与存储的安全性,将是平台设计的重要考量。第三,社区旧物置换平台的交易双方信息不对称与信任缺失问题需要通过评价机制、身份认证以及交易保障措施来缓解;第四,如何构建可持续的激励机制,使用户主动发布闲置物品并参与交易,是提升平台活跃度的关键因素。最后,在试点数据收集与分析阶段,如何科学设计实验方案、保证样本代表性与数据质量,将直接影响研究结论的可靠性与推广价值。通过系统地识别与解决上述关键问题,本研究将为社区旧物置换平台的技术实现与治理实践提供全面而深入的解决方案。
五、研究内容
本研究围绕基于SpringBoot与微信小程序技术的社区旧物置换平台展开,整体研究内容可分为四个主要模块:系统需求分析与架构设计、后端微服务实现与前端小程序开发、平台运营治理与安全保障、以及实验验证与数据评估。首先,在系统需求分析阶段,将通过文献综述、用户访谈以及问卷调查,梳理社区居民在旧物置换过程中的痛点与需求,形成功能规格说明书;随后依据服务导向架构原则,设计分层式微服务体系,包括用户管理服务、商品发布与搜索服务、交易撮合服务、评价与信誉服务以及物流跟踪服务,并利用SpringBoot的自动配置与依赖注入特性,实现模块化部署与高内聚低耦合。其次,在前端小程序开发阶段,将采用微信小程序框架,结合响应式设计模式,构建用户友好的界面,包括首页展示、商品详情、个人中心、交易记录以及客服支持等功能;同时通过调用后端RESTful API,实现数据交互与状态同步,并利用微信支付SDK完成交易结算。第三,在平台运营治理与安全保障阶段,将引入基于OAuth2.0的身份认证机制,结合JWT令牌实现无状态访问控制;对敏感数据采用AES加密存储,并通过HTTPS协议保障传输安全;此外,构建完善的评价体系与信誉模型,利用机器学习算法对用户行为进行风险评估,从而降低交易欺诈概率。第四,在实验验证与数据评估阶段,将在选定社区开展为期三个月的试点运行,收集系统日志、用户行为轨迹以及满意度问卷;利用描述性统计与多元回归分析方法,评估平台在交易活跃度、资源循环利用率以及用户满意度等方面的效果,并通过对比实验验证不同激励机制与评价策略对平台性能的影响。通过上述四个模块的系统化实施,本研究旨在构建一套技术成熟、治理完善、用户友好的社区旧物置换平台,并为后续大规模推广与行业标准制定提供可复制的技术与理论框架。
六、需求分析
用户需求方面,社区居民在旧物置换过程中主要关注交易的便捷性与安全性。首先,他们期望能够通过手机应用快速发布闲置物品,上传图片、描述与使用状态,并能在短时间内获得其他用户的关注与反馈;其次,用户对交易双方的身份信息与信誉度具有高度敏感性,希望平台能够提供可靠的身份认证机制以及透明的评价体系,以降低信息不对称带来的风险;再次,社区居民普遍倾向于低成本、无现金交易模式,期望平台支持以物易物或使用社区积分等方式完成交易,从而避免传统支付过程中的手续费与安全隐患;此外,用户对隐私保护同样重视,希望个人信息在平台内仅限必要范围内使用,并能随时撤销授权;最后,在交易完成后,居民希望能够获得及时的物流跟踪或交付确认,以确保物品按约定时间、地点交接,提升整体交易体验。
功能需求方面,系统需实现完整的用户生命周期管理,包括注册、登录、身份验证与权限控制,并支持多因素认证以增强账户安全;在商品发布模块中,平台应提供图片上传、属性填写、价格或积分设定以及可选的配送方式等功能,并允许用户随时编辑或撤销发布;搜索与筛选功能需支持关键词、分类、地区与状态等多维度过滤,以帮助用户快速定位所需物品;交互模块应包含即时聊天或留言板,支持文字、图片及表情等多种沟通方式,确保交易双方能够及时沟通细节;交易撮合与管理模块需实现订单创建、状态跟踪、交易确认与评价发布,并提供争议处理机制,如申诉提交与人工介入;为保障交易安全,平台应集成信誉评分算法,根据历史评价、交易成功率与纠纷记录动态更新用户信用等级;物流跟踪功能可通过第三方物流接口或社区自建配送系统实现,提供实时位置与状态更新;最后,后台管理模块需支持内容审核、违规处理、数据统计与报表生成,以便运营团队监控平台健康度并及时调整策略。
七、可行性分析
经济可行性方面,本研究所构建的社区旧物置换平台在成本投入与收益预期上具备较高的可接受度。首先,后端采用SpringBoot框架实现微服务化,可利用现有的Java生态系统与开源组件,显著降低开发与运维成本;其次,前端基于微信小程序技术,无需单独下载应用程序,省去了传统App的安装、更新与兼容性维护费用;再次,平台采用云计算服务进行弹性伸缩,可根据社区用户活跃度动态调整资源配置,避免资源浪费并降低服务器运营成本;此外,旧物置换模式本身不涉及商品生产与库存管理,仅需处理交易撮合与物流跟踪,从而大幅降低运营成本。针对收益方面,平台可通过积分兑换、广告投放以及增值服务(如快递代收、包装材料提供)实现多元化盈利;同时,提升社区资源循环利用率所带来的社会效益与品牌价值亦能为平台赢得政府支持与社会资本投入。综合来看,经济可行性评估表明,该平台在初期投入与长期运营之间存在正向收益平衡,具备可持续发展的基础。
社会可行性方面,本研究所提出的社区旧物置换平台能够满足居民对共享经济与绿色生活方式的需求,从而得到广泛认可。首先,社区居民普遍关注闲置物品的再利用与资源节约,平台提供便捷的交易渠道可有效缓解资源浪费问题;其次,平台通过积分激励与评价体系提升用户参与度与信任感,符合社区治理中“共建共享”的理念;再次,平台支持以物易物与社区积分支付方式,可降低居民交易成本,提升交易的可接受性;此外,在信息安全与隐私保护方面,通过OAuth2.0身份认证、数据加密与访问权限控制等技术手段,可赢得用户对平台安全性的信任。更重要的是,平台的实施将进一步加强社区内部信息流通与人际互动,提升社区凝聚力与归属感。政府层面亦可将该平台视为推动绿色低碳、共享经济发展的试点项目,为相关政策落地提供示范。综上所述,社会可行性评估显示,该平台在满足居民需求、促进社区治理与实现绿色发展方面具备良好的社会适配性与推广前景。
技术可行性方面,基于SpringBoot与微信小程序的技术组合已在众多行业场景得到验证,并具备成熟的生态支持。后端微服务架构能够实现业务模块的解耦与独立部署,提升系统可维护性与弹性;SpringBoot提供的自动配置、依赖注入与插件化机制,可加速开发周期并降低技术门槛;同时,RESTful API接口设计符合移动端交互需求,能够保证前后端分离与高效通信。前端小程序技术具备跨平台运行、轻量级加载与丰富的原生能力,可实现流畅的用户体验;微信生态内置支付、社交分享与身份认证功能,进一步简化开发与运营成本。安全方面,采用JWT令牌实现无状态认证、HTTPS协议保障数据传输安全,并通过数据加密与权限管理降低信息泄露风险。性能方面,可利用Spring Cloud的服务治理与熔断器机制,对高并发请求进行负载均衡与容错处理;前端可通过缓存策略与图片压缩提升加载速度。综上所述,技术可行性评估表明,该平台在技术实现、运维管理与安全保障方面均具备成熟可靠的解决方案,可顺利落地并满足预期功能需求。
八、功能分析
系统功能模块设计依据需求分析结果,逻辑分为用户管理、商品发布与搜索、交易撮合与管理、交互沟通、评价信誉、物流跟踪、支付积分与结算以及后台运营与数据分析等八大模块。
用户管理模块负责注册登录、身份验证与权限控制,支持微信授权登录、手机号绑定以及多因素认证;在用户资料维护中提供头像上传、昵称设置、地址管理与隐私设置;同时,系统通过访问日志与行为监测构建用户画像,为个性化推荐与精准营销提供数据支持。
商品发布与搜索模块允许用户上传商品图片、填写标题、描述、使用状态与价格或积分需求,并可选择所在社区或区域;在搜索功能中,系统提供关键词检索、分类筛选、地区定位与状态过滤,支持排序方式如发布时间、新旧程度及评分等;此外,商品详情页展示多角度图片、详细属性与用户评价,并提供收藏与分享按钮。
交易撮合与管理模块实现订单创建、支付或积分抵扣、交易确认与完成流程;在撮合阶段,系统根据价格匹配、地区距离与信誉等级自动推荐匹配对象;订单状态包括待支付、已支付、待发货、已发货、已收货与已完成,并支持用户对订单进行取消或售后申诉。
交互沟通模块提供即时聊天功能,支持文字、图片与表情发送,记录会话历史;在交易前后,系统通过消息推送提醒双方重要事件,如订单确认、发货通知与收货确认;同时,平台设置客服入口与常见问题解答,以提升用户满意度。
评价信誉模块允许买卖双方在交易完成后对对方进行星级评价与文字点评;系统根据累计评价数量、正面率与纠纷记录动态更新用户信用等级,形成可视化的信誉档案;高信用等级用户可享受平台特权,如优先展示、积分加成或免手续费等。
物流跟踪模块支持第三方物流接口集成,实时同步包裹状态与位置信息;若采用社区自建配送,可在平台内设置配送员信息、路线规划与实时监控;用户可通过订单详情页查看物流进度,并在必要时发起纠纷或退货请求。
支付积分与结算模块整合微信支付SDK与社区积分系统,支持现金支付、积分抵扣或两者混合使用;系统自动计算交易手续费、积分兑换比例与返利,生成明细账单;同时提供账务查询与对账功能,确保财务透明。
后台运营与数据分析模块为管理员提供内容审核、违规处理与用户管理界面;通过日志监控与异常检测及时发现恶意行为;在数据分析层面,系统聚合交易量、活跃度、用户增长与积分流转等指标,并生成可视化报表,为业务决策与平台优化提供依据。
九、数据库设计
users
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
user_id | 用户编号 | 36 | CHAR(36) | 主键 | UUID生成
username | 登录用户名 | 50 | VARCHAR(50) | - | 唯一约束
password_hash | 密码哈希值 | 128 | CHAR(128) | - | SHA256
phone_number | 手机号码 | 15 | VARCHAR(15) | - | 可为空
wechat_openid | 微信开放ID | 64 | VARCHAR(64) | - | 可为空
avatar_url | 头像链接地址 | 200 | VARCHAR(200) | - | 可为空
nickname | 昵称 | 50 | VARCHAR(50) | - |
email | 邮箱地址 | 100 | VARCHAR(100) | - |
created_at | 创建时间戳 | - | DATETIME(6) | - |
addresses
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
address_id | 地址编号 | 36 | CHAR(36) | 主键 |
user_id | 所属用户编号 | 36 | CHAR(36) | 外键(users.user_id) |
street | 街道地址 | 100 | VARCHAR(100) |
city | 城市 | 50 | VARCHAR(50) |
district | 区域 | 50 | VARCHAR(50) |
postal_code| 邮编 | 10 | VARCHAR(10) |
is_default| 是否默认地址| 1 | TINYINT(1) |
items
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
item_id | 商品编号 | 36 | CHAR(36) | 主键 |
owner_user_id| 所有者用户编号| 36| CHAR(36)| 外键(users.user_id)|
title | 商品标题 | 100 | VARCHAR(100) |
description| 商品描述 | 5000 | TEXT |
price_type| 价格类型 | 10 | ENUM('cash','points') |
price_value| 金额/积分值| - | DECIMAL(10,2) |
status | 商品状态 | 20 | ENUM('available','pending','sold') |
created_at| 创建时间戳 | - | DATETIME(6) |
item_images
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
image_id | 图片编号 | 36 | CHAR(36) | 主键 |
item_id | 所属商品编号| 36 | CHAR(36) | 外键(items.item_id)|
image_url| 图片链接地址| 200 | VARCHAR(200)| - |
orders
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
order_id | 订单编号 | 36 | CHAR(36) | 主键 |
buyer_user_id| 买方用户编号|36| CHAR(36)| 外键(users.user_id)|
seller_user_id| 卖方用户编号|36| CHAR(36)| 外键(users.user_id)|
item_id | 商品编号 | 36 | CHAR(36) | 外键(items.item_id)|
order_status| 订单状态 | 20 | ENUM('pending_payment','paid','shipped','received','completed','cancelled') |
total_amount| 总金额 | - | DECIMAL(10,2) |
points_used| 积分使用量| - | INT |
created_at| 创建时间戳 | - | DATETIME(6) |
order_payments
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
payment_id| 支付编号 | 36 | CHAR(36) | 主键 |
order_id | 所属订单编号| 36 | CHAR(36) | 外键(orders.order_id)|
payment_type| 支付方式| 10 | ENUM('wechat','points') |
amount | 支付金额 | - | DECIMAL(10,2) |
status | 支付状态 | 20 | ENUM('pending','completed','failed') |
transaction_id| 第三方交易号| 64 | VARCHAR(64) |
paid_at | 支付时间戳| - | DATETIME(6) |
messages
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
message_id| 消息编号 | 36 | CHAR(36) | 主键 |
sender_user_id| 发件人编号|36| CHAR(36)| 外键(users.user_id)|
receiver_user_id| 收件人编号|36| CHAR(36)| 外键(users.user_id)|
order_id | 所属订单编号(可空)| 36 | CHAR(36) | 外键(orders.order_id) |
content_text| 消息文本 | 2000 | TEXT |
content_type| 内容类型 | 10 | ENUM('text','image','emoji') |
created_at| 创建时间戳 | - | DATETIME(6) |
evaluations
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
evaluation_id| 评价编号 | 36 | CHAR(36) | 主键 |
order_id | 所属订单编号| 36 | CHAR(36) | 外键(orders.order_id)|
evaluator_user_id| 评价人编号|36| CHAR(36)| 外键(users.user_id)|
evaluatee_user_id| 被评价人编号|36| CHAR(36)| 外键(users.user_id)|
rating | 评分(1-5) | - | TINYINT(1) |
comment_text| 评价文字 | 1000 | TEXT |
created_at| 创建时间戳 | - | DATETIME(6) |
logistics
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
logistics_id| 物流编号 | 36 | CHAR(36) | 主键 |
order_id | 所属订单编号| 36 | CHAR(36) | 外键(orders.order_id)|
carrier_name| 承运公司名称| 50 | VARCHAR(50) |
tracking_number| 运单号 | 64 | VARCHAR(64) |
status | 当前状态 | 20 | ENUM('pending','in_transit','delivered') |
updated_at| 状态更新时间戳| - | DATETIME(6) |
admin_users
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
admin_id | 管理员编号 | 36 | CHAR(36) | 主键 |
username | 登录用户名 | 50 | VARCHAR(50)|
password_hash| 密码哈希值|128|CHAR(128)|
role | 管理员角色 | 20 | ENUM('super','moderator','support')|
system_settings
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
setting_key| 设置键 | 50 | VARCHAR(50) | 主键 |
setting_value| 设置值 | 2000 | TEXT |
description| 描述信息 | 500 | TEXT |
以上表结构遵循第一范式、第二范式与第三范式,避免了数据冗余与更新异常。字段长度与类型均根据实际业务需求进行合理划分,主外键约束保证了参照完整性。
十、建表语句
CREATE DATABASE IF NOT EXISTS community_exchange CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE community_exchange;
-- 用户信息表
CREATE TABLE users (
user_id CHAR(36) NOT NULL,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash CHAR(128) NOT NULL,
phone_number VARCHAR(15),
wechat_openid VARCHAR(64),
avatar_url VARCHAR(200),
nickname VARCHAR(50),
email VARCHAR(100),
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 地址表
CREATE TABLE addresses (
address_id CHAR(36) NOT NULL,
user_id CHAR(36) NOT NULL,
street VARCHAR(100),
city VARCHAR(50),
district VARCHAR(50),
postal_code VARCHAR(10),
is_default TINYINT(1) DEFAULT 0,
PRIMARY KEY (address_id),
KEY idx_addresses_user_id (user_id),
CONSTRAINT fk_addresses_user FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 商品表
CREATE TABLE items (
item_id CHAR(36) NOT NULL,
owner_user_id CHAR(36) NOT NULL,
title VARCHAR(100) NOT NULL,
description TEXT,
price_type ENUM('cash','points') NOT NULL,
price_value DECIMAL(10,2),
status ENUM('available','pending','sold') DEFAULT 'available',
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (item_id),
KEY idx_items_owner_user_id (owner_user_id),
CONSTRAINT fk_items_owner_user FOREIGN KEY (owner_user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 商品图片表
CREATE TABLE item_images (
image_id CHAR(36) NOT NULL,
item_id CHAR(36) NOT NULL,
image_url VARCHAR(200) NOT NULL,
PRIMARY KEY (image_id),
KEY idx_item_images_item_id (item_id),
CONSTRAINT fk_item_images_item FOREIGN KEY (item_id) REFERENCES items(item_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 订单表
CREATE TABLE orders (
order_id CHAR(36) NOT NULL,
buyer_user_id CHAR(36) NOT NULL,
seller_user_id CHAR(36) NOT NULL,
item_id CHAR(36) NOT NULL,
order_status ENUM('pending_payment','paid','shipped','received','completed','cancelled') DEFAULT 'pending_payment',
total_amount DECIMAL(10,2),
points_used INT DEFAULT 0,
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (order_id),
KEY idx_orders_buyer_user_id (buyer_user_id),
KEY idx_orders_seller_user_id (seller_user_id),
KEY idx_orders_item_id (item_id),
CONSTRAINT fk_orders_buyer_user FOREIGN KEY (buyer_user_id) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_orders_seller_user FOREIGN KEY (seller_user_id) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_orders_item FOREIGN KEY (item_id) REFERENCES items(item_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 订单支付表
CREATE TABLE order_payments (
payment_id CHAR(36) NOT NULL,
order_id CHAR(36) NOT NULL,
payment_type ENUM('wechat','points') NOT NULL,
amount DECIMAL(10,2),
status ENUM('pending','completed','failed') DEFAULT 'pending',
transaction_id VARCHAR(64),
paid_at DATETIME(6),
PRIMARY KEY (payment_id),
KEY idx_order_payments_order_id (order_id),
CONSTRAINT fk_order_payments_order FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 消息表
CREATE TABLE messages (
message_id CHAR(36) NOT NULL,
sender_user_id CHAR(36) NOT NULL,
receiver_user_id CHAR(36) NOT NULL,
order_id CHAR(36),
content_text TEXT,
content_type ENUM('text','image','emoji') DEFAULT 'text',
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (message_id),
KEY idx_messages_sender_user_id (sender_user_id),
KEY idx_messages_receiver_user_id (receiver_user_id),
KEY idx_messages_order_id (order_id),
CONSTRAINT fk_messages_sender_user FOREIGN KEY (sender_user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_messages_receiver_user FOREIGN KEY (receiver_user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_messages_order FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 评价表
CREATE TABLE evaluations (
evaluation_id CHAR(36) NOT NULL,
order_id CHAR(36) NOT NULL,
evaluator_user_id CHAR(36) NOT NULL,
evaluatee_user_id CHAR(36) NOT NULL,
rating TINYINT(1) CHECK (rating BETWEEN 1 AND 5),
comment_text TEXT,
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (evaluation_id),
KEY idx_evaluations_order_id (order_id),
KEY idx_evaluations_evaluator_user_id (evaluator_user_id),
KEY idx_evaluations_evaluatee_user_id (evaluatee_user_id),
CONSTRAINT fk_evaluations_order FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_evaluations_evaluator_user FOREIGN KEY (evaluator_user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_evaluations_evaluatee_user FOREIGN KEY (evaluatee_user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 物流表
CREATE TABLE logistics (
logistics_id CHAR(36) NOT NULL,
order_id CHAR(36) NOT NULL,
carrier_name VARCHAR(50),
tracking_number VARCHAR(64),
status ENUM('pending','in_transit','delivered') DEFAULT 'pending',
updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (logistics_id),
KEY idx_logistics_order_id (order_id),
CONSTRAINT fk_logistics_order FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 管理员表
CREATE TABLE admin_users (
admin_id CHAR(36) NOT NULL,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash CHAR(128) NOT NULL,
role ENUM('super','moderator','support') DEFAULT 'support',
PRIMARY KEY (admin_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 系统设置表
CREATE TABLE system_settings (
setting_key VARCHAR(50) NOT NULL,
setting_value TEXT,
description TEXT,
PRIMARY KEY (setting_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方👇🏻获取联系方式👇🏻