# SecondHandProject **Repository Path**: Endurancer_Program/second-hand-project ## Basic Information - **Project Name**: SecondHandProject - **Description**: 二手交易平台+后台管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 2 - **Created**: 2024-08-06 - **Last Updated**: 2025-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一、项目概述 1. **项目名称**:二手交易平台 2. **项目类型**:基于Springboot + Vue的二手商品交易与社区互动平台(前后端分离) 3. **目标用户**: - **管理员**:负责平台整体运营和管理的人员。 - **普通用户**:使用平台进行商品买卖、发布帖子、求购等操作的注册用户。 4. **功能模块**: - 用户注册/登录 - 首页:搜索商品、浏览分类二手商品、发布商品、发布求助帖 - 商品详情:浏览商品简介、详情、评论,点赞商品、收藏商品、购买商品 - 社区广场:浏览不同圈子的帖子,查看帖子详情,可评论 - 求购专区:浏览用户发布的求购帖,可评论 - 系统公告:查看管理员发布的系统公告 - 留言反馈:填写反馈信息给管理员 - 聊天:客户和商家进行1对1单聊 - 个人信息管理、修改密码 - 订单管理(买家订单、卖家订单) - 发布管理(商品、帖子、求购) - 收货地址管理 - 收藏管理 - 反馈管理 --- ### 二、环境搭建 #### 1. 开发工具 - **后端** - **IntelliJ IDEA** 或其他支持Java开发的IDE(如Eclipse):用于编写和调试后端代码。 - **前端** - **Visual Studio Code (VS Code)**:轻量级且功能强大的文本编辑器,适合前端开发,提供了丰富的插件支持。 - **数据库设计与管理** - **Navicat Premium**:可视化工具,用于设计和管理MySQL数据库,简化数据库操作。 #### 2. 开发环境 - **JDK** - **版本要求**:1.8 - **安装说明**:确保正确安装并配置JAVA_HOME环境变量,以便命令行和其他工具能够识别JDK。 - **Node.js** - **版本要求**:16.0+ - **安装说明**:通过官方提供的安装包进行安装,并确保npm(Node.js的包管理工具)也一并安装,方便后续安装前端依赖。 - **Maven** - **版本要求**:3.8+ - **安装说明**:Maven是Java项目的构建工具,负责管理项目依赖和执行构建生命周期任务。确保MAVEN_HOME环境变量已设置,并将`bin`目录添加到系统路径中。 #### 3. 数据库环境 - **MySQL** - **版本要求**:5.7或8.0 - **安装说明**:根据操作系统选择合适的MySQL安装包,并完成安装。配置数据库连接参数,确保应用程序可以正常访问数据库。 #### 4. 第三方中间件及工具 - **Redis**:用于缓存数据,如验证码、用户会话信息等。 - **Nginx**:作为反向代理服务器,分发请求至不同的后端服务;同时也可以用于负载均衡和静态资源的托管。 - **Git**:版本控制系统,用于代码管理和协作开发。 --- ### 三、项目结构 #### 1. 后端项目结构 - `src/main/java`:存放Java源代码,细分为以下子包: - `controller`:包含所有RESTful API控制器类,负责处理HTTP请求。 - `service`:实现业务逻辑的服务层接口和实现类。 - `mapper`:定义与数据库交互的持久层接口(MyBatis Mapper)。 - `entity`:存放实体类,对应数据库中的表结构。 - `dto`:数据传输对象,用于封装API请求和响应的数据。 - `vo`:视图对象,专门用于前端展示的数据模型。 - `exception`:自定义异常类及其处理器。 - `utils`:工具类,提供通用的功能方法,如日期格式化、字符串处理等。 - `src/main/resources`:存放非Java资源文件,包括但不限于: - `application.properties` 或 `application.yml`:Spring Boot应用配置文件。 - `mapper.xml`:MyBatis SQL映射文件。 - 其他静态资源或模板文件(如邮件模板)。 - `src/test/java`:存放单元测试和集成测试代码,确保各个组件的功能正确性。 #### 2. 前端项目结构 - `src/assets`:存放静态资源,如图片、图标、样式文件(CSS/SCSS)等。 - `src/components`:存放可复用的Vue组件,这些组件可以在不同的页面中使用,提高代码的复用性和开发效率。 - `src/router`:存放路由配置文件,定义了应用的所有路由规则以及它们对应的组件。 - `src/store`:存放Vuex状态管理的相关文件,包括状态、突变、动作等,以集中管理和共享全局状态。 - `src/views`:存放页面级组件,每个页面通常对应一个独立的Vue组件,包含了页面特有的逻辑和布局。 - `src/api`:存放与后端交互的API请求相关代码,通过Axios库发送HTTP请求并与后端通信。 - `src/utils`:存放前端工具类代码,提供辅助函数或常量定义,帮助简化开发过程。 - `src/App.vue`:应用的根组件,是整个应用的入口点,包含了主模板和全局配置。 - `src/main.js`:应用的入口文件,负责初始化Vue实例并挂载到DOM元素上,同时引入全局插件和其他必要的设置。 --- ### 四、项目创新 #### 1. **用户之间一对一单人聊天** - **创新描述**:集成即时通讯功能,允许用户之间进行私信交流,增强平台社交属性。 - **技术实现**: - 使用WebSocket或第三方IM服务(如环信、融云),实现实时消息传递。 - 提供聊天记录保存功能,确保用户可以随时查看历史对话。 #### 2. **支付宝沙箱模拟线上真实支付场景** - **创新描述**:集成支付宝沙箱环境,为用户提供安全便捷的在线支付体验。 - **技术实现**: - **SDK集成**:利用支付宝提供的官方Java SDK,在测试环境中模拟真实的支付流程,确保支付功能的稳定性和安全性。 - **回调机制**:实现支付成功后的回调接口,用于更新订单状态和通知用户支付结果。 - **安全加密**:采用RSA非对称加密算法,保证交易信息的安全传输。 #### 3. **ECharts实时多维度统计销售数据** - **创新描述**:采用ECharts进行数据可视化,帮助管理员直观地了解平台运行情况。 - **技术实现**: - **实时数据展示**:在管理员后台集成ECharts图表库,通过定时任务或WebSocket实时推送最新数据,动态更新图表。 - **多维度分析**:支持按时间、类别等多个维度的数据分析,如日销售额、月销量增长趋势等。 - **交互式图表**:提供图表交互功能,如缩放、平移、工具提示等,增强数据分析的灵活性和用户体验。 #### 4. **丰富的功能设计、多表数据关联查询** - **创新描述**:设计多个功能模块,满足用户多样化的交易和社交需求。 - **技术实现**: - 构建复杂的数据库表结构,涵盖用户、商品、订单、帖子等多个方面,确保数据完整性和一致性。 - 实现多表联查,优化查询性能,提升用户体验。 --- ### 五、功能模块实现 #### 普通用户功能 1. **登录、注册** - 实现用户注册、登录功能,确保账户安全和个人信息管理。 2. **首页** - **搜索商品**:支持关键词搜索,快速找到所需商品。 - **浏览分类二手商品**:按照不同分类浏览二手商品。 - **发布商品**:上传商品图片、填写商品描述等信息。 - **发布求助帖**:发布求购或求助信息,吸引其他用户关注。 3. **商品详情** - 浏览商品简介、详情、评论,点赞商品、收藏商品、购买商品。 4. **社区广场** - 浏览不同圈子的帖子,查看帖子详情,发表评论。 5. **求购专区** - 浏览用户发布的求购帖,发表评论。 6. **系统公告** - 查看管理员发布的系统公告,获取最新信息。 7. **留言反馈** - 填写反馈信息给管理员,提出建议或报告问题。 8. **聊天** - 客户和商家进行1对1单聊,方便沟通商品细节。 9. **个人信息管理、修改密码** - 管理个人资料,确保信息安全。 10. **订单管理** - **买家订单管理**:查看自己购买的商品订单。 - **卖家订单管理**:查看自己出售的商品订单。 11. **发布管理** - **我发布的商品管理**:管理自己发布的商品信息。 - **我发布的帖子管理**:管理自己发布的社区帖子。 - **我的求购管理**:管理自己发布的求购信息。 12. **收货地址管理** - 添加、编辑和删除收货地址,方便下单购物。 13. **收藏管理** - 收藏喜欢的商品或帖子,便于日后查看。 14. **反馈管理** - 查看自己的反馈记录,跟踪处理进度。 #### 管理员功能 1. **登录、查看销量统计图表** - 实现管理员登录功能,查看平台销售数据的统计图表。 2. **商品分类管理** - 添加、编辑和删除商品分类,维护商品分类体系。 3. **二手商品管理和审核** - 审核用户发布的二手商品信息,确保商品合法合规。 4. **订单管理** - 处理用户的订单信息,包括订单状态更新和退款处理。 5. **圈子管理** - 创建和管理社区圈子,促进用户之间的交流互动。 6. **帖子管理** - 审核和管理用户发布的社区帖子,维护良好的社区氛围。 7. **求购管理** - 管理用户发布的求购信息,确保信息的真实性。 8. **公告管理** - 发布和管理系统公告,及时传达重要信息给用户。 9. **收货地址管理** - 查看和管理用户的收货地址信息,保障配送安全。 10. **留言反馈管理** - 查看和回复用户的留言反馈,提升服务质量。 11. **管理员管理** - 管理管理员账号信息,分配不同级别的权限。 12. **用户管理** - 查看和管理普通用户信息,维护平台的安全运行。 --- ![输入图片说明](imgs/09e013c6a6f43452d3e234c77ba2080.jpg) ![输入图片说明](imgs/2d6939d9226072250fbf3bafadb3d01.jpg) ![输入图片说明](imgs/2da38feefcc2d17ebe0f751a4d521fb.jpg) ![输入图片说明](imgs/73c32e1e4f5460562d23cca5946e6c8.jpg) ![输入图片说明](imgs/7eee8e8484e79e1f49e8f1a817cba96.jpg) ![输入图片说明](imgs/eb033cf371e74082d6079bb653df63c.jpg) ![输入图片说明](imgs/ff1b51f8222d6fc195a5e38e4fb3dbc.jpg) ![输入图片说明](imgs/ff1b51f8222d6fc195a5e38e4fb3dbc.jpg)