From 97ce8173902a5ec8ebc94edd64fae7a35afd09b5 Mon Sep 17 00:00:00 2001 From: Edward_89 Date: Thu, 2 Jan 2025 17:48:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=87=E4=BB=BD=E4=BA=BA?= =?UTF-8?q?=E5=B7=A5=E8=AF=84=E4=BC=B0=E8=AE=B0=E5=BD=95=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/llm/enums/ErrorCodeConstants.java | 4 + .../ModelAssessTaskManualController.java | 14 +-- .../vo/ModelAssessTaskManualBackupReqVO.java | 11 +++ ...ModelAssessTaskManualBackupController.java | 95 +++++++++++++++++++ .../ModelAssessTaskManualBackupPageReqVO.java | 46 +++++++++ .../vo/ModelAssessTaskManualBackupRespVO.java | 55 +++++++++++ .../ModelAssessTaskManualBackupSaveReqVO.java | 42 ++++++++ .../ModelAssessTaskManualBackupDO.java | 63 ++++++++++++ .../ModelAssessTaskManualBackupMapper.java | 34 +++++++ .../ModelAssessTaskManualService.java | 4 +- .../ModelAssessTaskManualServiceImpl.java | 17 ++++ .../ModelAssessTaskManualBackupService.java | 57 +++++++++++ ...odelAssessTaskManualBackupServiceImpl.java | 82 ++++++++++++++++ .../ModelAssessTaskManualBackupMapper.xml | 12 +++ 14 files changed, 526 insertions(+), 10 deletions(-) create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualBackupReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.xml diff --git a/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java b/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java index 27f4805e6..d16389bb6 100644 --- a/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java +++ b/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java @@ -79,4 +79,8 @@ public interface ErrorCodeConstants { 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, "人工评估已备份"); + } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java index dfd8da27a..47e0c150d 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java @@ -118,16 +118,12 @@ public class ModelAssessTaskManualController { } - @PostMapping("/backedUp") + @PostMapping("/backup") @Operation(summary = "备份") - public void backedUp(ModelAssessTaskManualPageReqVO pageReqVO) { - //TODO 人工评估-备份待补充 - } - - @PostMapping("/cancelTheBackUp") - @Operation(summary = "取消备份") - public void cancelTheBackUp(ModelAssessTaskManualPageReqVO pageReqVO) { - //TODO 人工评估-取消备份待补充 + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:update')") + public CommonResult backedUp(@Valid @RequestBody ModelAssessTaskManualBackupReqVO backupReqVO) { + modelAssessTaskManualService.backupModelAssessTaskManual(backupReqVO); + return success(true); } @PostMapping("/saveTheLabelData") diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualBackupReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualBackupReqVO.java new file mode 100644 index 000000000..d8abfdcd6 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualBackupReqVO.java @@ -0,0 +1,11 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 模型评估任务 —— 人工评估新增/修改 Request VO") +@Data +public class ModelAssessTaskManualBackupReqVO { + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16493") + private Long id; +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java new file mode 100644 index 000000000..ce6c36992 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java @@ -0,0 +1,95 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup; + +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.modelassesstaskmanualbackup.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup.ModelAssessTaskManualBackupDO; +import cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup.ModelAssessTaskManualBackupService; + +@Tag(name = "管理后台 - 人工评估备份") +@RestController +@RequestMapping("/llm/model-assess-task-manual-backup") +@Validated +public class ModelAssessTaskManualBackupController { + + @Resource + private ModelAssessTaskManualBackupService modelAssessTaskManualBackupService; + + @PostMapping("/create") + @Operation(summary = "创建人工评估备份") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:create')") + public CommonResult createModelAssessTaskManualBackup(@Valid @RequestBody ModelAssessTaskManualBackupSaveReqVO createReqVO) { + return success(modelAssessTaskManualBackupService.createModelAssessTaskManualBackup(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新人工评估备份") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:update')") + public CommonResult updateModelAssessTaskManualBackup(@Valid @RequestBody ModelAssessTaskManualBackupSaveReqVO updateReqVO) { + modelAssessTaskManualBackupService.updateModelAssessTaskManualBackup(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除人工评估备份") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:delete')") + public CommonResult deleteModelAssessTaskManualBackup(@RequestParam("id") Long id) { + modelAssessTaskManualBackupService.deleteModelAssessTaskManualBackup(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得人工评估备份") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:query')") + public CommonResult getModelAssessTaskManualBackup(@RequestParam("id") Long id) { + ModelAssessTaskManualBackupDO modelAssessTaskManualBackup = modelAssessTaskManualBackupService.getModelAssessTaskManualBackup(id); + return success(BeanUtils.toBean(modelAssessTaskManualBackup, ModelAssessTaskManualBackupRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得人工评估备份分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:query')") + public CommonResult> getModelAssessTaskManualBackupPage(@Valid ModelAssessTaskManualBackupPageReqVO pageReqVO) { + PageResult pageResult = modelAssessTaskManualBackupService.getModelAssessTaskManualBackupPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessTaskManualBackupRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出人工评估备份 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessTaskManualBackupExcel(@Valid ModelAssessTaskManualBackupPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessTaskManualBackupService.getModelAssessTaskManualBackupPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "人工评估备份.xls", "数据", ModelAssessTaskManualBackupRespVO.class, + BeanUtils.toBean(list, ModelAssessTaskManualBackupRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupPageReqVO.java new file mode 100644 index 000000000..ac4900b0e --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupPageReqVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.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 = "管理后台 - 人工评估备份分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessTaskManualBackupPageReqVO extends PageParam { + + @Schema(description = "原评估信息Id", example = "8848") + private Long srcId; + + @Schema(description = "任务名称", example = "赵六") + private String taskName; + + @Schema(description = "任务描述") + private String taskInfro; + + @Schema(description = "CPU类型", example = "1") + private Integer cpuType; + + @Schema(description = "模型服务") + private Long modelService; + + @Schema(description = "数据集") + private Long dataset; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "模型评估任务状态", example = "2") + private Integer status; + + @Schema(description = "进度") + private Integer progress; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java new file mode 100644 index 000000000..3170252b6 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.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 = "管理后台 - 人工评估备份 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessTaskManualBackupRespVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27930") + @ExcelProperty("评估任务ID") + private Long id; + + @Schema(description = "原评估信息Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8848") + @ExcelProperty("原评估信息Id") + private Long srcId; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("任务名称") + private String taskName; + + @Schema(description = "任务描述") + @ExcelProperty("任务描述") + private String taskInfro; + + @Schema(description = "CPU类型", example = "1") + @ExcelProperty("CPU类型") + private Integer cpuType; + + @Schema(description = "模型服务") + @ExcelProperty("模型服务") + private Long modelService; + + @Schema(description = "数据集") + @ExcelProperty("数据集") + private Long dataset; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "模型评估任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("模型评估任务状态") + private Integer status; + + @Schema(description = "进度") + @ExcelProperty("进度") + private Integer progress; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java new file mode 100644 index 000000000..7f0224577 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 人工评估备份新增/修改 Request VO") +@Data +public class ModelAssessTaskManualBackupSaveReqVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27930") + private Long id; + + @Schema(description = "原评估信息Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8848") + @NotNull(message = "原评估信息Id不能为空") + private Long srcId; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "任务名称不能为空") + private String taskName; + + @Schema(description = "任务描述") + private String taskInfro; + + @Schema(description = "CPU类型", example = "1") + private Integer cpuType; + + @Schema(description = "模型服务") + private Long modelService; + + @Schema(description = "数据集") + private Long dataset; + + @Schema(description = "模型评估任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "模型评估任务状态不能为空") + private Integer status; + + @Schema(description = "进度") + private Integer progress; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java new file mode 100644 index 000000000..969912a85 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup; + +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; + +/** + * 人工评估备份 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_task_manual_backup") +@KeySequence("llm_model_assess_task_manual_backup_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessTaskManualBackupDO extends BaseDO { + + /** + * 评估任务ID + */ + @TableId + private Long id; + /** + * 原评估信息Id + */ + private Long srcId; + /** + * 任务名称 + */ + private String taskName; + /** + * 任务描述 + */ + private String taskInfro; + /** + * CPU类型 + */ + private Integer cpuType; + /** + * 模型服务 + */ + private Long modelService; + /** + * 数据集 + */ + private Long dataset; + /** + * 模型评估任务状态 + */ + private Integer status; + /** + * 进度 + */ + private Integer progress; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.java new file mode 100644 index 000000000..73ab134ea --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanualbackup; + +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.modelassesstaskmanualbackup.ModelAssessTaskManualBackupDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.vo.*; + +/** + * 人工评估备份 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessTaskManualBackupMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessTaskManualBackupPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelAssessTaskManualBackupDO::getSrcId, reqVO.getSrcId()) + .likeIfPresent(ModelAssessTaskManualBackupDO::getTaskName, reqVO.getTaskName()) + .eqIfPresent(ModelAssessTaskManualBackupDO::getTaskInfro, reqVO.getTaskInfro()) + .eqIfPresent(ModelAssessTaskManualBackupDO::getCpuType, reqVO.getCpuType()) + .eqIfPresent(ModelAssessTaskManualBackupDO::getModelService, reqVO.getModelService()) + .eqIfPresent(ModelAssessTaskManualBackupDO::getDataset, reqVO.getDataset()) + .betweenIfPresent(ModelAssessTaskManualBackupDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelAssessTaskManualBackupDO::getStatus, reqVO.getStatus()) + .eqIfPresent(ModelAssessTaskManualBackupDO::getProgress, reqVO.getProgress()) + .orderByDesc(ModelAssessTaskManualBackupDO::getId)); + } + +} \ 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/modelassesstaskmanual/ModelAssessTaskManualService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java index 6d82af955..9a9f54616 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java @@ -53,5 +53,7 @@ public interface ModelAssessTaskManualService { PageResult getModelAssessTaskManualPage1(ModelAssessTaskManualPageReqVO pageReqVO); PageResult getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO); - ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO); + ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO backupReqVO); + + void backupModelAssessTaskManual(ModelAssessTaskManualBackupReqVO updateReqVO); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java index 77083cfe9..9a351922c 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionPageReqVO; import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionRespVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.vo.ModelAssessTaskManualBackupSaveReqVO; import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO; import cn.iocoder.yudao.module.llm.dal.dataobject.modelassessstoplist.ModelAssessStoplistDO; import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO; @@ -13,6 +14,7 @@ import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTa import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper; import cn.iocoder.yudao.module.llm.service.async.AsyncModelAccessManualService; import cn.iocoder.yudao.module.llm.service.dataset.DatasetQuestionService; +import cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup.ModelAssessTaskManualBackupService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -59,6 +61,8 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe @Resource private AsyncModelAccessManualService asyncModelAccessManualService; + @Resource + private ModelAssessTaskManualBackupService modelAssessTaskManualBackupService; @Override public Long createModelAssessTaskManual(ModelAssessTaskManualSaveReqVO createReqVO) { @@ -204,4 +208,17 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe return reqVO; } + @Override + public void backupModelAssessTaskManual(ModelAssessTaskManualBackupReqVO backupReqVO) { + ModelAssessTaskManualDO modelDo = modelAssessTaskManualMapper.selectById(backupReqVO.getId()); + if(modelDo == null) { + throw exception(MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS); + } + this.modelAssessTaskManualBackupService.isBackup(backupReqVO.getId()); + ModelAssessTaskManualBackupSaveReqVO backupDo = BeanUtils.toBean(modelDo, ModelAssessTaskManualBackupSaveReqVO.class); + backupDo.setId(null); + backupDo.setSrcId(backupReqVO.getId()); + this.modelAssessTaskManualBackupService.createModelAssessTaskManualBackup(backupDo); + } + } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java new file mode 100644 index 000000000..932ec23c1 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup.ModelAssessTaskManualBackupDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 人工评估备份 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessTaskManualBackupService { + + /** + * 创建人工评估备份 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessTaskManualBackup(@Valid ModelAssessTaskManualBackupSaveReqVO createReqVO); + + /** + * 更新人工评估备份 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessTaskManualBackup(@Valid ModelAssessTaskManualBackupSaveReqVO updateReqVO); + + /** + * 删除人工评估备份 + * + * @param id 编号 + */ + void deleteModelAssessTaskManualBackup(Long id); + + /** + * 获得人工评估备份 + * + * @param id 编号 + * @return 人工评估备份 + */ + ModelAssessTaskManualBackupDO getModelAssessTaskManualBackup(Long id); + + /** + * 获得人工评估备份分页 + * + * @param pageReqVO 分页查询 + * @return 人工评估备份分页 + */ + PageResult getModelAssessTaskManualBackupPage(ModelAssessTaskManualBackupPageReqVO pageReqVO); + + void isBackup(Long srcId); + +} \ 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/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java new file mode 100644 index 000000000..4f9db9fbb --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup; + +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.modelassesstaskmanualbackup.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup.ModelAssessTaskManualBackupDO; +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.modelassesstaskmanualbackup.ModelAssessTaskManualBackupMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 人工评估备份 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessTaskManualBackupServiceImpl implements ModelAssessTaskManualBackupService { + + @Resource + private ModelAssessTaskManualBackupMapper modelAssessTaskManualBackupMapper; + + @Override + public Long createModelAssessTaskManualBackup(ModelAssessTaskManualBackupSaveReqVO createReqVO) { + // 插入 + ModelAssessTaskManualBackupDO modelAssessTaskManualBackup = BeanUtils.toBean(createReqVO, ModelAssessTaskManualBackupDO.class); + modelAssessTaskManualBackupMapper.insert(modelAssessTaskManualBackup); + // 返回 + return modelAssessTaskManualBackup.getId(); + } + + @Override + public void updateModelAssessTaskManualBackup(ModelAssessTaskManualBackupSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessTaskManualBackupExists(updateReqVO.getId()); + // 更新 + ModelAssessTaskManualBackupDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskManualBackupDO.class); + modelAssessTaskManualBackupMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessTaskManualBackup(Long id) { + // 校验存在 + validateModelAssessTaskManualBackupExists(id); + // 删除 + modelAssessTaskManualBackupMapper.deleteById(id); + } + + private void validateModelAssessTaskManualBackupExists(Long id) { + if (modelAssessTaskManualBackupMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_TASK_MANUAL_BACKUP_NOT_EXISTS); + } + } + + @Override + public ModelAssessTaskManualBackupDO getModelAssessTaskManualBackup(Long id) { + return modelAssessTaskManualBackupMapper.selectById(id); + } + + @Override + public PageResult getModelAssessTaskManualBackupPage(ModelAssessTaskManualBackupPageReqVO pageReqVO) { + return modelAssessTaskManualBackupMapper.selectPage(pageReqVO); + } + + @Override + public void isBackup(Long srcId) { + List backupDOList = this.modelAssessTaskManualBackupMapper.selectList("src_id", srcId); + if(backupDOList!=null && !backupDOList.isEmpty()) { + throw exception(MODEL_ASSESS_TASK_MANUAL_BACKUP_EXISTS); + } + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.xml new file mode 100644 index 000000000..44904be8c --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanualbackup/ModelAssessTaskManualBackupMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file