生成月度总结API文档

本文档描述了如何使用生成月度总结API调用AI生成会员的月度体适能评估总结。

API概述

生成月度总结API提供了调用AI生成会员月度体适能评估总结的功能,可以用于教练或会员在月度评估后自动生成训练效果的总结报告。

接口详情

生成月度总结

POST /gym/member/generate_monthly_summary

调用AI生成指定体适能评估记录的月度总结内容。

请求参数

参数名 类型 必填 描述
assessment_id Integer 体适能评估ID

响应格式

API返回JSON格式的数据,包含以下字段:

{
    "error": 0,                      // 错误码,0表示成功,非0表示失败
    "message": "月度总结生成请求已提交,请在2分钟后查看报告", // 响应消息
    "assessment_id": 123             // 体适能评估ID
}

错误码说明

错误码 描述
0 成功
400 请求参数错误,如缺少必要参数或没有上一次评估记录
404 未找到指定体适能评估记录
500 服务器内部错误

示例请求

POST /gym/member/generate_monthly_summary
Content-Type: application/x-www-form-urlencoded

assessment_id=123

使用说明

调用此API后,系统会异步生成月度总结,这个过程通常需要1-2分钟。生成完成后,可以通过查询体适能评估记录获取生成的总结内容。

注意:要使用此API,体适能评估记录必须有上一次评估记录,否则将返回错误。

使用示例

JavaScript示例

// 使用fetch API生成月度总结
const generateMonthlySummary = async (assessmentId) => {
    try {
        const formData = new FormData();
        formData.append('assessment_id', assessmentId);
        
        const response = await fetch('/gym/member/generate_monthly_summary', {
            method: 'POST',
            body: formData,
            headers: {
                'Authorization': 'Bearer ' + accessToken
            }
        });
        
        const data = await response.json();
        
        if (data.error === 0) {
            console.log('月度总结生成请求已提交:', data.message);
            return data;
        } else {
            console.error('生成失败:', data.message);
            throw new Error(data.message);
        }
    } catch (error) {
        console.error('请求出错:', error);
        throw error;
    }
};

// 调用示例
generateMonthlySummary(123)
    .then(data => {
        // 处理成功响应
        console.log('请在2分钟后查看报告');
        // 2分钟后获取月度报告
        setTimeout(() => {
            // 这里可以调用获取体适能评估记录的API
            console.log('现在可以获取月度报告了');
        }, 120000); // 2分钟
    })
    .catch(error => {
        // 处理错误
        console.error('生成月度总结失败:', error);
    });

使用JSON格式发送请求

// 使用fetch API发送JSON格式请求
const generateMonthlySummaryJson = async (assessmentId) => {
    try {
        const response = await fetch('/gym/member/generate_monthly_summary', {
            method: 'POST',
            body: JSON.stringify({
                assessment_id: assessmentId
            }),
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ' + accessToken
            }
        });
        
        const data = await response.json();
        
        if (data.error === 0) {
            console.log('月度总结生成请求已提交:', data.message);
            return data;
        } else {
            console.error('生成失败:', data.message);
            throw new Error(data.message);
        }
    } catch (error) {
        console.error('请求出错:', error);
        throw error;
    }
};

Python示例

import requests
import time

def generate_monthly_summary(assessment_id, access_token):
    """
    生成月度总结
    
    Args:
        assessment_id: 体适能评估ID
        access_token: 访问令牌
    
    Returns:
        生成结果
    """
    url = 'http://your-domain.com/gym/member/generate_monthly_summary'
    
    headers = {
        'Authorization': f'Bearer {access_token}'
    }
    
    data = {
        'assessment_id': assessment_id
    }
    
    response = requests.post(url, data=data, headers=headers)
    
    if response.status_code == 200:
        result = response.json()
        if result['error'] == 0:
            print(f"月度总结生成请求已提交: {result['message']}")
            return result
        else:
            print(f"生成失败: {result['message']}")
            raise Exception(result['message'])
    else:
        print(f"请求失败,状态码: {response.status_code}")
        raise Exception(f"请求失败,状态码: {response.status_code}")

# 调用示例
try:
    result = generate_monthly_summary(
        assessment_id=123,
        access_token='your-access-token'
    )
    print("请在2分钟后查看报告")
    # 等待2分钟
    time.sleep(120)
    # 这里可以调用获取体适能评估记录的API
    print("现在可以获取月度报告了")
except Exception as e:
    print(f"生成月度总结失败: {str(e)}")