package com.kexue.skills.service;

import com.alibaba.fastjson.JSONObject;
import com.kexue.skills.entity.CmsContent;
import com.kexue.skills.entity.request.SkillGenRequest;
import com.kexue.skills.entity.request.SkillPreGenRequest;
import com.kexue.skills.entity.request.SkillAnalyzeRequest;
import com.kexue.skills.entity.response.SkillResponse;

/**
 * 技能生成服务接口
 *
 * @author 维哥
 * @since 2026-01-28
 */
public interface SkillGenService {

    /**
     * 生成技能
     *
     * @param request 生成请求
     * @return 生成结果
     */
    SkillResponse preGenerate(SkillPreGenRequest request);

    SkillResponse preGenerateV2(SkillPreGenRequest request);

    CmsContent generate(SkillGenRequest request);


    /**
     * 分析技能
     *
     * @param request 分析请求
     * @return 分析结果
     */
    String analyzeSkill(SkillAnalyzeRequest request);
    
    /**
     * 生成技能介绍
     *
     * @param content 技能内容
     * @return 技能介绍
     */
    String genIntroduce(String content);
    
    /**
     * 上传技能压缩包并生成技能
     *
     * @param skillUrl 技能压缩包URL
     * @return 生成的技能内容
     */
    CmsContent uploadSkill(String skillUrl);
    
    /**
     * 上传本地技能压缩包并生成技能V2
     *
     * @param fileBytes 技能压缩包字节数组
     * @param fileName 文件名
     * @return 生成的技能内容
     */
    CmsContent uploadSkillV2(byte[] fileBytes, String fileName);
}
