# competition_prediction_website **Repository Path**: yi_gei/competition_prediction_website ## Basic Information - **Project Name**: competition_prediction_website - **Description**: competition_prediction_website 后端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-29 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 竞猜预测网站后端项目 ## 项目简介 这是一个基于Spring Boot + MyBatis的竞猜预测网站后端项目。用户可以登录后选择感兴趣的游戏进行竞猜,通过成功的竞猜获得更多硬币,并使用硬币兑换各种商品。 ## 技术栈 - **框架**: Spring Boot 2.7.0 - **数据库**: MySQL 8.0+ - **持久化**: MyBatis - **缓存**: Redis - **安全**: Spring Security - **构建工具**: Maven - **JDK版本**: Java 8+ ## 项目结构 ``` src/ ├── main/ │ ├── java/com/competition/prediction/ │ │ ├── controller/ # 控制层 │ │ ├── service/ # 业务层 │ │ │ └── impl/ # 业务层实现 │ │ ├── mapper/ # 数据访问层 │ │ ├── entity/ # 实体类 │ │ ├── dto/ # 数据传输对象 │ │ ├── common/ # 公共类 │ │ ├── config/ # 配置类 │ │ ├── utils/ # 工具类 │ │ └── PredictionApplication.java # 启动类 │ └── resources/ │ ├── mapper/ # MyBatis XML文件 │ ├── sql/ # 数据库脚本 │ └── application.yml # 配置文件 └── test/ # 测试代码 ``` ## 数据库设计 ### 主要表结构 - **users**: 用户表 - **games**: 游戏表 - **competitions**: 比赛表 - **bet_options**: 投注选项表 - **user_bets**: 用户投注记录表 - **products**: 商品表 - **user_exchanges**: 用户兑换记录表 - **coin_transactions**: 硬币交易记录表 ## 核心功能模块 ### 1. 用户管理模块 - 用户注册 - 用户登录 - 用户信息管理 - 硬币余额管理 ### 2. 游戏管理模块 - 游戏列表查询 - 游戏详情查看 ### 3. 投注模块 - 用户投注 - 投注历史查询 - 投注结算 ### 4. 商品兑换模块(待完善) - 商品列表 - 硬币兑换商品 ## API接口 ### 用户相关 - `POST /api/user/register` - 用户注册 - `POST /api/user/login` - 用户登录 - `GET /api/user/info/{userId}` - 获取用户信息 - `GET /api/user/coins/{userId}` - 获取用户硬币 ### 游戏相关 - `GET /api/game/list` - 获取游戏列表 - `GET /api/game/{id}` - 获取游戏详情 ### 投注相关 - `POST /api/bet/place/{userId}` - 用户投注 - `GET /api/bet/history/{userId}` - 获取用户投注历史 ## 配置说明 ### 数据库配置 请在 `application.yml` 中修改数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/competition_prediction username: your_username password: your_password ``` ### Redis配置 ```yaml spring: redis: host: localhost port: 6379 ``` ## 部署步骤 1. 创建数据库并执行初始化脚本 ```sql source src/main/resources/sql/init.sql ``` 2. 修改配置文件中的数据库和Redis连接信息 3. 编译打包 ```bash mvn clean package ``` 4. 运行项目 ```bash java -jar target/prediction-website-1.0.0.jar ``` ## 开发计划 - [x] 基础项目架构搭建 - [x] 用户管理功能 - [x] 游戏管理功能 - [x] 基础投注功能 - [ ] 比赛管理功能完善 - [ ] 商品兑换功能 - [ ] JWT身份验证 - [ ] API接口文档 - [ ] 单元测试 - [ ] 性能优化 ## 联系方式 如有问题,请提交Issue或联系开发团队。