# game_product_flow **Repository Path**: vsvzyy/scripts ## Basic Information - **Project Name**: game_product_flow - **Description**: 写过的脚本,已去除隐私信息及部分文件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-22 - **Last Updated**: 2026-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 游戏服务平台商品自动化管理系统 一个用于游戏服务电商平台商品管理的Python自动化工具集,支持商品创建、上架、下架、删除等全流程自动化操作。 ## 核心痛点 游戏服务平台的商品上下架管理涉及多个复杂环节,包括商品创建、多语言配置、价格模板设置、成本价处理、外部价格编号关联、CDK导入等,每个环节需要调用不同的API接口,操作繁琐且容易出错。手动操作不仅效率低下,还容易因流程遗漏导致商品上架失败或数据不一致。 ## 核心逻辑流 构建了一个基于 Python 的自动化商品上下架管理 Agent,它能够: - **智能商品分类处理**:根据商品类型(礼品卡、游戏代充、Steam充值)自动选择对应的处理流程,调用不同的业务接口完成商品创建。 - **多环节自动化编排**:自动执行商品创建→多语言配置(中文/英文)→售价模板更新→成本价模板处理→外部价格编号关联→CDK导入(仅Steam类型)→商品上架的完整流程。 - **智能数据处理**:自动生成SKU规格列表、规格优先级配置、多语言模板数据,动态处理成本价为0的异常情况,确保数据完整性。 - **批量操作支持**:支持同时处理多个商品,自动遍历中国、美国、印度等多个销售区域进行上架操作,大大提升了批量商品管理效率。 - **智能决策交互**:在关键节点(如商品上架确认、外部价格编号选择)提供交互式决策支持,结合自动化流程实现人机协同。 ## 实施效果 该系统已在游戏服务平台的日常运营中落地使用,将原本需要人工操作的复杂流程自动化,单个商品上架时间从原来的30分钟缩短至2分钟以内,错误率降低了90%,极大提升了商品管理团队的工作效率和数据准确性。 ## 项目特点 - **全流程自动化**:从商品创建到多国家上架一键完成 - **多商品类型支持**:礼品卡、游戏代充、Steam余额代充 - **多国家管理**:支持中、美、印等多国家市场同时操作 - **智能数据管理**:自动管理价格编号、SKU规格、多语言配置 - **测试辅助工具**:提供Mock数据生成、SQL构建等辅助功能 ## 目录结构 ``` scripts-master/ ├── common/ # 核心功能模块 │ ├── universal_api.py # 通用商品API(创建商品、配置多语言、价格模板等) │ ├── country_product.py # 国家商品管理(上架、下架、删除) │ ├── universal_manage.py # 通用管理工具(清理停用商品、价格编号) │ └── universal_dataready.py # 数据准备(环境配置、基础数据创建) ├── conf/ # 配置文件目录 │ ├── main_switch.yaml # 环境切换配置 │ └── sit.yaml # SIT环境配置 ├── script/ # 执行脚本 │ ├── add_product.py # 商品添加主脚本 │ ├── api_flask.py # Mock API服务(生成测试数据) │ ├── batch_process_img.py # 图片批量处理 │ ├── sql_generate.py # SQL语句生成工具 │ ├── get_user_info.py # 用户信息获取 │ └── set_user_balance.py # 用户余额设置 ├── data/ # 数据文件 │ └── product_name.py # 商品名称和图片配置 └── logs/ # 日志目录 ``` ## 核心功能详解 ### 1. 商品创建自动化(`universal_api.py`) **主要功能**: - 自动生成SKU规格列表(支持单规格和多规格) - 智能创建价格编号并关联SKU - 自动配置中英文多语言(商品名、描述、规格值) - 自动更新售价和成本价模板(保留历史数据) - 礼品卡类型自动关联卡密库外部编号 - Steam类型自动批量导入CDK **使用示例**: ```python from common.universal_api import Product # 创建礼品卡商品 product = Product( product_type_id=0, product_name="礼品卡_测试", rebate_type_id=1, sku_spec={"1": ["100", "200"]}, selling_area_id=1 ) product.add_gift_card( sell_template_id=1, cost_template_id=1, external_sku_id="EXT001" ) ``` ### 2. 国家商品管理(`country_product.py`) **主要功能**: - 多国家批量上架(默认中国、美国、印度) - 模糊搜索匹配商品 - 批量下架和删除 - 支持忽略指定商品进行批量操作 **使用示例**: ```python from common.country_product import CountryProduct # 上架商品到中国 cn = CountryProduct(26) cn.put_on_spu(12345) # 批量上架所有下架商品 cn.put_on_all_shelf() # 模糊匹配删除商品 cn.delete_spu_by_partially_name("礼品卡") ``` ### 3. 数据准备(`universal_dataready.py`) **主要功能**: - 环境初始化(创建销售区域、返佣类型、信息模板) - 自动获取平台配置数据 - 支持多国家商品类型校验 **使用示例**: ```python from common.universal_dataready import add_envir_data # 初始化环境 add_envir_data( area_name="测试区域", rebate_type_name="测试返佣", info_template_name="测试模板" ) ``` ### 4. 通用管理工具(`universal_manage.py`) **主要功能**: - 清理所有停用商品 - 清理未使用的价格编号 - 获取通用商品库所有商品 **使用示例**: ```python from common.universal_manage import ProductManage manager = ProductManage() manager.delete_stop_spu() # 删除停用商品 manager.delete_price_number() # 删除未使用价格编号 ``` ## 快速开始 ### 1. 环境配置 编辑 `conf/sit.yaml` 配置文件: ```yaml log: file_level: DEBUG console_level: DEBUG file_name: vsvz.log url: upms: "https://your-upms-api.com" mysql: host: "your-mysql-host" user: "your-username" password: "your-password" port: 3306 ``` ### 2. 切换环境 编辑 `conf/main_switch.yaml`: ```yaml environment: switch_to: sit # 可选: sit, uat, prod ``` ### 3. 添加商品 运行商品添加脚本: ```bash python script/add_product.py ``` ### 4. 启动Mock服务 ```bash python script/api_flask.py ``` 访问以下接口获取测试数据: - `GET /` - 生成手机号 - `GET /getUserName` - 生成用户名 - `GET /getRandEmail` - 生成邮箱 ## 辅助工具 ### 图片批量处理(`batch_process_img.py`) 根据Excel中的账号批量复制并重命名图片: ```python from script.batch_process_img import batch_rename_and_copy_file batch_rename_and_copy_file( excel_path="1.xlsx", excel_sheet_name="Sheet1", start_file_path="source.jpg", end_dir="output_dir" ) ``` ### SQL语句生成(`sql_generate.py`) 快速构建分表查询SQL: ```python from script.sql_generate import construct base_sql = 'select * from gameserv_order.gameserv_card_order_info_' extend_sql = ' where order_status = 3' construct(base_sql, extend_sql) ``` ## 商品类型说明 | 类型ID | 类型名称 | 特点 | |--------|----------|------| | 0 | 礼品卡 | 需要配置外部价格编号,关联卡密库 | | 1 | 游戏代充 | 需要完善信息模板 | | 2 | Steam余额代充 | 需要导入CDK | ## 国家ID说明 | 国家ID | 国家名称 | |--------|----------| | 21 | 印度 | | 25 | 美国 | | 26 | 中国 | ## 依赖库 ``` Flask PyYAML jsonpath faker ``` 安装依赖: ```bash pip install Flask PyYAML jsonpath faker ``` ## 使用说明 ### 添加礼品卡商品流程 1. 创建商品基本信息 2. 配置多语言(中文/英文) 3. 更新售价模板 4. 选择售价和成本价模板 5. 配置外部价格编号 6. 上架到指定国家 ### 添加游戏代充商品流程 1. 创建商品基本信息 2. 配置多语言 3. 更新售价模板 4. 选择价格模板 5. 上架到指定国家 ### 添加Steam商品流程 1. 创建商品基本信息 2. 配置多语言 3. 更新售价模板 4. 选择价格模板 5. 批量导入CDK 6. 上架到指定国家 ## 日志说明 - 日志文件位置:`logs/vsvz.log` - 日志级别:DEBUG(可在配置文件中调整) - 包含操作记录和错误信息 ## 注意事项 1. 使用前请确保环境配置正确 2. 确保平台已有基础数据(商品类型、模板等) 3. 批量操作前建议先在测试环境验证 4. 删除操作不可逆,请谨慎使用 ## 效率对比 | 操作 | 手动耗时 | 自动化耗时 | 提升 | |------|----------|------------|------| | 创建1个商品 | 15-20分钟 | 1-2分钟 | 10x | | 批量创建10个商品 | 3小时 | 15分钟 | 12x | | 清理测试数据 | 1小时 | 5分钟 | 12x |