prompt模板 备份

This commit is contained in:
ire 2025-01-03 17:18:20 +08:00
parent 4cab32f083
commit 89db585254
25 changed files with 856 additions and 7 deletions

View File

@ -38,7 +38,6 @@ public interface ErrorCodeConstants {
ErrorCode DATASET_ANSWER_NOT_EXISTS = new ErrorCode(10018, "数据集标准问题答案不存在");
*/
ErrorCode PROMPT_TEMPLATES_NOT_EXISTS = new ErrorCode(100_1000, "模板信息不存在");
ErrorCode PROMPT_TEMPLATES_EXISTS = new ErrorCode(100_1001, "模板信息已存在");
@ -76,14 +75,22 @@ public interface ErrorCodeConstants {
ErrorCode TRAINING_NOT_EXISTS = new ErrorCode(10029, "训练不存在");
ErrorCode MODEL_COMPLETIONS_ERROR = new ErrorCode(10030, "模型推理失败");
ErrorCode MANUAL_MODEL_ANSWER_NOT_EXISTS = new ErrorCode(10031, "模型评估人工评估信息不存在");
ErrorCode MANUAL_MODEL_ANNO_NOT_EXISTS = new ErrorCode(10032, "模型评估人工评估标注信息不存在");
ErrorCode MODEL_ASSESS_TASK_MANUAL_BACKUP_NOT_EXISTS = new ErrorCode(10033, "人工评估备份不存在");
ErrorCode MODEL_ASSESS_TASK_MANUAL_BACKUP_EXISTS = new ErrorCode(100_1002, "人工评估已备份");
ErrorCode DATASET_NAME_EXISTS = new ErrorCode(10034, "数据集名称重复");
ErrorCode MODEL_ASSESS_TASK_MANUAL_NAME_EXISTS = new ErrorCode(10035, "模型评估任务人工评估名称重复");
ErrorCode PROMPT_TEMPLATES_APPLICATIONS_BACKUP_NOT_EXISTS = new ErrorCode(10036, "模板信息不存在");
ErrorCode PROMPT_TEMPLATES_TAGS_BACKUP_NOT_EXISTS = new ErrorCode(10037, "模板信息不存在");
}

View File

@ -84,4 +84,12 @@ public class PromptTemplatesController {
promptTemplatesService.backupPromptTemplates(updateReqVO);
return success(true);
}
}
@PostMapping("/unbackup")
@Operation(summary = "取消备份Prompt模板")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates:update')")
public CommonResult<Boolean> unbackupPromptTemplates(@Valid @RequestBody PromptTemplatesSaveReqVO updateReqVO) {
promptTemplatesService.unbackupPromptTemplates(updateReqVO);
return success(true);
}
}

View File

