# Kumquat_King_Manager fastAPI pyside6 **Repository Path**: lainyu/kumquat_-king_-manager-fast-api-pyside6 ## Basic Information - **Project Name**: Kumquat_King_Manager fastAPI pyside6 - **Description**: 由于最近闲来无事,作为融安人,家里有租几亩良田种了金桔。味道很棒,老顾客多,写了一个程序来处理订单,查看报表。 金桔卖的流程是:下单->付款->发货->收货,由于并不是在电商平台卖,都是私聊购买,管理订单成了一个麻烦事, 地址混乱,介绍人也多,又不喜欢用EXCEL。 金桔王小程序就此诞生。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-07 - **Last Updated**: 2025-07-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 金桔订单管理系统后端 ## 项目简介 由于最近闲来无事,作为融安人,家里有租几亩良田种了金桔。味道很棒,老顾客多,写了一个程序来处理订单,查看报表。 金桔卖的流程是:下单->付款->发货->收货,由于并不是在电商平台卖,都是私聊购买,管理订单成了一个麻烦事, 地址混乱,介绍人也多,又不喜欢用EXCEL。 金桔王小程序就此诞生。 本项目采用FastAPI框架构建,因其轻量级、高性能及出色的异步支持特性,非常适合快速开发API服务。数据库对象关系映射( ORM)选用Tortoise-ORM,它为异步编程提供了便利,能够流畅地与FastAPI集成,实现数据库操作的简洁与高效。 前端使用Pyside6,因为开源,且QT框架是开发速度最快。 ![](./logs/mainUI.png) ![](./logs/ordersUI.png) ![](./logs/reportUI.png) ## 技术栈 - **FastAPI**: 用于构建API的现代、快速(高性能)的Web框架,基于Python 3.7+标准类型的声明式API。 - **Tortoise-ORM**: 一个async/await友好的ORM库,用于异步操作数据库,支持SQLite、PostgreSQL、MySQL等数据库。 - **PySide6**: 做个人项目还是不错的。 ## 功能模块 项目目前出于个人使用的阶段,数据库只选择最简单的sqlite3。 1. **订单管理**: 支持批量创建、查询订单, 如果是格式混乱的订单可以使用本地AI OLLAMA模型进行格式化,速度相对慢一些,也可以使用文件-》生成对应格式的Excel的格式直接解析。目前没写修改订单的功能,好像用处不大。估计后续可以增加订单号导入的功能, 但同样的,由于销售量太少用处不大。 2. **金桔管理**: 支持金桔的查看和添加,由于金桔价格变动,每个订单的金桔价格也不同,在订单录入时只会使用当前金桔价格。金桔规格和种类时固定的,如果新增金桔,就是价格变了,逻辑是新增一个对应规格的金桔,并把旧的同规格金桔的备注变成‘OLD’,保证过去的订单使用的金桔价格不收影响。 3. **统计报表**: 提供订单统计分析功能,如总销量统计,饼图,折线图,以及每个销售员的效率等。 ## 快速开始 ### 环境配置 确保安装了Python 3.9以上版本。通过Poetry以下命令安装必要的依赖: ```bash poetry install # or pip install -r pyproject.toml ``` ### 运行项目 - 配置数据库连接信息在`config.py`文件中。 - 初始化数据库表结构(根据Tortoise-ORM的配置执行)`datamesh.py`: ```aiignore async def batch_insert_data(): await Tortoise.init(db_url=, modules={'models': ['models']}) # 调用异步函数 import asyncio asyncio.run(batch_insert_data()) ``` - 启动Kumquat King应用, 该步骤会同时启动后端和前端: ```bash python run.py ``` 如果启动报错,可能是缺少logs文件夹,可以手动创建在项目文件根目录下,以及kumquat_king_pyside6文件夹下。 访问 `http://localhost:5004/docs` 查看 Swagger UI 文档并测试API接口。 ### API文档 详细的API接口说明与示例可通过运行应用后访问`/docs`获得,支持交互式API测试。 ## 代码结构 - `main.py`: FastAPI应用的入口点,包含路由配置。 - `models`: 定义数据库模型,如`Order`, `User`, `Kumquat`等。 - `routers`: 分模块定义API路由,如`order_router`, `user_router`。 - `kumquat_king_pyside6`: pyside 前端UI ## 注意事项 - 在部署到生产环境前,请确保配置正确的环境变量,包括数据库连接字符串等敏感信息。 - 请定期备份数据库,以防数据丢失。