From bbad39f6c5a27dc5bb45e49b815e98396de3661a Mon Sep 17 00:00:00 2001 From: panbaolin Date: Tue, 2 Jun 2026 16:11:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:1.=E8=A7=A3=E5=86=B3=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/base/entity/StasSyncRecord.java | 5 +- .../base/mapper/StasSyncLogMapper.java | 5 +- .../base/mapper/StasSyncRecordMapper.java | 21 +++-- .../base/mapper/xml/StasSyncRecordMapper.xml | 24 +++++ .../controller/StasSyncLogController.java | 31 ++----- .../syncLog/service/IStasSyncLogService.java | 16 +++- .../service/impl/StasSyncLogServiceImpl.java | 26 ++++-- .../controller/StasSyncRecordController.java | 92 +++---------------- .../service/IStasSyncRecordService.java | 13 +++ .../impl/StasSyncRecordServiceImpl.java | 32 +++++-- .../org/jeecg/syncRecord/vo/SyncRecordVO.java | 42 --------- 11 files changed, 131 insertions(+), 176 deletions(-) delete mode 100644 jeecg-module-sync/src/main/java/org/jeecg/syncRecord/vo/SyncRecordVO.java diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/StasSyncRecord.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/StasSyncRecord.java index 827c58b..7a3009f 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/StasSyncRecord.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/StasSyncRecord.java @@ -14,10 +14,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * @Description: 同步记录表 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步记录表 */ @Data @TableName("stas_sync_record") diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncLogMapper.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncLogMapper.java index f4f3dd3..8fe9ecf 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncLogMapper.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncLogMapper.java @@ -4,10 +4,7 @@ import org.jeecg.modules.base.entity.StasSyncLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** - * @Description: 同步日志信息 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步日志信息 */ public interface StasSyncLogMapper extends BaseMapper { diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncRecordMapper.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncRecordMapper.java index 1ef9ab1..143717e 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncRecordMapper.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/StasSyncRecordMapper.java @@ -1,20 +1,29 @@ package org.jeecg.modules.base.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.base.entity.StasSyncRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.base.vo.TaskStatsVO; - -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** - * @Description: 同步记录表 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步记录表 */ public interface StasSyncRecordMapper extends BaseMapper { List taskHistoryStats(); List taskStatsDay(String startTime); List taskStatsMonth(String startTime); + + /** + * 分页查询同步记录 + * @param sourceId + * @param startTime + * @param endTime + * @return + */ + IPage> queryPageList(@Param("page") Page page, @Param("sourceId") String sourceId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime); } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/StasSyncRecordMapper.xml b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/StasSyncRecordMapper.xml index ad5ae76..27789c8 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/StasSyncRecordMapper.xml +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/StasSyncRecordMapper.xml @@ -52,4 +52,28 @@ ORDER BY TO_CHAR(r.start_time, 'YYYY-MM') DESC, ta.task_name + + \ No newline at end of file diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncLog/controller/StasSyncLogController.java b/jeecg-module-sync/src/main/java/org/jeecg/syncLog/controller/StasSyncLogController.java index afc8193..40ee3a4 100644 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncLog/controller/StasSyncLogController.java +++ b/jeecg-module-sync/src/main/java/org/jeecg/syncLog/controller/StasSyncLogController.java @@ -1,56 +1,39 @@ package org.jeecg.syncLog.controller; -import jakarta.servlet.http.HttpServletRequest; - import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.base.entity.StasSyncLog; import org.jeecg.syncLog.service.IStasSyncLogService; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; - -import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; - /** - * @Description: 同步日志信息 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 +/** + * 同步日志信息 */ @Tag(name="同步日志信息") @RestController @RequestMapping("/stasSyncLog") @Slf4j -public class StasSyncLogController extends JeecgController { +public class StasSyncLogController{ + @Autowired private IStasSyncLogService stasSyncLogService; /** * 分页列表查询 * - * @param stasSyncLog + * @param recordId * @param pageNum * @param pageSize - * @param req * @return */ @Operation(summary = "同步日志信息-分页列表查询") @GetMapping(value = "/list") - public Result> queryPageList(StasSyncLog stasSyncLog, - @RequestParam(name="pageNum", defaultValue="1") Integer pageNum, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(stasSyncLog, req.getParameterMap()); - queryWrapper.orderByAsc("start_time"); - Page page = new Page(pageNum, pageSize); - IPage pageList = stasSyncLogService.page(page, queryWrapper); + public Result> queryPageList(String recordId, Integer pageNum, Integer pageSize) { + IPage pageList = stasSyncLogService.queryPageList(recordId, pageNum,pageSize); return Result.OK(pageList); } diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/IStasSyncLogService.java b/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/IStasSyncLogService.java index 8e66cc0..6a6733e 100644 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/IStasSyncLogService.java +++ b/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/IStasSyncLogService.java @@ -1,14 +1,22 @@ package org.jeecg.syncLog.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.jeecg.modules.base.entity.StasSyncLog; import com.baomidou.mybatisplus.extension.service.IService; +import java.time.LocalDateTime; + /** - * @Description: 同步日志信息 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步日志信息 */ public interface IStasSyncLogService extends IService { + /** + * 分页查询同步日志 + * @param recordId + * @param pageNum + * @param pageSize + * @return + */ + IPage queryPageList(String recordId, Integer pageNum, Integer pageSize); } diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/impl/StasSyncLogServiceImpl.java b/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/impl/StasSyncLogServiceImpl.java index 7c70990..fc976f3 100644 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/impl/StasSyncLogServiceImpl.java +++ b/jeecg-module-sync/src/main/java/org/jeecg/syncLog/service/impl/StasSyncLogServiceImpl.java @@ -1,21 +1,35 @@ package org.jeecg.syncLog.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.base.entity.StasSyncLog; import org.jeecg.modules.base.mapper.StasSyncLogMapper; import org.jeecg.syncLog.service.IStasSyncLogService; import org.springframework.stereotype.Service; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** - * @Description: 同步日志信息 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步日志信息 */ @Service public class StasSyncLogServiceImpl extends ServiceImpl implements IStasSyncLogService { + /** + * 分页查询同步日志 + * + * @param recordId + * @param pageNum + * @param pageSize + * @return + */ + @Override + public IPage queryPageList(String recordId, Integer pageNum, Integer pageSize) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StasSyncLog::getRecordId, recordId); + queryWrapper.orderByAsc(StasSyncLog::getStartTime); - + IPage page = new Page<>(pageNum, pageSize); + return this.baseMapper.selectPage(page, queryWrapper); + } } diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/controller/StasSyncRecordController.java b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/controller/StasSyncRecordController.java index c69e5e2..9239a16 100644 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/controller/StasSyncRecordController.java +++ b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/controller/StasSyncRecordController.java @@ -1,116 +1,50 @@ package org.jeecg.syncRecord.controller; -import jakarta.servlet.http.HttpServletRequest; - import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.dataSource.service.IStasDataSourceService; -import org.jeecg.modules.base.entity.StasDataSource; import org.jeecg.modules.base.entity.StasSyncRecord; -import org.jeecg.modules.base.entity.StasTaskConfig; import org.jeecg.syncRecord.service.IStasSyncRecordService; -import org.jeecg.syncRecord.vo.SyncRecordVO; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; - import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.taskConfig.service.IStasTaskConfigService; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.time.LocalDateTime; import java.util.Map; -import java.util.stream.Collectors; /** - * @Description: 同步记录表 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步记录表 */ @Tag(name="同步记录表") @RestController @RequestMapping("/stasSyncRecord") @Slf4j public class StasSyncRecordController extends JeecgController { + @Autowired private IStasSyncRecordService stasSyncRecordService; - @Autowired - private IStasDataSourceService stasDataSourceService; - @Autowired - private IStasTaskConfigService stasTaskConfigService; /** * 分页列表查询 * - * @param stasSyncRecord - * @param pageNo + * @param sourceId + * @param pageNum * @param pageSize - * @param req + * @param startTime + * @param endTime * @return */ - //@AutoLog(value = "同步记录表-分页列表查询") @Operation(summary = "同步记录表-分页列表查询") @GetMapping(value = "/list") - public Result> queryPageList(StasSyncRecord stasSyncRecord, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - stasSyncRecord.setStartTime(null); - stasSyncRecord.setEndTime(null); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(stasSyncRecord, req.getParameterMap()); - - // 处理开始时间区间查询 - String beginStartTime = req.getParameter("startTime"); - String endStartTime = req.getParameter("endTime"); - if (StringUtils.isNotBlank(beginStartTime)) { - queryWrapper.ge("start_time", beginStartTime); - } - if (StringUtils.isNotBlank(endStartTime)) { - queryWrapper.le("start_time", endStartTime); - } - - queryWrapper.orderByAsc("start_time"); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = stasSyncRecordService.page(page, queryWrapper); - List records = pageList.getRecords(); - - // 准备数据源和任务名称映射 - Map dataSourceMap = stasDataSourceService.list().stream() - .collect(Collectors.toMap(StasDataSource::getId, StasDataSource::getInstanceName)); - Map taskMap = stasTaskConfigService.list().stream() - .collect(Collectors.toMap(StasTaskConfig::getId, StasTaskConfig::getTaskName)); - - // 转换为VO列表 - List syncRecordVOS = records.stream().map(record -> { - SyncRecordVO vo = new SyncRecordVO(); - vo.setId(record.getId()); - vo.setTaskName(taskMap.get(record.getTaskId())); - vo.setSourceName(dataSourceMap.get(record.getSourceId())); - vo.setTargetName(dataSourceMap.get(record.getTargetId())); - vo.setStartTime(record.getStartTime()); - vo.setEndTime(record.getEndTime()); - return vo; - }).collect(Collectors.toList()); - - // 创建新的分页对象 - Page resultPage = new Page<>(); - BeanUtils.copyProperties(pageList, resultPage, "records"); - resultPage.setRecords(syncRecordVOS); - - return Result.OK(resultPage); + public Result queryPageList(String sourceId, Integer pageNum, Integer pageSize, + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime, + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime) { + IPage> page = stasSyncRecordService.queryPageList(sourceId,pageNum,pageSize,startTime,endTime); + return Result.OK(page); } - /** * 历史同步数量统计 * @return diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/IStasSyncRecordService.java b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/IStasSyncRecordService.java index af64a4a..dce584c 100644 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/IStasSyncRecordService.java +++ b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/IStasSyncRecordService.java @@ -1,11 +1,14 @@ package org.jeecg.syncRecord.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.jeecg.modules.base.entity.StasSyncRecord; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.syncRecord.vo.TaskHisStatsVO; import org.jeecg.syncRecord.vo.TaskStatsResultVO; +import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** * @Description: 同步记录表 @@ -19,4 +22,14 @@ public interface IStasSyncRecordService extends IService { TaskStatsResultVO taskStatsDay(); TaskStatsResultVO taskStatsMonth(); + /** + * 分页查询同步日志 + * @param sourceId + * @param pageNum + * @param pageSize + * @param startTime + * @param endTime + * @return + */ + IPage> queryPageList(String sourceId, Integer pageNum, Integer pageSize, LocalDateTime startTime, LocalDateTime endTime); } diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/impl/StasSyncRecordServiceImpl.java b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/impl/StasSyncRecordServiceImpl.java index ab3fe7e..d1b3520 100644 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/impl/StasSyncRecordServiceImpl.java +++ b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/service/impl/StasSyncRecordServiceImpl.java @@ -1,7 +1,8 @@ package org.jeecg.syncRecord.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; -import org.jeecg.common.util.DateUtils; import org.jeecg.modules.base.entity.StasSyncRecord; import org.jeecg.modules.base.mapper.StasSyncRecordMapper; import org.jeecg.modules.base.vo.TaskStatsVO; @@ -9,19 +10,15 @@ import org.jeecg.syncRecord.service.IStasSyncRecordService; import org.jeecg.syncRecord.vo.TaskHisStatsVO; import org.jeecg.syncRecord.vo.TaskStatsResultVO; import org.springframework.stereotype.Service; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; /** - * @Description: 同步记录表 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 + * 同步记录表 */ @Service @RequiredArgsConstructor @@ -97,6 +94,27 @@ public class StasSyncRecordServiceImpl extends ServiceImpl> queryPageList(String sourceId, Integer pageNum, Integer pageSize, LocalDateTime startTime, LocalDateTime endTime) { + if(Objects.nonNull(startTime)){ + startTime = startTime.withHour(0).withMinute(0).withSecond(0); + } + if(Objects.nonNull(endTime)){ + endTime = endTime.withHour(23).withMinute(59).withSecond(59); + } + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.queryPageList(page,sourceId,startTime,endTime); + } public static List getLastMonthDates() { List dateList = new ArrayList<>(); diff --git a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/vo/SyncRecordVO.java b/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/vo/SyncRecordVO.java deleted file mode 100644 index 9becde4..0000000 --- a/jeecg-module-sync/src/main/java/org/jeecg/syncRecord/vo/SyncRecordVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.jeecg.syncRecord.vo; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import org.jeecgframework.poi.excel.annotation.Excel; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; - -/** - * @Description: 同步记录表 - * @Author: jeecg-boot - * @Date: 2025-10-14 - * @Version: V1.0 - */ -@Data -public class SyncRecordVO implements Serializable { - private static final long serialVersionUID = 1L; - - /**任务名称*/ - private String id; - /**任务名称*/ - private String taskName; - /**源库名称*/ - private String sourceName; - /**目标库名称*/ - private String targetName; - /**开始时间*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - private Date startTime; - /**结束时间*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - private Date endTime; -}