diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplatesbackup/vo/PromptTemplatesBackupRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplatesbackup/vo/PromptTemplatesBackupRespVO.java index c58ce5297..12c92fd0b 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplatesbackup/vo/PromptTemplatesBackupRespVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplatesbackup/vo/PromptTemplatesBackupRespVO.java @@ -58,9 +58,14 @@ public class PromptTemplatesBackupRespVO { @Schema(description = "标签Id列表", example = "[1, 2, 3]") private List tagIds; + + private List tagNames; + @Schema(description = "应用Id列表", example = "[1, 2, 3]") private List applicationIds; + private List applicationNames; + @Schema(description = "关联应用") @ExcelProperty("关联应用") private int applicationCount; @@ -74,4 +79,4 @@ public class PromptTemplatesBackupRespVO { @Schema(description = "角色能力框架") private SampleFramework sampleFramework; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplatesbackup/PromptTemplatesBackupServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplatesbackup/PromptTemplatesBackupServiceImpl.java index c6fbf4517..460eb1d41 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplatesbackup/PromptTemplatesBackupServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplatesbackup/PromptTemplatesBackupServiceImpl.java @@ -5,6 +5,8 @@ import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.AbilityFr import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.BriefFramework; import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.PromptTemplatesRespVO; import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.SampleFramework; +import cn.iocoder.yudao.module.llm.dal.dataobject.application.ApplicationDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.label.LabelDO; import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplates.PromptTemplatesDO; import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplications.PromptTemplatesApplicationsDO; import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupDO; @@ -15,6 +17,8 @@ import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatesapplications.PromptT import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupMapper; import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatestags.PromptTemplatesTagsMapper; import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatestagsbackup.PromptTemplatesTagsBackupMapper; +import cn.iocoder.yudao.module.llm.service.application.ApplicationService; +import cn.iocoder.yudao.module.llm.service.label.LabelService; import cn.iocoder.yudao.module.system.api.dict.DictDataApi; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -61,6 +65,10 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe private PromptTemplatesApplicationsBackupMapper promptTemplatesApplicationsBackupMapper; @Resource private DictDataApi dictDataApi; + @Resource + private LabelService labelService; + @Resource + private ApplicationService applicationService; @Override public Long createPromptTemplatesBackup(PromptTemplatesBackupSaveReqVO createReqVO) { @@ -76,7 +84,7 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe for (PromptTemplatesTagsDO promptTemplatesTagsDO : promptTemplatesTagsDOS) { PromptTemplatesTagsBackupDO tagsBackupDO = new PromptTemplatesTagsBackupDO(); tagsBackupDO.setTagId(promptTemplatesTagsDO.getTagId()); - tagsBackupDO.setPromptTemplateId(srcId); + tagsBackupDO.setPromptTemplateId(promptTemplatesBackup.getId()); promptTemplatesTagsBackupMapper.insert(tagsBackupDO); } @@ -86,7 +94,7 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe for (PromptTemplatesApplicationsDO promptTemplatesApplicationsDO : promptTemplatesApplicationsDOS) { PromptTemplatesApplicationsBackupDO applicationsBackupDO = new PromptTemplatesApplicationsBackupDO(); applicationsBackupDO.setApplicationId(promptTemplatesApplicationsDO.getApplicationId()); - applicationsBackupDO.setPromptTemplateId(srcId); + applicationsBackupDO.setPromptTemplateId(promptTemplatesBackup.getId()); promptTemplatesApplicationsBackupMapper.insert(applicationsBackupDO); } // 返回 @@ -176,26 +184,51 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe PageResult pageDoList = this.promptTemplatesBackupMapper.selectPage(pageReqVO); PageResult pageRespList = BeanUtils.toBean(pageDoList, PromptTemplatesBackupRespVO.class); List templatesRespList = pageRespList.getList(); + + List labelList = labelService.getLabelList(); + HashMap labelMap = new HashMap<>(); + for (LabelDO labelDO : labelList) { + labelMap.put(labelDO.getId(),labelDO.getLabelName()); + } + + List appList = applicationService.getList(); + HashMap appMap = new HashMap<>(); + for (ApplicationDO applicationDO : appList) { + appMap.put(applicationDO.getId(),applicationDO.getAppName()); + } + for(PromptTemplatesBackupRespVO respVO : templatesRespList) { // TODO 使用量查询暂时设置为0 respVO.setUsedCount(0); try { - List tagDOList = this.promptTemplatesTagsMapper + List tagDOList = this.promptTemplatesTagsBackupMapper .selectList("prompt_template_id", respVO.getId()); if(tagDOList!=null && !tagDOList.isEmpty()) { List tagIds = tagDOList.stream() .map(p->p.getTagId().toString()) .collect(Collectors.toList()); + + List labelNameList = new ArrayList<>(); + for (String tagId : tagIds) { + labelNameList.add(labelMap.get(Long.parseLong(tagId))); + } respVO.setTagIds(tagIds); + respVO.setTagNames(labelNameList); } } catch(Exception e) { e.printStackTrace(); } try { - Long applicationCount = this.promptTemplatesApplicationsMapper.selectCount( - new QueryWrapper() + List applicationIds = this.promptTemplatesApplicationsBackupMapper.selectList( + new QueryWrapper() .eq("prompt_template_id", respVO.getId())); - respVO.setApplicationCount(Integer.parseInt(applicationCount.toString())); + + List appNames = new ArrayList<>(); + for (PromptTemplatesApplicationsBackupDO applicationId : applicationIds) { + appNames.add(appMap.get(applicationId.getApplicationId())); + } + respVO.setApplicationCount(applicationIds.size()); + respVO.setApplicationNames(appNames); } catch(Exception e) { e.printStackTrace(); }