archive file

dev-tmp1
luotaiqian 2026-08-26 09:57:29 +08:00
parent 1e565706a0
commit efc34b7e21
6 changed files with 71 additions and 13 deletions

View File

@ -1,11 +1,15 @@
package org.qinan.safetyeval.app.file.convertor;
import cn.hutool.json.JSONUtil;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFileAddCmd;
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFileUpdateCmd;
import org.qinan.safetyeval.client.file.response.FilesCo;
import org.qinan.safetyeval.domain.file.model.EvalProjectArchiveFileE;
import java.util.List;
/**
*
*
@ -15,7 +19,7 @@ import org.qinan.safetyeval.domain.file.model.EvalProjectArchiveFileE;
@Mapper(componentModel = "spring")
public interface EvalProjectArchiveFileCmdConvertor {
/**
* cmd_add
* cmd_addfiles fromFilesCo JSON
*
* @param evalProjectArchiveFileAddCmd
* @return
@ -24,11 +28,21 @@ public interface EvalProjectArchiveFileCmdConvertor {
EvalProjectArchiveFileE convertCmdToE(EvalProjectArchiveFileAddCmd evalProjectArchiveFileAddCmd);
/**
* cmd_update
* cmd_updatefiles fromFilesCo JSON
*
* @param evalProjectArchiveFileUpdateCmd
* @return
*/
@Mapping(target = "evalProjectArchiveFileGateway", ignore = true)
EvalProjectArchiveFileE convertCmdToE(EvalProjectArchiveFileUpdateCmd evalProjectArchiveFileUpdateCmd);
/**
* Cmd files JSON [{"url":"...","name":"..."}]null null
*/
default String fromFilesCo(List<FilesCo> files) {
if (files == null) {
return null;
}
return JSONUtil.toJsonStr(files);
}
}

View File

@ -2,11 +2,13 @@ package org.qinan.safetyeval.client.file.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.qinan.safetyeval.client.file.response.FilesCo;
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* Cmd
@ -22,9 +24,8 @@ public class EvalProjectArchiveFileAddCmd implements Serializable {
@NotBlank(message = "项目ID不能为空")
private String projectId;
@ApiModelProperty(value = "文件列表JSON 数组,如 [{\"url\":\"...\",\"name\":\"...\"}]", required = true)
@NotBlank(message = "文件列表不能为空")
private String files;
@ApiModelProperty(value = "文件列表")
private List<FilesCo> files;
@ApiModelProperty(value = ArchiveTypeEnum.REMARKS, required = true)
@NotBlank(message = ArchiveTypeEnum.REMARKS + "不能为空")

View File

@ -3,12 +3,14 @@ package org.qinan.safetyeval.client.file.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.qinan.safetyeval.client.file.response.FilesCo;
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* Cmd
@ -28,11 +30,10 @@ public class EvalProjectArchiveFileUpdateCmd implements Serializable {
@NotBlank(message = "项目ID不能为空")
private String projectId;
/**
* JSON [{"url":"...","name":"..."}]
*
*/
@ApiModelProperty(value = "文件列表JSON 数组,如 [{\"url\":\"...\",\"name\":\"...\"}]", required = true)
@NotBlank(message = "文件列表不能为空")
private String files;
@ApiModelProperty(value = "文件列表")
private List<FilesCo> files;
/**
* ArchiveTypeEnum.REMARKS
*/

View File

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
import java.util.List;
/**
* Co
*
@ -23,10 +25,10 @@ public class EvalProjectArchiveFileCo extends ClientObject {
@ApiModelProperty(value = "项目ID")
private String projectId;
/**
* JSON [{"url":"...","name":"..."}]
* DO JSON [{"url":"...","name":"..."}]
*/
@ApiModelProperty(value = "文件列表")
private String files;
private List<FilesCo> files;
/**
* ArchiveTypeEnum.REMARKS
*/

View File

@ -0,0 +1,26 @@
package org.qinan.safetyeval.client.file.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* Co eval_project_archive_file.files JSON
*
* @Author: ltq
* @date 2026-08-25
*/
@Data
public class FilesCo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文件ID")
private String id;
@ApiModelProperty(value = "文件地址")
private String url;
@ApiModelProperty(value = "文件名称")
private String name;
}

View File

@ -1,11 +1,15 @@
package org.qinan.safetyeval.infrastructure.convertor;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import org.mapstruct.Mapper;
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFilePageQry;
import org.qinan.safetyeval.client.file.response.EvalProjectArchiveFileCo;
import org.qinan.safetyeval.client.file.response.FilesCo;
import org.qinan.safetyeval.domain.file.model.EvalProjectArchiveFileE;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectArchiveFileDO;
import java.util.Collections;
import java.util.List;
@ -26,7 +30,7 @@ public interface EvalProjectArchiveFileDoConvertor {
EvalProjectArchiveFileDO convertEeToDo(EvalProjectArchiveFileE evalProjectArchiveFileE);
/**
* DOCo
* DOCofiles JSON toFilesCo
*
* @param evalProjectArchiveFileDo DO
* @return
@ -44,10 +48,20 @@ public interface EvalProjectArchiveFileDoConvertor {
EvalProjectArchiveFileDO convertQryToDo(EvalProjectArchiveFilePageQry evalProjectArchiveFilePageQry);
/**
* DOsCos
* DOsCosfiles JSON toFilesCo
*
* @param evalProjectArchiveFileDos dos
* @return
*/
List<EvalProjectArchiveFileCo> converDosToCos(List<EvalProjectArchiveFileDO> evalProjectArchiveFileDos);
/**
* DO files JSON [{"url":"...","name":"..."}] FilesCo
*/
default List<FilesCo> toFilesCo(String files) {
if (StrUtil.isBlank(files)) {
return Collections.emptyList();
}
return JSONUtil.toList(files, FilesCo.class);
}
}