From 79f65c0f6f695117e444c64f4aa7209c3ec04469 Mon Sep 17 00:00:00 2001 From: linrf Date: Wed, 19 Jul 2023 14:13:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=AF=95=20=E9=87=87=E9=9B=86?= =?UTF-8?q?=E5=99=A8=E5=BC=82=E5=B8=B8=E6=97=A5=E5=BF=97http=20api=20?= =?UTF-8?q?=E8=B0=83=E8=AF=95=20=E8=99=9A=E6=8B=9F=E6=9C=BA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=83=85=E5=86=B5http=20api=20=E8=B0=83=E8=AF=95=20?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81http=20ap?= =?UTF-8?q?i?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/docus/server/DefaultWebConfig.java | 15 +++++ .../serializer/DefJsonSerializerModule.java | 25 +++++++ .../serializer/StringToDateConverter.java | 67 +++++++++++++++++++ .../SchCollectErrorLogController.java | 5 +- .../convert/SchCollectRecordConvert.java | 7 +- .../SchCollectRecordRetryLogConvert.java | 9 ++- .../service/ISchCollectErrorLogService.java | 4 +- .../impl/SchCollectErrorLogServiceImpl.java | 20 +++++- .../impl/SchCollectRecordServiceImpl.java | 33 ++++++++- .../impl/SchVirtualLogServiceImpl.java | 4 ++ .../mapper/SchCollectRecordRetryLogMapper.xml | 3 +- .../SchCollectErrorLogApi.java | 10 ++- .../AddSchCollectErrorLogDTO.java | 45 ++++++------- .../EditSchCollectRecordDTO.java | 30 +-------- .../schvirtuallog/AddSchVirtualLogDTO.java | 33 +++------ .../SchCollectErrorLog.java | 33 ++++----- .../SchCollectRecordRetryLog.java | 4 ++ .../scheduling.management/SchVirtualLog.java | 39 ++++++----- .../com/docus/server/enums/RetryTaskEnum.java | 29 ++++++++ .../SchCollectErrorLogVO.java | 23 +++---- 20 files changed, 297 insertions(+), 141 deletions(-) create mode 100644 collector-scheduling-management/src/main/java/com/docus/server/DefaultWebConfig.java create mode 100644 collector-scheduling-management/src/main/java/com/docus/server/common/serializer/DefJsonSerializerModule.java create mode 100644 collector-scheduling-management/src/main/java/com/docus/server/common/serializer/StringToDateConverter.java create mode 100644 docus-client-interface/src/main/java/com/docus/server/enums/RetryTaskEnum.java diff --git a/collector-scheduling-management/src/main/java/com/docus/server/DefaultWebConfig.java b/collector-scheduling-management/src/main/java/com/docus/server/DefaultWebConfig.java new file mode 100644 index 0000000..cc7ab77 --- /dev/null +++ b/collector-scheduling-management/src/main/java/com/docus/server/DefaultWebConfig.java @@ -0,0 +1,15 @@ +package com.docus.server; + +import com.docus.infrastructure.WebConfig; +import com.docus.infrastructure.web.json.JsonSerializerModule; +import com.docus.server.common.serializer.DefJsonSerializerModule; + +public class DefaultWebConfig extends WebConfig { + + @Override + public JsonSerializerModule jsonSerializerModu1e() { + super.jsonSerializerModu1e(); + return new DefJsonSerializerModule(); + } + +} diff --git a/collector-scheduling-management/src/main/java/com/docus/server/common/serializer/DefJsonSerializerModule.java b/collector-scheduling-management/src/main/java/com/docus/server/common/serializer/DefJsonSerializerModule.java new file mode 100644 index 0000000..b5033ed --- /dev/null +++ b/collector-scheduling-management/src/main/java/com/docus/server/common/serializer/DefJsonSerializerModule.java @@ -0,0 +1,25 @@ +package com.docus.server.common.serializer; + +import com.docus.core.util.Convert; +import com.docus.infrastructure.web.json.JsonSerializerModule; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; +import java.time.ZoneId; +import java.util.Date; +import java.util.TimeZone; + +public class DefJsonSerializerModule extends JsonSerializerModule { + public DefJsonSerializerModule() { + + addSerializer(Date.class, new JsonSerializer() { + @Override + public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + jsonGenerator.writeString(date == null ? null : Convert.toString(date, Convert.DATA_FORMAT_DATETIME_SLASH, TimeZone.getTimeZone(ZoneId.systemDefault()))); + } + }); + } + +} diff --git a/collector-scheduling-management/src/main/java/com/docus/server/common/serializer/StringToDateConverter.java b/collector-scheduling-management/src/main/java/com/docus/server/common/serializer/StringToDateConverter.java new file mode 100644 index 0000000..f143733 --- /dev/null +++ b/collector-scheduling-management/src/main/java/com/docus/server/common/serializer/StringToDateConverter.java @@ -0,0 +1,67 @@ +package com.docus.server.common.serializer; + +import org.springframework.core.convert.converter.Converter; +import org.springframework.stereotype.Component; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 全局handler前日期统一处理 + * + * @author zhanghang + * @date 2018/1/11 + */ +@Component +public class StringToDateConverter implements Converter { + + private static final List DATE_FORMARTS = new ArrayList<>(4); + + static { + DATE_FORMARTS.add("yyyy-MM"); + DATE_FORMARTS.add("yyyy-MM-dd"); + DATE_FORMARTS.add("yyyy-MM-dd hh:mm"); + DATE_FORMARTS.add("yyyy-MM-dd hh:mm:ss"); + } + + @Override + public Date convert(String source) { + String value = source.trim(); + if ("".equals(value)) { + return null; + } + if (source.matches("^\\d{4}-\\d{1,2}$")) { + return parseDate(source, DATE_FORMARTS.get(0)); + } else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) { + return parseDate(source, DATE_FORMARTS.get(1)); + } else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) { + return parseDate(source, DATE_FORMARTS.get(2)); + } else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) { + return parseDate(source, DATE_FORMARTS.get(3)); + } else { + throw new IllegalArgumentException("Invalid boolean value '" + source + "'"); + } + } + + /** + * 格式化日期 + * + * @param dateStr String 字符型日期 + * @param format String 格式 + * @return Date 日期 + */ + public Date parseDate(String dateStr, String format) { + Date date = null; + try { + DateFormat dateFormat = new SimpleDateFormat(format); + date = dateFormat.parse(dateStr); + } catch (Exception e) { + System.out.println(String.format("日期%s转换%s错误", dateStr, format)); + } + return date; + } + +} diff --git a/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectErrorLogController.java b/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectErrorLogController.java index 2ea9de3..ca41df1 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectErrorLogController.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectErrorLogController.java @@ -9,6 +9,7 @@ import com.docus.server.dto.scheduling.management.schcollecterrorlog.EditSchColl import com.docus.server.service.ISchCollectErrorLogService; import com.docus.server.vo.scheduling.management.schcollecterrorlog.SchCollectErrorLogVO; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -52,8 +53,8 @@ public class SchCollectErrorLogController implements SchCollectErrorLogApi { * @return 成功或失败 */ @Override - public boolean add(AddSchCollectErrorLogDTO addSchCollectErrorLogDTO) { - return iSchCollectErrorLogService.add(addSchCollectErrorLogDTO); + public boolean add(AddSchCollectErrorLogDTO addSchCollectErrorLogDTO, MultipartFile[] multipartFiles) throws Exception { + return iSchCollectErrorLogService.add(addSchCollectErrorLogDTO, multipartFiles); } /** diff --git a/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordConvert.java b/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordConvert.java index 9ce003c..2ead1ea 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordConvert.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordConvert.java @@ -1,13 +1,12 @@ package com.docus.server.convert; import com.docus.infrastructure.web.response.PageResult; -import com.docus.server.entity.scheduling.management.SchCollectRecord; import com.docus.server.dto.scheduling.management.schcollectrecord.AddSchCollectRecordDTO; import com.docus.server.dto.scheduling.management.schcollectrecord.EditSchCollectRecordDTO; -import com.docus.server.dto.scheduling.management.schcollectrecord.DeleteSchCollectRecordDTO; +import com.docus.server.entity.scheduling.management.SchCollectRecord; import com.docus.server.vo.scheduling.management.schcollectrecord.SchCollectRecordVO; - import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; @@ -28,7 +27,7 @@ public interface SchCollectRecordConvert { SchCollectRecord convertDO(AddSchCollectRecordDTO addSchCollectRecordDTO); @Mappings({}) - SchCollectRecord convertDO(EditSchCollectRecordDTO editSchCollectRecordDTO); + SchCollectRecord convertDO(EditSchCollectRecordDTO editSchCollectRecordDTO, @MappingTarget SchCollectRecord schCollectRecord); @Mappings({}) List convertAddDOList(List addSchCollectRecordDTO); diff --git a/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordRetryLogConvert.java b/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordRetryLogConvert.java index 871a06b..8a4ccdd 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordRetryLogConvert.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/convert/SchCollectRecordRetryLogConvert.java @@ -1,13 +1,13 @@ package com.docus.server.convert; import com.docus.infrastructure.web.response.PageResult; -import com.docus.server.entity.scheduling.management.SchCollectRecordRetryLog; +import com.docus.server.dto.scheduling.management.schcollectrecord.EditSchCollectRecordDTO; import com.docus.server.dto.scheduling.management.schcollectrecordretrylog.AddSchCollectRecordRetryLogDTO; import com.docus.server.dto.scheduling.management.schcollectrecordretrylog.EditSchCollectRecordRetryLogDTO; -import com.docus.server.dto.scheduling.management.schcollectrecordretrylog.DeleteSchCollectRecordRetryLogDTO; +import com.docus.server.entity.scheduling.management.SchCollectRecordRetryLog; import com.docus.server.vo.scheduling.management.schcollectrecordretrylog.SchCollectRecordRetryLogVO; - import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; @@ -24,6 +24,9 @@ public interface SchCollectRecordRetryLogConvert { SchCollectRecordRetryLogConvert INSTANCE = Mappers.getMapper(SchCollectRecordRetryLogConvert.class); + @Mappings({}) + SchCollectRecordRetryLog convertDO(EditSchCollectRecordDTO editSchCollectRecordDTO, @MappingTarget SchCollectRecordRetryLog schCollectRecordRetryLog); + @Mappings({}) SchCollectRecordRetryLog convertDO(AddSchCollectRecordRetryLogDTO addSchCollectRecordRetryLogDTO); diff --git a/collector-scheduling-management/src/main/java/com/docus/server/service/ISchCollectErrorLogService.java b/collector-scheduling-management/src/main/java/com/docus/server/service/ISchCollectErrorLogService.java index 449e971..8e96d9f 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/service/ISchCollectErrorLogService.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/service/ISchCollectErrorLogService.java @@ -6,6 +6,7 @@ import com.docus.server.dto.scheduling.management.schcollecterrorlog.AddSchColle import com.docus.server.dto.scheduling.management.schcollecterrorlog.DeleteSchCollectErrorLogDTO; import com.docus.server.dto.scheduling.management.schcollecterrorlog.EditSchCollectErrorLogDTO; import com.docus.server.vo.scheduling.management.schcollecterrorlog.SchCollectErrorLogVO; +import org.springframework.web.multipart.MultipartFile; /** * 采集器异常日志 服务接口 @@ -26,9 +27,10 @@ public interface ISchCollectErrorLogService { * 新增 * * @param addSchCollectErrorLogDTO 新增参数 + * @param multipartFiles 异常任务截图 * @return 成功或失败 */ - boolean add(AddSchCollectErrorLogDTO addSchCollectErrorLogDTO); + boolean add(AddSchCollectErrorLogDTO addSchCollectErrorLogDTO, MultipartFile[] multipartFiles) throws Exception; /** * 编辑 diff --git a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectErrorLogServiceImpl.java b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectErrorLogServiceImpl.java index 84798e8..0c1c8a6 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectErrorLogServiceImpl.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectErrorLogServiceImpl.java @@ -1,5 +1,6 @@ package com.docus.server.service.impl; +import com.docus.infrastructure.redis.service.IdService; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.convert.SchCollectErrorLogConvert; @@ -8,11 +9,16 @@ import com.docus.server.dto.scheduling.management.schcollecterrorlog.DeleteSchCo import com.docus.server.dto.scheduling.management.schcollecterrorlog.EditSchCollectErrorLogDTO; import com.docus.server.entity.scheduling.management.SchCollectErrorLog; import com.docus.server.infrastructure.dao.ISchCollectErrorLogDao; +import com.docus.server.service.IFileUploadService; import com.docus.server.service.ISchCollectErrorLogService; import com.docus.server.vo.scheduling.management.schcollecterrorlog.SchCollectErrorLogVO; +import com.docus.server.vo.scheduling.management.schcollectorversionfile.UploadFileVO; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.List; /** * 采集器异常日志 服务实现类 @@ -24,6 +30,10 @@ import javax.annotation.Resource; public class SchCollectErrorLogServiceImpl implements ISchCollectErrorLogService { @Resource private ISchCollectErrorLogDao iSchCollectErrorLogDao; + @Resource + private IFileUploadService iFileUploadService; + @Resource + private IdService idService; /** * 按主键查询 @@ -51,11 +61,19 @@ public class SchCollectErrorLogServiceImpl implements ISchCollectErrorLogService * 新增 * * @param addSchCollectErrorLogDTO 编辑参数 + * @param multipartFiles 采集器异常任务截图 * @return 成功或失败 */ @Override - public boolean add(AddSchCollectErrorLogDTO addSchCollectErrorLogDTO) { + public boolean add(AddSchCollectErrorLogDTO addSchCollectErrorLogDTO, MultipartFile[] multipartFiles) throws Exception { + + List uploadFileVOList = iFileUploadService.uploadFile(multipartFiles, "COLLECTOR_TASK_ERROR_LOG"); + SchCollectErrorLog schCollectErrorLog = SchCollectErrorLogConvert.INSTANCE.convertDO(addSchCollectErrorLogDTO); + if (!CollectionUtils.isEmpty(uploadFileVOList)) { + schCollectErrorLog.setScreenPath(uploadFileVOList.get(0).getFilePath()); + } + schCollectErrorLog.setId(idService.getDateSeq()); return iSchCollectErrorLogDao.add(schCollectErrorLog); } diff --git a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectRecordServiceImpl.java b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectRecordServiceImpl.java index b4456f5..671aa68 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectRecordServiceImpl.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchCollectRecordServiceImpl.java @@ -2,15 +2,21 @@ package com.docus.server.service.impl; import com.docus.core.util.ListUtils; import com.docus.core.util.property.Setters; +import com.docus.infrastructure.web.exception.ApiException; +import com.docus.infrastructure.web.exception.ExceptionCode; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.convert.SchCollectRecordConvert; +import com.docus.server.convert.SchCollectRecordRetryLogConvert; import com.docus.server.dto.scheduling.management.schcollectrecord.AddSchCollectRecordDTO; import com.docus.server.dto.scheduling.management.schcollectrecord.DeleteSchCollectRecordDTO; import com.docus.server.dto.scheduling.management.schcollectrecord.EditSchCollectRecordDTO; import com.docus.server.entity.scheduling.management.SchCollectRecord; +import com.docus.server.entity.scheduling.management.SchCollectRecordRetryLog; import com.docus.server.entity.scheduling.management.SchSystemParams; +import com.docus.server.enums.RetryTaskEnum; import com.docus.server.infrastructure.dao.ISchCollectRecordDao; +import com.docus.server.infrastructure.dao.ISchCollectRecordRetryLogDao; import com.docus.server.infrastructure.dao.ISchSystemParamsDao; import com.docus.server.service.ISchCollectRecordService; import com.docus.server.vo.scheduling.management.schcollectrecord.SchCollectRecordVO; @@ -32,6 +38,8 @@ public class SchCollectRecordServiceImpl implements ISchCollectRecordService { @Resource private ISchCollectRecordDao iSchCollectRecordDao; @Resource + private ISchCollectRecordRetryLogDao iSchCollectRecordRetryLogDao; + @Resource private ISchSystemParamsDao iSchSystemParamsDao; /** @@ -92,8 +100,29 @@ public class SchCollectRecordServiceImpl implements ISchCollectRecordService { */ @Override public boolean edit(EditSchCollectRecordDTO editSchCollectRecordDTO) { - SchCollectRecord schCollectRecord = SchCollectRecordConvert.INSTANCE.convertDO(editSchCollectRecordDTO); - return iSchCollectRecordDao.edit(schCollectRecord); + RetryTaskEnum isRetryTask = editSchCollectRecordDTO.getIsRetryTask(); + Long id = editSchCollectRecordDTO.getId(); + if (RetryTaskEnum.NO_RETRY_TASK.equals(isRetryTask)) { + //不是重试任务 + SchCollectRecord schCollectRecord = iSchCollectRecordDao.findById(id); + + if (null == schCollectRecord) { + throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "不重复任务采集记录不存在!" + id); + } + + schCollectRecord = SchCollectRecordConvert.INSTANCE.convertDO(editSchCollectRecordDTO, schCollectRecord); + + return iSchCollectRecordDao.updateById(schCollectRecord); + } else { + //重试任务 + SchCollectRecordRetryLog schCollectRecordRetryLog = iSchCollectRecordRetryLogDao.findById(id); + + if (null == schCollectRecordRetryLog) { + throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "不重复任务采集记录不存在!" + id); + } + schCollectRecordRetryLog = SchCollectRecordRetryLogConvert.INSTANCE.convertDO(editSchCollectRecordDTO, schCollectRecordRetryLog); + return iSchCollectRecordRetryLogDao.updateById(schCollectRecordRetryLog); + } } /** diff --git a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchVirtualLogServiceImpl.java b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchVirtualLogServiceImpl.java index a5ecde2..92ceaa5 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchVirtualLogServiceImpl.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchVirtualLogServiceImpl.java @@ -1,5 +1,6 @@ package com.docus.server.service.impl; +import com.docus.infrastructure.redis.service.IdService; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.convert.SchVirtualLogConvert; @@ -24,6 +25,8 @@ import javax.annotation.Resource; public class SchVirtualLogServiceImpl implements ISchVirtualLogService { @Resource private ISchVirtualLogDao iSchVirtualLogDao; + @Resource + private IdService idService; /** * 按主键查询 @@ -56,6 +59,7 @@ public class SchVirtualLogServiceImpl implements ISchVirtualLogService { @Override public boolean add(AddSchVirtualLogDTO addSchVirtualLogDTO) { SchVirtualLog schVirtualLog = SchVirtualLogConvert.INSTANCE.convertDO(addSchVirtualLogDTO); + schVirtualLog.setId(idService.getDateSeq()); return iSchVirtualLogDao.add(schVirtualLog); } diff --git a/collector-scheduling-management/src/main/resources/mapper/SchCollectRecordRetryLogMapper.xml b/collector-scheduling-management/src/main/resources/mapper/SchCollectRecordRetryLogMapper.xml index 03b6d42..efb3c4f 100644 --- a/collector-scheduling-management/src/main/resources/mapper/SchCollectRecordRetryLogMapper.xml +++ b/collector-scheduling-management/src/main/resources/mapper/SchCollectRecordRetryLogMapper.xml @@ -14,6 +14,7 @@ + @@ -25,7 +26,7 @@ - id, collect_record_id, terminator_id, collector_id, task_id, task_name, task_memo, start_time, end_time, task_detail_info, task_exec_state, sub_task_exec_state,last_task_error_msg, create_time, update_time,task_origin_json + id, collect_record_id, terminator_id, collector_id, task_id, task_name, task_memo, start_time, end_time, elapsed_time,task_detail_info, task_exec_state, sub_task_exec_state,last_task_error_msg, create_time, update_time,task_origin_json diff --git a/docus-client-interface/src/main/java/com/docus/server/api/scheduling.management/SchCollectErrorLogApi.java b/docus-client-interface/src/main/java/com/docus/server/api/scheduling.management/SchCollectErrorLogApi.java index f5da40d..afa5306 100644 --- a/docus-client-interface/src/main/java/com/docus/server/api/scheduling.management/SchCollectErrorLogApi.java +++ b/docus-client-interface/src/main/java/com/docus/server/api/scheduling.management/SchCollectErrorLogApi.java @@ -7,8 +7,11 @@ import com.docus.server.dto.scheduling.management.schcollecterrorlog.DeleteSchCo import com.docus.server.dto.scheduling.management.schcollecterrorlog.EditSchCollectErrorLogDTO; import com.docus.server.vo.scheduling.management.schcollecterrorlog.SchCollectErrorLogVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -16,6 +19,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; /** @@ -57,7 +62,10 @@ public interface SchCollectErrorLogApi { */ @ApiOperation("新增") @PostMapping("/add") - boolean add(@RequestBody AddSchCollectErrorLogDTO addSchCollectErrorLogDTO); + @ApiImplicitParams({ + @ApiImplicitParam(name = "screenImage", value = "文件", required = true, dataTypeClass = MultipartFile.class) + }) + boolean add(@Validated AddSchCollectErrorLogDTO addSchCollectErrorLogDTO, @RequestPart("screenImage") MultipartFile[] multipartFiles) throws Exception; /** * 编辑 diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollecterrorlog/AddSchCollectErrorLogDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollecterrorlog/AddSchCollectErrorLogDTO.java index 70fe63f..420ced6 100644 --- a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollecterrorlog/AddSchCollectErrorLogDTO.java +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollecterrorlog/AddSchCollectErrorLogDTO.java @@ -1,44 +1,38 @@ package com.docus.server.dto.scheduling.management.schcollecterrorlog; +import com.docus.server.enums.RetryTaskEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import com.docus.server.enums.*; +import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; /** -* -* 采集器异常日志 AddDTO -* -* @author AutoGenerator -* @since 2023-07-15 -*/ + * 采集器异常日志 Add DTO + * + * @author AutoGenerator + * @since 2023-07-15 + */ @Data -@ApiModel(value="AddSchCollectErrorLogDTO对象", description="采集器异常日志") +@ApiModel(value = "AddSchCollectErrorLogDTO对象", description = "采集器异常日志") public class AddSchCollectErrorLogDTO implements Serializable { - @ApiModelProperty(value = "主键") - private Long id; - @ApiModelProperty(value = "采集器终端ip") private String terminatorIp; - @ApiModelProperty(value = "采集器id") - private Long collectorId; - + @NotNull(message = "采集记录主键id不能为空") @ApiModelProperty(value = "采集记录主键id") private Long collectRecordId; + @NotNull(message = "任务id不能为空") @ApiModelProperty(value = "任务id") private Long taskId; + @NotNull(message = "任务类型不能为空") @ApiModelProperty(value = "0:不是重试任务,1:是重试任务") - private String isRetryTask; + private RetryTaskEnum isRetryTask; @ApiModelProperty(value = "异常等级") private String level; @@ -49,14 +43,13 @@ public class AddSchCollectErrorLogDTO implements Serializable { @ApiModelProperty(value = "异常信息") private String exceptionInfo; - @ApiModelProperty(value = "本地存储路径") - private String screenPath; - - @ApiModelProperty(value = "产生时间") - private LocalDateTime createTime; + @ApiModelProperty(value = "入库时间") + private Date beginTime; - @ApiModelProperty(value = "更新时间") - private LocalDateTime updateTime; + @ApiModelProperty(value = "入库更新时间") + private Date endTime; + @ApiModelProperty(value = "采集器执行任务耗时时间") + private Long takeUpTime; } diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollectrecord/EditSchCollectRecordDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollectrecord/EditSchCollectRecordDTO.java index 2310372..4a99201 100644 --- a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollectrecord/EditSchCollectRecordDTO.java +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollectrecord/EditSchCollectRecordDTO.java @@ -1,5 +1,6 @@ package com.docus.server.dto.scheduling.management.schcollectrecord; +import com.docus.server.enums.RetryTaskEnum; import com.docus.server.enums.StateEnum; import com.docus.server.enums.SubStateEnum; import com.fasterxml.jackson.annotation.JsonFormat; @@ -23,20 +24,11 @@ public class EditSchCollectRecordDTO implements Serializable { @ApiModelProperty(value = "主键") private Long id; - @ApiModelProperty(value = "终端主键") - private Long terminatorId; - - @ApiModelProperty(value = "采集器id") - private Long collectorId; - @ApiModelProperty(value = "任务id") private Long taskId; - @ApiModelProperty(value = "任务名称") - private String taskName; - - @ApiModelProperty(value = "任务描述") - private String taskMemo; + @ApiModelProperty(value = "0:不是重试任务,1:是重试任务") + private RetryTaskEnum isRetryTask; @ApiModelProperty(value = "任务起始时间范围") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -49,9 +41,6 @@ public class EditSchCollectRecordDTO implements Serializable { @ApiModelProperty(value = "任务耗时时间,单位:毫秒") private Long elapsedTime; - @ApiModelProperty(value = "任务详细信息") - private String taskDetailInfo; - @ApiModelProperty(value = "任务执行状态,0:成功,1:失败") private StateEnum taskExecState; @@ -60,17 +49,4 @@ public class EditSchCollectRecordDTO implements Serializable { @ApiModelProperty(value = "最近一次任务执行失败原因") private String lastTaskErrorMsg; - - @ApiModelProperty(value = "入库时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; - - @ApiModelProperty(value = "入库更新时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; - - @ApiModelProperty(value = "redis队列任务原始报文") - private String taskOriginJson; - - } diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schvirtuallog/AddSchVirtualLogDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schvirtuallog/AddSchVirtualLogDTO.java index a2deffb..d6c4b4a 100644 --- a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schvirtuallog/AddSchVirtualLogDTO.java +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schvirtuallog/AddSchVirtualLogDTO.java @@ -1,30 +1,23 @@ package com.docus.server.dto.scheduling.management.schvirtuallog; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import com.docus.server.enums.*; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; /** -* -* 虚拟机使用情况 AddDTO -* -* @author AutoGenerator -* @since 2023-07-15 -*/ + * 虚拟机使用情况 AddDTO + * + * @author AutoGenerator + * @since 2023-07-15 + */ @Data -@ApiModel(value="AddSchVirtualLogDTO对象", description="虚拟机使用情况") +@ApiModel(value = "AddSchVirtualLogDTO对象", description = "虚拟机使用情况") public class AddSchVirtualLogDTO implements Serializable { - @ApiModelProperty(value = "终端id") - private Long id; - @ApiModelProperty(value = "CPU使用率") private String cpuUtilization; @@ -43,17 +36,11 @@ public class AddSchVirtualLogDTO implements Serializable { @ApiModelProperty(value = "采集器终端ip地址") private String ip; - @ApiModelProperty(value = "创建时间") - private LocalDateTime createTime; - - @ApiModelProperty(value = "更新时间") - private LocalDateTime updateTime; - @ApiModelProperty(value = "客户端创建时间") - private LocalDateTime clientTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date clientTime; @ApiModelProperty(value = "多个磁盘大小(单位:MB),当前使用量和总容量(单位:MB)") private String diskJson; - } diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectErrorLog.java b/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectErrorLog.java index 365150e..dede061 100644 --- a/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectErrorLog.java +++ b/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectErrorLog.java @@ -1,30 +1,29 @@ package com.docus.server.entity.scheduling.management; -import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.docus.server.enums.RetryTaskEnum; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import com.docus.server.enums.*; +import java.io.Serializable; +import java.util.Date; /** -* -* 采集器异常日志 -* -* @author AutoGenerator -* @since 2023-07-15 -*/ + * 采集器异常日志 + * + * @author AutoGenerator + * @since 2023-07-15 + */ @Data @EqualsAndHashCode(callSuper = false) @TableName("sch_collect_error_log") -@ApiModel(value="SchCollectErrorLog对象", description="采集器异常日志") +@ApiModel(value = "SchCollectErrorLog对象", description = "采集器异常日志") public class SchCollectErrorLog implements Serializable { @ApiModelProperty(value = "主键") @@ -49,7 +48,7 @@ public class SchCollectErrorLog implements Serializable { @ApiModelProperty(value = "0:不是重试任务,1:是重试任务") @TableField("is_retry_task") - private String isRetryTask; + private RetryTaskEnum isRetryTask; @ApiModelProperty(value = "异常等级") @TableField("level") @@ -69,11 +68,13 @@ public class SchCollectErrorLog implements Serializable { @ApiModelProperty(value = "产生时间") @TableField("create_time") - private LocalDateTime createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; @ApiModelProperty(value = "更新时间") @TableField("update_time") - private LocalDateTime updateTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; } diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectRecordRetryLog.java b/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectRecordRetryLog.java index db30916..3e7d6f4 100644 --- a/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectRecordRetryLog.java +++ b/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchCollectRecordRetryLog.java @@ -65,6 +65,10 @@ public class SchCollectRecordRetryLog implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; + @ApiModelProperty(value = "任务耗时时间,单位:毫秒") + @TableField("elapsed_time") + private Long elapsedTime; + @ApiModelProperty(value = "任务详细信息") @TableField("task_detail_info") private String taskDetailInfo; diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchVirtualLog.java b/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchVirtualLog.java index 54c0a52..cd208fa 100644 --- a/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchVirtualLog.java +++ b/docus-client-interface/src/main/java/com/docus/server/entity/scheduling.management/SchVirtualLog.java @@ -1,30 +1,28 @@ package com.docus.server.entity.scheduling.management; -import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import com.docus.server.enums.*; +import java.io.Serializable; +import java.util.Date; /** -* -* 虚拟机使用情况 -* -* @author AutoGenerator -* @since 2023-07-15 -*/ + * 虚拟机使用情况 + * + * @author AutoGenerator + * @since 2023-07-15 + */ @Data @EqualsAndHashCode(callSuper = false) @TableName("sch_virtual_log") -@ApiModel(value="SchVirtualLog对象", description="虚拟机使用情况") +@ApiModel(value = "SchVirtualLog对象", description = "虚拟机使用情况") public class SchVirtualLog implements Serializable { @ApiModelProperty(value = "终端id") @@ -55,17 +53,18 @@ public class SchVirtualLog implements Serializable { @TableField("ip") private String ip; - @ApiModelProperty(value = "创建时间") - @TableField("create_time") - private LocalDateTime createTime; + @ApiModelProperty(value = "入库时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; - @ApiModelProperty(value = "更新时间") - @TableField("update_time") - private LocalDateTime updateTime; + @ApiModelProperty(value = "入库更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; @ApiModelProperty(value = "客户端创建时间") @TableField("client_time") - private LocalDateTime clientTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date clientTime; @ApiModelProperty(value = "多个磁盘大小(单位:MB),当前使用量和总容量(单位:MB)") @TableField("disk_json") diff --git a/docus-client-interface/src/main/java/com/docus/server/enums/RetryTaskEnum.java b/docus-client-interface/src/main/java/com/docus/server/enums/RetryTaskEnum.java new file mode 100644 index 0000000..f906cc3 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/enums/RetryTaskEnum.java @@ -0,0 +1,29 @@ +package com.docus.server.enums; + +import com.docus.infrastructure.core.db.enums.IIntegerEnum; + +public enum RetryTaskEnum implements IIntegerEnum { + + NO_RETRY_TASK(0, "不是重试任务"), + + RETRY_TASK(1, "是重试任务"); + + private Integer value; + private String display; + + RetryTaskEnum(Integer value, String display) { + this.value = value; + this.display = display; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String getDisplay() { + + return display; + } +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/scheduling.management/schcollecterrorlog/SchCollectErrorLogVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/scheduling.management/schcollecterrorlog/SchCollectErrorLogVO.java index febf46c..9253f50 100644 --- a/docus-client-interface/src/main/java/com/docus/server/vo/scheduling.management/schcollecterrorlog/SchCollectErrorLogVO.java +++ b/docus-client-interface/src/main/java/com/docus/server/vo/scheduling.management/schcollecterrorlog/SchCollectErrorLogVO.java @@ -3,23 +3,18 @@ package com.docus.server.vo.scheduling.management.schcollecterrorlog; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import com.docus.server.enums.*; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; /** -* -* 采集器异常日志 VO -* -* @author AutoGenerator -* @since 2023-07-15 -*/ + * 采集器异常日志 VO + * + * @author AutoGenerator + * @since 2023-07-15 + */ @Data -@ApiModel(value="SchCollectErrorLogVO对象", description="采集器异常日志") +@ApiModel(value = "SchCollectErrorLogVO对象", description = "采集器异常日志") public class SchCollectErrorLogVO implements Serializable { @ApiModelProperty(value = "主键") @@ -53,10 +48,10 @@ public class SchCollectErrorLogVO implements Serializable { private String screenPath; @ApiModelProperty(value = "产生时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty(value = "更新时间") - private LocalDateTime updateTime; + private Date updateTime; }