package com.shkpr.service.alambizplugin.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.shkpr.service.alambizplugin.apiparam.GisSurveyThirdImportParams; import com.shkpr.service.alambizplugin.constants.GisSurveyImportStatusEnum; import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.List; /** * 第三方导入返回dto * * @author 欧阳劲驰 * @since 1.0.0 */ @Data public class GisSurveyThirdImportResult { /** * 导入状态:0:进行中,1:成功,2:失败,3:不存在 */ private Integer importStatus; /** * 任务id */ private String jobId; /** * 当前操作人id */ private String operator; /** * 请求导入时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime requestTime; /** * 完成导入时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime completeTime; /** * 无效图层结果 */ private GisSurveyThirdImportResultDetail> invalidLayersResult = new GisSurveyThirdImportResultDetail<>(); /** * 缺失必填结果 */ private GisSurveyThirdImportResultDetail> missingRequirementsResult = new GisSurveyThirdImportResultDetail<>(); /** * 无效类型结果 */ private GisSurveyThirdImportResultDetail> invalidTypesResult = new GisSurveyThirdImportResultDetail<>(); /** * 超出范围结果 */ private GisSurveyThirdImportResultDetail> outRangesResult = new GisSurveyThirdImportResultDetail<>(); /** * 重复点号结果 */ private GisSurveyThirdImportResultDetail> duplicatePointsResult = new GisSurveyThirdImportResultDetail<>(); /** * 无效线结果 */ private GisSurveyThirdImportResultDetail> invalidLinesResult = new GisSurveyThirdImportResultDetail<>(); /** * 进行中 */ public static GisSurveyThirdImportResult inProgress(GisSurveyThirdImportParams params, GisSurveyThirdImportSubtask subtask, LocalDateTime requestTime) { GisSurveyThirdImportResult result = new GisSurveyThirdImportResult(); BeanUtils.copyProperties(params, result); //设置子任务状态 if (subtask != null) { if (subtask.getInvalidPropertiesFuture() != null) { result.getInvalidLayersResult().setDone(subtask.getInvalidPropertiesFuture().isDone()); result.getMissingRequirementsResult().setDone(subtask.getInvalidPropertiesFuture().isDone()); result.getInvalidTypesResult().setDone(subtask.getInvalidPropertiesFuture().isDone()); result.getOutRangesResult().setDone(subtask.getInvalidPropertiesFuture().isDone()); } if (subtask.getDuplicatePointsFuture() != null) result.getDuplicatePointsResult().setDone(subtask.getDuplicatePointsFuture().isDone()); if (subtask.getInvalidLinesFuture() != null) result.getInvalidLinesResult().setDone(subtask.getInvalidLinesFuture().isDone()); } result.setImportStatus(GisSurveyImportStatusEnum.IN_PROGRESS.getCode()); result.setRequestTime(requestTime); return result; } /** * 成功 */ public static GisSurveyThirdImportResult success(GisSurveyThirdImportParams params) { GisSurveyThirdImportResult result = new GisSurveyThirdImportResult(); BeanUtils.copyProperties(params, result); result.setImportStatus(GisSurveyImportStatusEnum.SUCCESS.getCode()); result.setRequestTime(LocalDateTime.now()); return result; } /** * 失败 */ public static GisSurveyThirdImportResult fail(GisSurveyThirdImportParams params) { GisSurveyThirdImportResult result = new GisSurveyThirdImportResult(); BeanUtils.copyProperties(params, result); result.setImportStatus(GisSurveyImportStatusEnum.FAIL.getCode()); result.setRequestTime(LocalDateTime.now()); return result; } }