# stock-record **Repository Path**: sodll/stock-record ## Basic Information - **Project Name**: stock-record - **Description**: 轻量级股票交易记录,基于json而非mysql - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-23 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票买卖记录管理系统 一个基于 Vue 3 和 Spring Boot 的股票买卖记录管理 Web 应用。 ## 技术栈 ### 后端 - Java 17 - Spring Boot 3.2.0 - Jackson (JSON 处理) - 数据存储:JSON 文件 (json.txt) ### 前端 - Vue 3 - Element Plus UI 组件库 - Vite 构建工具 - Axios HTTP 客户端 ## 功能特性 1. **购买记录管理** - 添加股票购买记录(股票名称、购买价格、购买数量、购买日期) - 自动计算并更新当前均价 2. **卖出记录管理** - 添加股票卖出记录(选择持有记录、卖出价格、卖出数量、卖出日期) - 自动计算利润 - 利润会影响总体均价 3. **数据统计** - 总利润统计 - 当前均价显示 - 持有中和已卖出记录数量 4. **数据持久化** - 所有记录保存在 json.txt 文件中 - 后台启动时自动加载数据 - 每次数据变更自动保存到文件 ## 项目结构 ``` stock-recod/ ├── backend/ # 后端项目 │ ├── src/main/java/com/stockrecod/ │ │ ├── StockRecodApplication.java │ │ ├── controller/ │ │ │ └── StockController.java │ │ ├── model/ │ │ │ ├── StockRecord.java │ │ │ ├── BuyRequest.java │ │ │ └── SellRequest.java │ │ ├── repository/ │ │ │ └── JsonFileRepository.java │ │ └── service/ │ │ └── StockService.java │ ├── src/main/resources/ │ │ └── application.properties │ └── pom.xml ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── api/ │ │ │ └── stock.js │ │ ├── views/ │ │ │ └── RecordList.vue │ │ ├── router/ │ │ │ └── index.js │ │ ├── App.vue │ │ └── main.js │ ├── index.html │ ├── package.json │ └── vite.config.js └── json.txt # 数据存储文件(运行后生成) ``` ## 快速开始 ### 1. 启动后端 ```bash cd backend mvn spring-boot:run ``` 后端服务将在 http://localhost:8080 启动 ### 2. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端服务将在 http://localhost:3000 启动 ### 3. 访问应用 打开浏览器访问 http://localhost:3000 ## API 接口 - `GET /api/records` - 获取所有记录 - `GET /api/records/{id}` - 获取单条记录 - `POST /api/records/buy` - 添加购买记录 - `POST /api/records/sell` - 添加卖出记录 - `DELETE /api/records/{id}` - 删除记录 - `GET /api/records/stats` - 获取统计信息 ## 数据格式 json.txt 文件格式示例: ```json [ { "id": 1, "stockName": "贵州茅台", "buyPrice": 1800.00, "buyQuantity": 100, "buyDate": "2024-01-01", "sellPrice": 2000.00, "sellQuantity": 100, "sellDate": "2024-01-15", "profit": 20000.00, "averagePrice": 1900.00, "status": "sold" } ] ``` ## 注意事项 1. 首次运行时会自动创建 json.txt 文件 2. 利润计算:利润 = 卖出总价 - 买入总价 3. 均价计算:均价 = 总投入 / 总股数(包含所有记录) 4. 卖出操作只能对"持有中"状态的记录进行 5. 删除记录后会自动重新计算均价