# 软件工程综合实践 **Repository Path**: ysq233/sep ## Basic Information - **Project Name**: 软件工程综合实践 - **Description**: 软件工程综合实践17组 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目部署指南 ## 项目简介 本项目是天津大学软件工程综合实践17组开发的elm智能外卖平台项目。本项目后端使用 Java 开发,使用 Spring Boot 框架,前端基于 Vue3 框架开发,数据库使用 MySQL,并调用 DeepseekAPI 提供智能问答和智能数据分析服务,调用 百度地图API 提供定位和距离计算服务。 软件工程中级实践17组,在原项目的基础上新增虚拟钱包和积分系统,前后端均扩展完成,实现功能如下。 ### 用户功能 - 商家搜索、排序和浏览 - 用户自动定位和商家距离分析 - 智能搜索 - 购物车管理 - 红包刮奖和红包管理 - 支付和订单状态跟踪 - AI私人健康助手 ### 积分系统 - 下单支付获得积分(订单金额按比例转换) - 评价订单获得积分 - 取消订单积分撤销 - 签到、浏览商家、搜索商品获取积分 - 积分兑换商城商品 - 生日活动、营销活动获取积分 - 查看积分流水记录 ### 虚拟钱包系统 - 充值(满额赠送奖励金) - 提现(收取手续费) - 转账给其他用户钱包 - 透支额度与还款 - 订单支付(余额冻结、解冻) - 配送之前取消订单退款(自动回到钱包) - 查看交易流水记录 ### 商家功能 - 菜品信息维护(增删改查) - 订单自动接收和管理 - 数据管理,查看总订单,总营收等统计数据 ### 管理员功能 - 商家账户管理 - 全局菜品管理 - AI智能数据分析 - 积分规则和钱包规则配置 ### 开发者功能 - 测试商家功能 - 测试管理员登录 - AI助手测试 - 接口测试 ## 环境要求 在开始之前,请确保您的系统满足以下要求: - Node.js:版本 14 或更高 - npm 包管理工具 - Maven:版本 3.6 或更高 - Git:已安装并配置 ## 安装步骤 ### 安装相关环境 1. **检查 Node.js 和 npm版本** ```bash node -v npm -v ``` 2. **检查 Java 版本** ```bash java -version ``` 3. **下载项目代码库** ```bash git clone https://gitee.com/ysq233/sep.git ``` ## 运行项目 1. 登录mysql数据库: ``` mysql -u root -p # 随后输入密码 ``` 2. 创建饿了不数据库: ```sql CREATE DATABASE elb; ``` 3. 使用数据库: ```sql USE elb; ``` 4. 运行数据库初始化脚本: ```sql -- 主数据库初始化 SOURCE sql/init_database.sql; -- 钱包系统初始化 SOURCE sql/wallet_init.sql; -- 积分系统初始化 SOURCE sql/points_init.sql; ``` 5. 加载测试数据: ```sql -- 钱包测试数据 SOURCE sql/wallet_mock_data.sql; -- 积分测试数据 SOURCE sql/points_mock_data.sql; ``` 6. 运行前端项目: ``` cd frontend-vue npm install npm run serve ``` 7. 运行后端项目: ``` cd backend-spring mvn package java -jar target/myapp-1.0.jar ``` 8. 打开浏览器,访问 ``` http://localhost:8081/#/ ``` 如遇无法访问登录状态,请先于`http://localhost:8081/#/login`页面选择登录身份,共用户、商家、管理员、开发者四种登录身份. 用户admin(密码为admin)拥有全部权限,用户user(密码为password)拥有用户权限,后续功能均展现在页面上,汇报展示时数据库硬删除问题已解决,删除功能全部改为数据库中字段的修改。 ## SQL脚本说明 | 脚本文件 | 用途 | |---------|------| | `init_database.sql` | 主数据库表结构和基础数据 | | `wallet_init.sql` | 钱包系统表结构(6个表)和默认规则 | | `points_init.sql` | 积分系统表结构(9个表)和默认规则 | | `wallet_mock_data.sql` | 钱包测试数据(可选) | | `points_mock_data.sql` | 积分测试数据(可选) |