@ -45,4 +45,6 @@ public class PromptTemplatesSaveReqVO {
@Schema(description = "角色能力框架")
private SampleFramework sampleFramework;
@Schema(description = "备份表id")
private Long backupId;
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupDO;
import cn.iocoder.yudao.module.llm.service.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupService;
@Tag(name = "管理后台 - Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系")
@RestController
@RequestMapping("/llm/prompt-templates-applications-backup")
@Validated
public class PromptTemplatesApplicationsBackupController {
@Resource
private PromptTemplatesApplicationsBackupService promptTemplatesApplicationsBackupService;
@PostMapping("/create")
@Operation(summary = "创建Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-applications-backup:create')")
public CommonResult<Long> createPromptTemplatesApplicationsBackup(@Valid @RequestBody PromptTemplatesApplicationsBackupSaveReqVO createReqVO) {
return success(promptTemplatesApplicationsBackupService.createPromptTemplatesApplicationsBackup(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-applications-backup:update')")
public CommonResult<Boolean> updatePromptTemplatesApplicationsBackup(@Valid @RequestBody PromptTemplatesApplicationsBackupSaveReqVO updateReqVO) {
promptTemplatesApplicationsBackupService.updatePromptTemplatesApplicationsBackup(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-applications-backup:delete')")
public CommonResult<Boolean> deletePromptTemplatesApplicationsBackup(@RequestParam("id") Long id) {
promptTemplatesApplicationsBackupService.deletePromptTemplatesApplicationsBackup(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-applications-backup:query')")
public CommonResult<PromptTemplatesApplicationsBackupRespVO> getPromptTemplatesApplicationsBackup(@RequestParam("id") Long id) {
PromptTemplatesApplicationsBackupDO promptTemplatesApplicationsBackup = promptTemplatesApplicationsBackupService.getPromptTemplatesApplicationsBackup(id);
return success(BeanUtils.toBean(promptTemplatesApplicationsBackup, PromptTemplatesApplicationsBackupRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系分页")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-applications-backup:query')")
public CommonResult<PageResult<PromptTemplatesApplicationsBackupRespVO>> getPromptTemplatesApplicationsBackupPage(@Valid PromptTemplatesApplicationsBackupPageReqVO pageReqVO) {
PageResult<PromptTemplatesApplicationsBackupDO> pageResult = promptTemplatesApplicationsBackupService.getPromptTemplatesApplicationsBackupPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PromptTemplatesApplicationsBackupRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系 Excel")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-applications-backup:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportPromptTemplatesApplicationsBackupExcel(@Valid PromptTemplatesApplicationsBackupPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PromptTemplatesApplicationsBackupDO> list = promptTemplatesApplicationsBackupService.getPromptTemplatesApplicationsBackupPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系.xls", "数据", PromptTemplatesApplicationsBackupRespVO.class,
BeanUtils.toBean(list, PromptTemplatesApplicationsBackupRespVO.class));
}
}

View File

@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PromptTemplatesApplicationsBackupPageReqVO extends PageParam {
@Schema(description = "Prompt 模板ID", example = "32227")
private Long promptTemplateId;
@Schema(description = "应用ID", example = "22831")
private Long applicationId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,31 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PromptTemplatesApplicationsBackupRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8692")
@ExcelProperty("ID")
private Long id;
@Schema(description = "Prompt 模板ID", example = "32227")
@ExcelProperty("Prompt 模板ID")
private Long promptTemplateId;
@Schema(description = "应用ID", example = "22831")
@ExcelProperty("应用ID")
private Long applicationId;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - Prompt 模板 应用关系表 备份表,记录模板和应用之间的多对多关系新增/修改 Request VO")
@Data
public class PromptTemplatesApplicationsBackupSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8692")
private Long id;
@Schema(description = "Prompt 模板ID", example = "32227")
private Long promptTemplateId;
@Schema(description = "应用ID", example = "22831")
private Long applicationId;
}

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesbackup;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.PromptTemplatesSaveReqVO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -77,6 +78,14 @@ public class PromptTemplatesBackupController {
return success(promptTemplatesBackupService.getPromptTemplatesBackupPage(pageReqVO));
}
@PostMapping("/unbackup")
@Operation(summary = "取消备份Prompt模板")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-backup:delete')")
public CommonResult<Boolean> unbackupPromptTemplates(@Valid @RequestBody PromptTemplatesBackupSaveReqVO updateReqVO) {
promptTemplatesBackupService.unbackupPromptTemplates(updateReqVO);
return success(true);
}
// @GetMapping("/export-excel")
// @Operation(summary = "导出Prompt模板备份 Excel")
// @PreAuthorize("@ss.hasPermission('llm:prompt-templates-backup:export')")
@ -90,4 +99,4 @@ public class PromptTemplatesBackupController {
// BeanUtils.toBean(list, PromptTemplatesBackupRespVO.class));
// }
}
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestagsbackup.PromptTemplatesTagsBackupDO;
import cn.iocoder.yudao.module.llm.service.prompttemplatestagsbackup.PromptTemplatesTagsBackupService;
@Tag(name = "管理后台 - Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系")
@RestController
@RequestMapping("/llm/prompt-templates-tags-backup")
@Validated
public class PromptTemplatesTagsBackupController {
@Resource
private PromptTemplatesTagsBackupService promptTemplatesTagsBackupService;
@PostMapping("/create")
@Operation(summary = "创建Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-tags-backup:create')")
public CommonResult<Long> createPromptTemplatesTagsBackup(@Valid @RequestBody PromptTemplatesTagsBackupSaveReqVO createReqVO) {
return success(promptTemplatesTagsBackupService.createPromptTemplatesTagsBackup(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-tags-backup:update')")
public CommonResult<Boolean> updatePromptTemplatesTagsBackup(@Valid @RequestBody PromptTemplatesTagsBackupSaveReqVO updateReqVO) {
promptTemplatesTagsBackupService.updatePromptTemplatesTagsBackup(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-tags-backup:delete')")
public CommonResult<Boolean> deletePromptTemplatesTagsBackup(@RequestParam("id") Long id) {
promptTemplatesTagsBackupService.deletePromptTemplatesTagsBackup(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-tags-backup:query')")
public CommonResult<PromptTemplatesTagsBackupRespVO> getPromptTemplatesTagsBackup(@RequestParam("id") Long id) {
PromptTemplatesTagsBackupDO promptTemplatesTagsBackup = promptTemplatesTagsBackupService.getPromptTemplatesTagsBackup(id);
return success(BeanUtils.toBean(promptTemplatesTagsBackup, PromptTemplatesTagsBackupRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系分页")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-tags-backup:query')")
public CommonResult<PageResult<PromptTemplatesTagsBackupRespVO>> getPromptTemplatesTagsBackupPage(@Valid PromptTemplatesTagsBackupPageReqVO pageReqVO) {
PageResult<PromptTemplatesTagsBackupDO> pageResult = promptTemplatesTagsBackupService.getPromptTemplatesTagsBackupPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PromptTemplatesTagsBackupRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系 Excel")
@PreAuthorize("@ss.hasPermission('llm:prompt-templates-tags-backup:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportPromptTemplatesTagsBackupExcel(@Valid PromptTemplatesTagsBackupPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PromptTemplatesTagsBackupDO> list = promptTemplatesTagsBackupService.getPromptTemplatesTagsBackupPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系.xls", "数据", PromptTemplatesTagsBackupRespVO.class,
BeanUtils.toBean(list, PromptTemplatesTagsBackupRespVO.class));
}
}

View File

@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PromptTemplatesTagsBackupPageReqVO extends PageParam {
@Schema(description = "Prompt 模板ID", example = "30858")
private Long promptTemplateId;
@Schema(description = "标签ID", example = "27268")
private Long tagId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,31 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PromptTemplatesTagsBackupRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14212")
@ExcelProperty("ID")
private Long id;
@Schema(description = "Prompt 模板ID", example = "30858")
@ExcelProperty("Prompt 模板ID")
private Long promptTemplateId;
@Schema(description = "标签ID", example = "27268")
@ExcelProperty("标签ID")
private Long tagId;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - Prompt 模板标签关系表 备份表,记录模板和标签之间的多对多关系新增/修改 Request VO")
@Data
public class PromptTemplatesTagsBackupSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14212")
private Long id;
@Schema(description = "Prompt 模板ID", example = "30858")
private Long promptTemplateId;
@Schema(description = "标签ID", example = "27268")
private Long tagId;
}

View File

@ -52,4 +52,9 @@ public class PromptTemplatesDO extends BaseDO {
*/
private Integer templateType;
/**
* 备份表id
*/
private Long backupId;
}

View File

@ -0,0 +1,39 @@
package cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系 DO
*
* @author 华大大模型
*/
@TableName("llm_prompt_templates_applications_backup")
@KeySequence("llm_prompt_templates_applications_backup_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PromptTemplatesApplicationsBackupDO extends BaseDO {
/**
* ID
*/
@TableId
private Long id;
/**
* Prompt 模板ID
*/
private Long promptTemplateId;
/**
* 应用ID
*/
private Long applicationId;
}

View File

@ -0,0 +1,39 @@
package cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestagsbackup;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系 DO
*
* @author 华大大模型
*/
@TableName("llm_prompt_templates_tags_backup")
@KeySequence("llm_prompt_templates_tags_backup_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PromptTemplatesTagsBackupDO extends BaseDO {
/**
* ID
*/
@TableId
private Long id;
/**
* Prompt 模板ID
*/
private Long promptTemplateId;
/**
* 标签ID
*/
private Long tagId;
}

View File

@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatesapplicationsbackup;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo.*;
/**
* Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系 Mapper
*
* @author 华大大模型
*/
@Mapper
public interface PromptTemplatesApplicationsBackupMapper extends BaseMapperX<PromptTemplatesApplicationsBackupDO> {
default PageResult<PromptTemplatesApplicationsBackupDO> selectPage(PromptTemplatesApplicationsBackupPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PromptTemplatesApplicationsBackupDO>()
.eqIfPresent(PromptTemplatesApplicationsBackupDO::getPromptTemplateId, reqVO.getPromptTemplateId())
.eqIfPresent(PromptTemplatesApplicationsBackupDO::getApplicationId, reqVO.getApplicationId())
.betweenIfPresent(PromptTemplatesApplicationsBackupDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PromptTemplatesApplicationsBackupDO::getId));
}
}

View File

@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatestagsbackup;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestagsbackup.PromptTemplatesTagsBackupDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo.*;
/**
* Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系 Mapper
*
* @author 华大大模型
*/
@Mapper
public interface PromptTemplatesTagsBackupMapper extends BaseMapperX<PromptTemplatesTagsBackupDO> {
default PageResult<PromptTemplatesTagsBackupDO> selectPage(PromptTemplatesTagsBackupPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PromptTemplatesTagsBackupDO>()
.eqIfPresent(PromptTemplatesTagsBackupDO::getPromptTemplateId, reqVO.getPromptTemplateId())
.eqIfPresent(PromptTemplatesTagsBackupDO::getTagId, reqVO.getTagId())
.betweenIfPresent(PromptTemplatesTagsBackupDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PromptTemplatesTagsBackupDO::getId));
}
}

View File

@ -20,4 +20,6 @@ public interface PromptTemplatesService {
HttpServletResponse response) throws Exception;
void backupPromptTemplates(@Valid PromptTemplatesSaveReqVO updateReqVO);
}
void unbackupPromptTemplates(PromptTemplatesSaveReqVO updateReqVO);
}

View File

@ -305,6 +305,21 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService {
PromptTemplatesBackupSaveReqVO templatesBackupDo = BeanUtils.toBean(templatesDo, PromptTemplatesBackupSaveReqVO.class);
templatesBackupDo.setId(null);
templatesBackupDo.setSrcId(updateReqVO.getId());
this.promptTemplatesBackupService.createPromptTemplatesBackup(templatesBackupDo);
Long promptTemplatesBackup = this.promptTemplatesBackupService.createPromptTemplatesBackup(templatesBackupDo);
PromptTemplatesDO promptTemplatesDO = new PromptTemplatesDO();
promptTemplatesDO.setBackupId(promptTemplatesBackup);
promptTemplatesDO.setId(updateReqVO.getId());
promptTemplatesMapper.updateById(promptTemplatesDO);
}
@Override
public void unbackupPromptTemplates(PromptTemplatesSaveReqVO updateReqVO) {
PromptTemplatesDO templatesDo = this.promptTemplatesMapper.selectById(updateReqVO.getId());
Long backupId = templatesDo.getBackupId();
promptTemplatesBackupService.deletePromptTemplatesBackup(backupId);
PromptTemplatesDO promptTemplatesDO = new PromptTemplatesDO();
promptTemplatesDO.setBackupId(0l);
promptTemplatesDO.setId(updateReqVO.getId());
promptTemplatesMapper.updateById(promptTemplatesDO);
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.llm.service.prompttemplatesapplicationsbackup;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系 Service 接口
*
* @author 华大大模型
*/
public interface PromptTemplatesApplicationsBackupService {
/**
* 创建Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createPromptTemplatesApplicationsBackup(@Valid PromptTemplatesApplicationsBackupSaveReqVO createReqVO);
/**
* 更新Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系
*
* @param updateReqVO 更新信息
*/
void updatePromptTemplatesApplicationsBackup(@Valid PromptTemplatesApplicationsBackupSaveReqVO updateReqVO);
/**
* 删除Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系
*
* @param id 编号
*/
void deletePromptTemplatesApplicationsBackup(Long id);
/**
* 获得Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系
*
* @param id 编号
* @return Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系
*/
PromptTemplatesApplicationsBackupDO getPromptTemplatesApplicationsBackup(Long id);
/**
* 获得Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系分页
*
* @param pageReqVO 分页查询
* @return Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系分页
*/
PageResult<PromptTemplatesApplicationsBackupDO> getPromptTemplatesApplicationsBackupPage(PromptTemplatesApplicationsBackupPageReqVO pageReqVO);
}

View File

@ -0,0 +1,74 @@
package cn.iocoder.yudao.module.llm.service.prompttemplatesapplicationsbackup;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesapplicationsbackup.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
/**
* Prompt 模板 应用关系表 备份表记录模板和应用之间的多对多关系 Service 实现类
*
* @author 华大大模型
*/
@Service
@Validated
public class PromptTemplatesApplicationsBackupServiceImpl implements PromptTemplatesApplicationsBackupService {
@Resource
private PromptTemplatesApplicationsBackupMapper promptTemplatesApplicationsBackupMapper;
@Override
public Long createPromptTemplatesApplicationsBackup(PromptTemplatesApplicationsBackupSaveReqVO createReqVO) {
// 插入
PromptTemplatesApplicationsBackupDO promptTemplatesApplicationsBackup = BeanUtils.toBean(createReqVO, PromptTemplatesApplicationsBackupDO.class);
promptTemplatesApplicationsBackupMapper.insert(promptTemplatesApplicationsBackup);
// 返回
return promptTemplatesApplicationsBackup.getId();
}
@Override
public void updatePromptTemplatesApplicationsBackup(PromptTemplatesApplicationsBackupSaveReqVO updateReqVO) {
// 校验存在
validatePromptTemplatesApplicationsBackupExists(updateReqVO.getId());
// 更新
PromptTemplatesApplicationsBackupDO updateObj = BeanUtils.toBean(updateReqVO, PromptTemplatesApplicationsBackupDO.class);
promptTemplatesApplicationsBackupMapper.updateById(updateObj);
}
@Override
public void deletePromptTemplatesApplicationsBackup(Long id) {
// 校验存在
validatePromptTemplatesApplicationsBackupExists(id);
// 删除
promptTemplatesApplicationsBackupMapper.deleteById(id);
}
private void validatePromptTemplatesApplicationsBackupExists(Long id) {
if (promptTemplatesApplicationsBackupMapper.selectById(id) == null) {
throw exception(PROMPT_TEMPLATES_APPLICATIONS_BACKUP_NOT_EXISTS);
}
}
@Override
public PromptTemplatesApplicationsBackupDO getPromptTemplatesApplicationsBackup(Long id) {
return promptTemplatesApplicationsBackupMapper.selectById(id);
}
@Override
public PageResult<PromptTemplatesApplicationsBackupDO> getPromptTemplatesApplicationsBackupPage(PromptTemplatesApplicationsBackupPageReqVO pageReqVO) {
return promptTemplatesApplicationsBackupMapper.selectPage(pageReqVO);
}
}

View File

@ -56,4 +56,6 @@ public interface PromptTemplatesBackupService {
PromptTemplatesBackupDO getPromptTemplatesBackupBySrcId(Long srcId);
}
void unbackupPromptTemplates(PromptTemplatesBackupSaveReqVO updateReqVO);
}

View File

@ -1,16 +1,23 @@
package cn.iocoder.yudao.module.llm.service.prompttemplatesbackup;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.AbilityFramework;
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.prompttemplates.PromptTemplatesDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplications.PromptTemplatesApplicationsDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplicationsbackup.PromptTemplatesApplicationsBackupDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestags.PromptTemplatesTagsDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestagsbackup.PromptTemplatesTagsBackupDO;
import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplates.PromptTemplatesMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatesapplications.PromptTemplatesApplicationsMapper;
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.system.api.dict.DictDataApi;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -40,6 +47,8 @@ import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
@Validated
public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupService {
@Resource
private PromptTemplatesMapper promptTemplatesMapper;
@Resource
private PromptTemplatesBackupMapper promptTemplatesBackupMapper;
@Resource
@ -47,6 +56,10 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe
@Resource
private PromptTemplatesApplicationsMapper promptTemplatesApplicationsMapper;
@Resource
private PromptTemplatesTagsBackupMapper promptTemplatesTagsBackupMapper;
@Resource
private PromptTemplatesApplicationsBackupMapper promptTemplatesApplicationsBackupMapper;
@Resource
private DictDataApi dictDataApi;
@Override
@ -54,6 +67,28 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe
// 插入
PromptTemplatesBackupDO promptTemplatesBackup = BeanUtils.toBean(createReqVO, PromptTemplatesBackupDO.class);
promptTemplatesBackupMapper.insert(promptTemplatesBackup);
Long srcId = createReqVO.getSrcId();
LambdaQueryWrapper<PromptTemplatesTagsDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PromptTemplatesTagsDO::getPromptTemplateId,srcId);
List<PromptTemplatesTagsDO> promptTemplatesTagsDOS = promptTemplatesTagsMapper.selectList(queryWrapper);
for (PromptTemplatesTagsDO promptTemplatesTagsDO : promptTemplatesTagsDOS) {
PromptTemplatesTagsBackupDO tagsBackupDO = new PromptTemplatesTagsBackupDO();
tagsBackupDO.setTagId(promptTemplatesTagsDO.getTagId());
tagsBackupDO.setPromptTemplateId(srcId);
promptTemplatesTagsBackupMapper.insert(tagsBackupDO);
}
LambdaQueryWrapper<PromptTemplatesApplicationsDO> query = new LambdaQueryWrapper<>();
query.eq(PromptTemplatesApplicationsDO::getPromptTemplateId,srcId);
List<PromptTemplatesApplicationsDO> promptTemplatesApplicationsDOS = promptTemplatesApplicationsMapper.selectList(query);
for (PromptTemplatesApplicationsDO promptTemplatesApplicationsDO : promptTemplatesApplicationsDOS) {
PromptTemplatesApplicationsBackupDO applicationsBackupDO = new PromptTemplatesApplicationsBackupDO();
applicationsBackupDO.setApplicationId(promptTemplatesApplicationsDO.getApplicationId());
applicationsBackupDO.setPromptTemplateId(srcId);
promptTemplatesApplicationsBackupMapper.insert(applicationsBackupDO);
}
// 返回
return promptTemplatesBackup.getId();
}
@ -73,6 +108,15 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe
validatePromptTemplatesBackupExists(id);
// 删除
promptTemplatesBackupMapper.deleteById(id);
LambdaQueryWrapper<PromptTemplatesTagsBackupDO> wrapper = new LambdaQueryWrapperX<>();
wrapper.eq(PromptTemplatesTagsBackupDO::getPromptTemplateId,id);
promptTemplatesTagsBackupMapper.delete(wrapper);
LambdaQueryWrapper<PromptTemplatesApplicationsBackupDO> wrapper1 = new LambdaQueryWrapperX<>();
wrapper1.eq(PromptTemplatesApplicationsBackupDO::getPromptTemplateId,id);
promptTemplatesApplicationsBackupMapper.delete(wrapper1);
}
private void validatePromptTemplatesBackupExists(Long id) {
@ -176,4 +220,17 @@ public class PromptTemplatesBackupServiceImpl implements PromptTemplatesBackupSe
return templateBackupDOList.get(0);
}
}
@Override
public void unbackupPromptTemplates(PromptTemplatesBackupSaveReqVO updateReqVO) {
Long srcId = updateReqVO.getSrcId();
PromptTemplatesDO promptTemplatesDO = new PromptTemplatesDO();
promptTemplatesDO.setId(srcId);
promptTemplatesDO.setBackupId(0l);
promptTemplatesMapper.updateById(promptTemplatesDO);
Long id = updateReqVO.getId();
this.deletePromptTemplatesBackup(id);
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.llm.service.prompttemplatestagsbackup;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestagsbackup.PromptTemplatesTagsBackupDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系 Service 接口
*
* @author 华大大模型
*/
public interface PromptTemplatesTagsBackupService {
/**
* 创建Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createPromptTemplatesTagsBackup(@Valid PromptTemplatesTagsBackupSaveReqVO createReqVO);
/**
* 更新Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系
*
* @param updateReqVO 更新信息
*/
void updatePromptTemplatesTagsBackup(@Valid PromptTemplatesTagsBackupSaveReqVO updateReqVO);
/**
* 删除Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系
*
* @param id 编号
*/
void deletePromptTemplatesTagsBackup(Long id);
/**
* 获得Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系
*
* @param id 编号
* @return Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系
*/
PromptTemplatesTagsBackupDO getPromptTemplatesTagsBackup(Long id);
/**
* 获得Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系分页
*
* @param pageReqVO 分页查询
* @return Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系分页
*/
PageResult<PromptTemplatesTagsBackupDO> getPromptTemplatesTagsBackupPage(PromptTemplatesTagsBackupPageReqVO pageReqVO);
}

View File

@ -0,0 +1,74 @@
package cn.iocoder.yudao.module.llm.service.prompttemplatestagsbackup;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatestagsbackup.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestagsbackup.PromptTemplatesTagsBackupDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatestagsbackup.PromptTemplatesTagsBackupMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
/**
* Prompt 模板标签关系表 备份表记录模板和标签之间的多对多关系 Service 实现类
*
* @author 华大大模型
*/
@Service
@Validated
public class PromptTemplatesTagsBackupServiceImpl implements PromptTemplatesTagsBackupService {
@Resource
private PromptTemplatesTagsBackupMapper promptTemplatesTagsBackupMapper;
@Override
public Long createPromptTemplatesTagsBackup(PromptTemplatesTagsBackupSaveReqVO createReqVO) {
// 插入
PromptTemplatesTagsBackupDO promptTemplatesTagsBackup = BeanUtils.toBean(createReqVO, PromptTemplatesTagsBackupDO.class);
promptTemplatesTagsBackupMapper.insert(promptTemplatesTagsBackup);
// 返回
return promptTemplatesTagsBackup.getId();
}
@Override
public void updatePromptTemplatesTagsBackup(PromptTemplatesTagsBackupSaveReqVO updateReqVO) {
// 校验存在
validatePromptTemplatesTagsBackupExists(updateReqVO.getId());
// 更新
PromptTemplatesTagsBackupDO updateObj = BeanUtils.toBean(updateReqVO, PromptTemplatesTagsBackupDO.class);
promptTemplatesTagsBackupMapper.updateById(updateObj);
}
@Override
public void deletePromptTemplatesTagsBackup(Long id) {
// 校验存在
validatePromptTemplatesTagsBackupExists(id);
// 删除
promptTemplatesTagsBackupMapper.deleteById(id);
}
private void validatePromptTemplatesTagsBackupExists(Long id) {
if (promptTemplatesTagsBackupMapper.selectById(id) == null) {
throw exception(PROMPT_TEMPLATES_TAGS_BACKUP_NOT_EXISTS);
}
}
@Override
public PromptTemplatesTagsBackupDO getPromptTemplatesTagsBackup(Long id) {
return promptTemplatesTagsBackupMapper.selectById(id);
}
@Override
public PageResult<PromptTemplatesTagsBackupDO> getPromptTemplatesTagsBackupPage(PromptTemplatesTagsBackupPageReqVO pageReqVO) {
return promptTemplatesTagsBackupMapper.selectPage(pageReqVO);
}
}