立项背景和目标:
构建一个面向个人卖家和买家的在线数字文件交易平台,让卖家可以上传、管理、售卖各类数字文件(如文档、设计素材、源码等),买家可以浏览、搜索、购买并下载文件。
核心功能模块:
用户系统:注册、登录、个人资料管理(AuthController、UserService)
商品管理:卖家上传文件、编辑商品信息、管理商品列表(SellerController、ProductService、FileStorageService)
商品浏览:商品列表页、商品详情页、分类筛选、标签管理(ProductController、CategoryMapper、TagMapper)
订单系统:下单、订单管理、买家/卖家双视角订单列表(OrderController、OrderService)
支付集成:支付宝支付(含模拟支付和二维码支付两种模式)(AlipayService)
文件存储与下载:文件上传存储、下载日志记录、下载权限控制(FileStorageService、DownloadLogMapper、DownloadGuard)
首页展示:Banner 轮播图管理(BannerMapper)
业务流程:
卖家注册 → 上传文件并设置商品信息(标题、价格、分类、标签) → 商品上架 → 买家浏览/搜索 → 下单支付 → 支付成功后获得下载权限 → 下载文件
整体架构和设计思路:
采用经典的 MVC 三层架构(Controller → Service → Mapper),基于 Spring Boot 构建单体应用。使用 Thymeleaf 实现服务端渲染页面,前端通过 JavaScript 增强交互体验。数据库使用 MySQL 8.0,通过 MyBatis-Plus 简化 CRUD 操作。部署采用 Docker Compose 编排,包含应用服务、MySQL 数据库和自动备份三个容器。
不同模块技术栈:
后端:Spring Boot + MyBatis-Plus + Spring Security Crypto
前端:Thymeleaf 模板 + 原生 JavaScript
数据库:MySQL 8.0(字符集 utf8mb4)
文件处理:PDFBox(PDF)、Thumbnailator(图片)
支付:Alipay SDK
部署:Docker Compose + Alpine 自动备份
安全与配置设计:
BCrypt 密码加密
CSRF 防护(CsrfModelAdvice)
CORS 跨域配置(CorsConfig)
安全头过滤器(SecurityHeaderFilter)
下载权限守卫(DownloadGuard),确保只有已付款用户才能下载
环境变量管理敏感配置(数据库密码等)
难点与解决方案:
文件安全下载:通过 DownloadGuard 中间件控制,结合订单状态验证,防止未授权下载
支付流程集成:集成支付宝 SDK,同时提供模拟支付模式方便开发调试
多环境适配:支持 MySQL 和 H2 双数据库,通过配置切换实现本地开发与生产部署无缝切换
容器化部署:Docker Compose 编排 + 健康检查 + 自动备份策略(7天保留)