Administrator
yesterday c8e3460c5aefedfa45dc19a7a8d5720a10d0f058
feat(ai): 引入LlmApplicationAppIdEnum枚举优化工作流类型管理

- 新增LlmApplicationAppIdEnum枚举类,定义AI应用类型常量
- 替换AiCompanyServiceImpl中硬编码的数字类型为枚举常量
- 更新AiServiceImpl中获取工作流逻辑,使用枚举提升可读性
- 在前端模板list.html中增加类型7的显示支持
- 统一管理AI应用场景的编号与描述,提高代码可维护性
3 files modified
1 files added
50 ■■■■ changed files
src/main/java/cc/mrbird/febs/ai/enums/LlmApplicationAppIdEnum.java 31 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiCompanyServiceImpl.java 13 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java 4 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/ai/workflow/list.html 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/enums/LlmApplicationAppIdEnum.java
New file
@@ -0,0 +1,31 @@
package cc.mrbird.febs.ai.enums;
import lombok.Getter;
@Getter
public enum LlmApplicationAppIdEnum {
    ADMIN_QUESTION(7,"生成问题"),
    REPORT(6,"生成报告"),
    NORMAL(5,"通用"),
    KEY_KNOWLEDGE(4,"知识点总结"),
    REFERENCE_ANSWER(3,"标准答案"),
    SUGGESTION(2,"建议"),
    HIGH_LIGHT(1,"亮点");
    private final int code;
    private final String value;
    LlmApplicationAppIdEnum(int code, String value) {
        this.code = code;
        this.value = value;
    }
}
src/main/java/cc/mrbird/febs/ai/service/impl/AiCompanyServiceImpl.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.ai.entity.AiCompany;
import cc.mrbird.febs.ai.entity.AiCompanyWorkflow;
import cc.mrbird.febs.ai.enums.LlmApplicationAppIdEnum;
import cc.mrbird.febs.ai.mapper.AiCompanyMapper;
import cc.mrbird.febs.ai.mapper.AiCompanyWorkflowMapper;
import cc.mrbird.febs.ai.service.AiCompanyService;
@@ -53,12 +54,12 @@
        this.addWorkflow(entity.getId(),1,null,createTime);
        this.addWorkflow(entity.getId(),2,null,createTime);
        this.addWorkflow(entity.getId(),3,null,createTime);
        this.addWorkflow(entity.getId(),4,null,createTime);
        this.addWorkflow(entity.getId(),5,null,createTime);
        this.addWorkflow(entity.getId(),6,null,createTime);
        this.addWorkflow(entity.getId(), LlmApplicationAppIdEnum.HIGH_LIGHT.getCode(),null,createTime);
        this.addWorkflow(entity.getId(), LlmApplicationAppIdEnum.SUGGESTION.getCode(),null,createTime);
        this.addWorkflow(entity.getId(), LlmApplicationAppIdEnum.REFERENCE_ANSWER.getCode(),null,createTime);
        this.addWorkflow(entity.getId(), LlmApplicationAppIdEnum.KEY_KNOWLEDGE.getCode(),null,createTime);
        this.addWorkflow(entity.getId(), LlmApplicationAppIdEnum.REPORT.getCode(),null,createTime);
        this.addWorkflow(entity.getId(), LlmApplicationAppIdEnum.ADMIN_QUESTION.getCode(),null,createTime);
        return new FebsResponse().success().message("操作成功");
    }
src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.ai.service.impl;
import cc.mrbird.febs.ai.entity.AiCompanyWorkflow;
import cc.mrbird.febs.ai.enums.LlmApplicationAppIdEnum;
import cc.mrbird.febs.ai.mapper.AiCompanyWorkflowMapper;
import cc.mrbird.febs.ai.req.AiProductQuestionAiDto;
import cc.mrbird.febs.ai.service.AiCompanyService;
@@ -45,7 +46,8 @@
        String companyAppId = appId;
        String companyId = dto.getCompanyId();
        if (StrUtil.isNotEmpty(companyId)){
            AiCompanyWorkflow workflowByTypeAndCompanyId = aiCompanyService.getWorkflowByTypeAndCompanyId(5, companyId);
            AiCompanyWorkflow workflowByTypeAndCompanyId =
                    aiCompanyService.getWorkflowByTypeAndCompanyId(LlmApplicationAppIdEnum.ADMIN_QUESTION.getCode(), companyId);
            companyAppId = workflowByTypeAndCompanyId.getCode();
        }
src/main/resources/templates/febs/views/modules/ai/workflow/list.html
@@ -64,6 +64,8 @@
    <span>知识点引用</span>
    {{# }else if(d.type == 6) { }}
    <span>生成报告</span>
    {{# }else if(d.type == 7) { }}
    <span>生成题目</span>
    {{# } else { }}
    <span>-</span>
    {{# } }}