archive file
parent
1e565706a0
commit
efc34b7e21
|
|
@ -1,11 +1,15 @@
|
||||||
package org.qinan.safetyeval.app.file.convertor;
|
package org.qinan.safetyeval.app.file.convertor;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
import org.mapstruct.Mapping;
|
||||||
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFileAddCmd;
|
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFileAddCmd;
|
||||||
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFileUpdateCmd;
|
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 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")
|
@Mapper(componentModel = "spring")
|
||||||
public interface EvalProjectArchiveFileCmdConvertor {
|
public interface EvalProjectArchiveFileCmdConvertor {
|
||||||
/**
|
/**
|
||||||
* cmd_add转领域模型
|
* cmd_add转领域模型(files 为对象列表,经 fromFilesCo 序列化为 JSON 字符串)
|
||||||
*
|
*
|
||||||
* @param evalProjectArchiveFileAddCmd
|
* @param evalProjectArchiveFileAddCmd
|
||||||
* @return
|
* @return
|
||||||
|
|
@ -24,11 +28,21 @@ public interface EvalProjectArchiveFileCmdConvertor {
|
||||||
EvalProjectArchiveFileE convertCmdToE(EvalProjectArchiveFileAddCmd evalProjectArchiveFileAddCmd);
|
EvalProjectArchiveFileE convertCmdToE(EvalProjectArchiveFileAddCmd evalProjectArchiveFileAddCmd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cmd_update转领域模型
|
* cmd_update转领域模型(files 为对象列表,经 fromFilesCo 序列化为 JSON 字符串)
|
||||||
*
|
*
|
||||||
* @param evalProjectArchiveFileUpdateCmd
|
* @param evalProjectArchiveFileUpdateCmd
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Mapping(target = "evalProjectArchiveFileGateway", ignore = true)
|
@Mapping(target = "evalProjectArchiveFileGateway", ignore = true)
|
||||||
EvalProjectArchiveFileE convertCmdToE(EvalProjectArchiveFileUpdateCmd evalProjectArchiveFileUpdateCmd);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,13 @@ package org.qinan.safetyeval.client.file.request;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.qinan.safetyeval.client.file.response.FilesCo;
|
||||||
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
|
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安全评价项目档案文件新增Cmd
|
* 安全评价项目档案文件新增Cmd
|
||||||
|
|
@ -22,9 +24,8 @@ public class EvalProjectArchiveFileAddCmd implements Serializable {
|
||||||
@NotBlank(message = "项目ID不能为空")
|
@NotBlank(message = "项目ID不能为空")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "文件列表(JSON 数组,如 [{\"url\":\"...\",\"name\":\"...\"}])", required = true)
|
@ApiModelProperty(value = "文件列表")
|
||||||
@NotBlank(message = "文件列表不能为空")
|
private List<FilesCo> files;
|
||||||
private String files;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = ArchiveTypeEnum.REMARKS, required = true)
|
@ApiModelProperty(value = ArchiveTypeEnum.REMARKS, required = true)
|
||||||
@NotBlank(message = ArchiveTypeEnum.REMARKS + "不能为空")
|
@NotBlank(message = ArchiveTypeEnum.REMARKS + "不能为空")
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,14 @@ package org.qinan.safetyeval.client.file.request;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.qinan.safetyeval.client.file.response.FilesCo;
|
||||||
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
|
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安全评价项目档案文件修改Cmd
|
* 安全评价项目档案文件修改Cmd
|
||||||
|
|
@ -28,11 +30,10 @@ public class EvalProjectArchiveFileUpdateCmd implements Serializable {
|
||||||
@NotBlank(message = "项目ID不能为空")
|
@NotBlank(message = "项目ID不能为空")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
/**
|
/**
|
||||||
* 文件列表(JSON 数组,如 [{"url":"...","name":"..."}])
|
* 文件列表
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "文件列表(JSON 数组,如 [{\"url\":\"...\",\"name\":\"...\"}])", required = true)
|
@ApiModelProperty(value = "文件列表")
|
||||||
@NotBlank(message = "文件列表不能为空")
|
private List<FilesCo> files;
|
||||||
private String files;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
|
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安全评价项目档案文件Co
|
* 安全评价项目档案文件Co
|
||||||
*
|
*
|
||||||
|
|
@ -23,10 +25,10 @@ public class EvalProjectArchiveFileCo extends ClientObject {
|
||||||
@ApiModelProperty(value = "项目ID")
|
@ApiModelProperty(value = "项目ID")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
/**
|
/**
|
||||||
* 文件列表(JSON 数组,如 [{"url":"...","name":"..."}])
|
* 文件列表(由 DO 中 JSON 数组 [{"url":"...","name":"..."}] 解析而来)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "文件列表")
|
@ApiModelProperty(value = "文件列表")
|
||||||
private String files;
|
private List<FilesCo> files;
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
package org.qinan.safetyeval.infrastructure.convertor;
|
package org.qinan.safetyeval.infrastructure.convertor;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFilePageQry;
|
import org.qinan.safetyeval.client.file.request.EvalProjectArchiveFilePageQry;
|
||||||
import org.qinan.safetyeval.client.file.response.EvalProjectArchiveFileCo;
|
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.domain.file.model.EvalProjectArchiveFileE;
|
||||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectArchiveFileDO;
|
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectArchiveFileDO;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -26,7 +30,7 @@ public interface EvalProjectArchiveFileDoConvertor {
|
||||||
EvalProjectArchiveFileDO convertEeToDo(EvalProjectArchiveFileE evalProjectArchiveFileE);
|
EvalProjectArchiveFileDO convertEeToDo(EvalProjectArchiveFileE evalProjectArchiveFileE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DO转Co
|
* DO转Co(files 为 JSON 字符串,经 toFilesCo 解析为对象列表)
|
||||||
*
|
*
|
||||||
* @param evalProjectArchiveFileDo DO
|
* @param evalProjectArchiveFileDo DO
|
||||||
* @return
|
* @return
|
||||||
|
|
@ -44,10 +48,20 @@ public interface EvalProjectArchiveFileDoConvertor {
|
||||||
EvalProjectArchiveFileDO convertQryToDo(EvalProjectArchiveFilePageQry evalProjectArchiveFilePageQry);
|
EvalProjectArchiveFileDO convertQryToDo(EvalProjectArchiveFilePageQry evalProjectArchiveFilePageQry);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DOs转Cos
|
* DOs转Cos(files 为 JSON 字符串,经 toFilesCo 解析为对象列表)
|
||||||
*
|
*
|
||||||
* @param evalProjectArchiveFileDos dos
|
* @param evalProjectArchiveFileDos dos
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<EvalProjectArchiveFileCo> converDosToCos(List<EvalProjectArchiveFileDO> evalProjectArchiveFileDos);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue