fix:1.解决运行日志分页查询bug
This commit is contained in:
parent
87e51675a3
commit
bbad39f6c5
|
|
@ -14,10 +14,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步记录表
|
* 同步记录表
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("stas_sync_record")
|
@TableName("stas_sync_record")
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,7 @@ import org.jeecg.modules.base.entity.StasSyncLog;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步日志信息
|
* 同步日志信息
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
public interface StasSyncLogMapper extends BaseMapper<StasSyncLog> {
|
public interface StasSyncLogMapper extends BaseMapper<StasSyncLog> {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,29 @@
|
||||||
package org.jeecg.modules.base.mapper;
|
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 org.jeecg.modules.base.entity.StasSyncRecord;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.jeecg.modules.base.vo.TaskStatsVO;
|
import org.jeecg.modules.base.vo.TaskStatsVO;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步记录表
|
* 同步记录表
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
public interface StasSyncRecordMapper extends BaseMapper<StasSyncRecord> {
|
public interface StasSyncRecordMapper extends BaseMapper<StasSyncRecord> {
|
||||||
List<TaskStatsVO> taskHistoryStats();
|
List<TaskStatsVO> taskHistoryStats();
|
||||||
List<TaskStatsVO> taskStatsDay(String startTime);
|
List<TaskStatsVO> taskStatsDay(String startTime);
|
||||||
List<TaskStatsVO> taskStatsMonth(String startTime);
|
List<TaskStatsVO> taskStatsMonth(String startTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询同步记录
|
||||||
|
* @param sourceId
|
||||||
|
* @param startTime
|
||||||
|
* @param endTime
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<Map<String,Object>> queryPageList(@Param("page") Page<StasSyncRecord> page, @Param("sourceId") String sourceId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,4 +52,28 @@
|
||||||
ORDER BY TO_CHAR(r.start_time, 'YYYY-MM') DESC, ta.task_name
|
ORDER BY TO_CHAR(r.start_time, 'YYYY-MM') DESC, ta.task_name
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryPageList" resultType="java.util.Map">
|
||||||
|
select
|
||||||
|
r.id,
|
||||||
|
t.task_name as "taskName",
|
||||||
|
src.instance_name as "sourceName",
|
||||||
|
target.instance_name as "targetName",
|
||||||
|
r.start_time as "startTime",
|
||||||
|
r.end_time as "endTime"
|
||||||
|
from stas_sync_record r
|
||||||
|
inner join stas_task_config t on t.id = r.task_id
|
||||||
|
inner join stas_data_source src on src.id = r.source_id
|
||||||
|
inner join stas_data_source target on target.id = r.target_id
|
||||||
|
<where>
|
||||||
|
<if test="sourceId != null and sourceId !=''">
|
||||||
|
r.source_id = #{sourceId}
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null and endTime != null">
|
||||||
|
and r.start_time >= #{startTime}
|
||||||
|
and r.end_time <= #{endTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by r.start_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -1,56 +1,39 @@
|
||||||
package org.jeecg.syncLog.controller;
|
package org.jeecg.syncLog.controller;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.system.query.QueryGenerator;
|
|
||||||
import org.jeecg.modules.base.entity.StasSyncLog;
|
import org.jeecg.modules.base.entity.StasSyncLog;
|
||||||
import org.jeecg.syncLog.service.IStasSyncLogService;
|
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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import org.jeecg.common.system.base.controller.JeecgController;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步日志信息
|
* 同步日志信息
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
@Tag(name="同步日志信息")
|
@Tag(name="同步日志信息")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/stasSyncLog")
|
@RequestMapping("/stasSyncLog")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class StasSyncLogController extends JeecgController<StasSyncLog, IStasSyncLogService> {
|
public class StasSyncLogController{
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IStasSyncLogService stasSyncLogService;
|
private IStasSyncLogService stasSyncLogService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
*
|
*
|
||||||
* @param stasSyncLog
|
* @param recordId
|
||||||
* @param pageNum
|
* @param pageNum
|
||||||
* @param pageSize
|
* @param pageSize
|
||||||
* @param req
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Operation(summary = "同步日志信息-分页列表查询")
|
@Operation(summary = "同步日志信息-分页列表查询")
|
||||||
@GetMapping(value = "/list")
|
@GetMapping(value = "/list")
|
||||||
public Result<IPage<StasSyncLog>> queryPageList(StasSyncLog stasSyncLog,
|
public Result<IPage<StasSyncLog>> queryPageList(String recordId, Integer pageNum, Integer pageSize) {
|
||||||
@RequestParam(name="pageNum", defaultValue="1") Integer pageNum,
|
IPage<StasSyncLog> pageList = stasSyncLogService.queryPageList(recordId, pageNum,pageSize);
|
||||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
|
||||||
HttpServletRequest req) {
|
|
||||||
QueryWrapper<StasSyncLog> queryWrapper = QueryGenerator.initQueryWrapper(stasSyncLog, req.getParameterMap());
|
|
||||||
queryWrapper.orderByAsc("start_time");
|
|
||||||
Page<StasSyncLog> page = new Page<StasSyncLog>(pageNum, pageSize);
|
|
||||||
IPage<StasSyncLog> pageList = stasSyncLogService.page(page, queryWrapper);
|
|
||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,22 @@
|
||||||
package org.jeecg.syncLog.service;
|
package org.jeecg.syncLog.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.jeecg.modules.base.entity.StasSyncLog;
|
import org.jeecg.modules.base.entity.StasSyncLog;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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<StasSyncLog> {
|
public interface IStasSyncLogService extends IService<StasSyncLog> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询同步日志
|
||||||
|
* @param recordId
|
||||||
|
* @param pageNum
|
||||||
|
* @param pageSize
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<StasSyncLog> queryPageList(String recordId, Integer pageNum, Integer pageSize);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,35 @@
|
||||||
package org.jeecg.syncLog.service.impl;
|
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.entity.StasSyncLog;
|
||||||
import org.jeecg.modules.base.mapper.StasSyncLogMapper;
|
import org.jeecg.modules.base.mapper.StasSyncLogMapper;
|
||||||
import org.jeecg.syncLog.service.IStasSyncLogService;
|
import org.jeecg.syncLog.service.IStasSyncLogService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步日志信息
|
* 同步日志信息
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class StasSyncLogServiceImpl extends ServiceImpl<StasSyncLogMapper, StasSyncLog> implements IStasSyncLogService {
|
public class StasSyncLogServiceImpl extends ServiceImpl<StasSyncLogMapper, StasSyncLog> implements IStasSyncLogService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询同步日志
|
||||||
|
*
|
||||||
|
* @param recordId
|
||||||
|
* @param pageNum
|
||||||
|
* @param pageSize
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<StasSyncLog> queryPageList(String recordId, Integer pageNum, Integer pageSize) {
|
||||||
|
LambdaQueryWrapper<StasSyncLog> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(StasSyncLog::getRecordId, recordId);
|
||||||
|
queryWrapper.orderByAsc(StasSyncLog::getStartTime);
|
||||||
|
|
||||||
|
IPage<StasSyncLog> page = new Page<>(pageNum, pageSize);
|
||||||
|
return this.baseMapper.selectPage(page, queryWrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,115 +1,49 @@
|
||||||
package org.jeecg.syncRecord.controller;
|
package org.jeecg.syncRecord.controller;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
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.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.StasSyncRecord;
|
||||||
import org.jeecg.modules.base.entity.StasTaskConfig;
|
|
||||||
import org.jeecg.syncRecord.service.IStasSyncRecordService;
|
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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import org.jeecg.common.system.base.controller.JeecgController;
|
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.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步记录表
|
* 同步记录表
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
@Tag(name="同步记录表")
|
@Tag(name="同步记录表")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/stasSyncRecord")
|
@RequestMapping("/stasSyncRecord")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class StasSyncRecordController extends JeecgController<StasSyncRecord, IStasSyncRecordService> {
|
public class StasSyncRecordController extends JeecgController<StasSyncRecord, IStasSyncRecordService> {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IStasSyncRecordService stasSyncRecordService;
|
private IStasSyncRecordService stasSyncRecordService;
|
||||||
@Autowired
|
|
||||||
private IStasDataSourceService stasDataSourceService;
|
|
||||||
@Autowired
|
|
||||||
private IStasTaskConfigService stasTaskConfigService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
*
|
*
|
||||||
* @param stasSyncRecord
|
* @param sourceId
|
||||||
* @param pageNo
|
* @param pageNum
|
||||||
* @param pageSize
|
* @param pageSize
|
||||||
* @param req
|
* @param startTime
|
||||||
|
* @param endTime
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
//@AutoLog(value = "同步记录表-分页列表查询")
|
|
||||||
@Operation(summary = "同步记录表-分页列表查询")
|
@Operation(summary = "同步记录表-分页列表查询")
|
||||||
@GetMapping(value = "/list")
|
@GetMapping(value = "/list")
|
||||||
public Result<IPage<SyncRecordVO>> queryPageList(StasSyncRecord stasSyncRecord,
|
public Result<?> queryPageList(String sourceId, Integer pageNum, Integer pageSize,
|
||||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime,
|
||||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime) {
|
||||||
HttpServletRequest req) {
|
IPage<Map<String,Object>> page = stasSyncRecordService.queryPageList(sourceId,pageNum,pageSize,startTime,endTime);
|
||||||
stasSyncRecord.setStartTime(null);
|
return Result.OK(page);
|
||||||
stasSyncRecord.setEndTime(null);
|
|
||||||
QueryWrapper<StasSyncRecord> 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<StasSyncRecord> page = new Page<>(pageNo, pageSize);
|
|
||||||
IPage<StasSyncRecord> pageList = stasSyncRecordService.page(page, queryWrapper);
|
|
||||||
List<StasSyncRecord> records = pageList.getRecords();
|
|
||||||
|
|
||||||
// 准备数据源和任务名称映射
|
|
||||||
Map<String, String> dataSourceMap = stasDataSourceService.list().stream()
|
|
||||||
.collect(Collectors.toMap(StasDataSource::getId, StasDataSource::getInstanceName));
|
|
||||||
Map<String, String> taskMap = stasTaskConfigService.list().stream()
|
|
||||||
.collect(Collectors.toMap(StasTaskConfig::getId, StasTaskConfig::getTaskName));
|
|
||||||
|
|
||||||
// 转换为VO列表
|
|
||||||
List<SyncRecordVO> 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<SyncRecordVO> resultPage = new Page<>();
|
|
||||||
BeanUtils.copyProperties(pageList, resultPage, "records");
|
|
||||||
resultPage.setRecords(syncRecordVOS);
|
|
||||||
|
|
||||||
return Result.OK(resultPage);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 历史同步数量统计
|
* 历史同步数量统计
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
package org.jeecg.syncRecord.service;
|
package org.jeecg.syncRecord.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.jeecg.modules.base.entity.StasSyncRecord;
|
import org.jeecg.modules.base.entity.StasSyncRecord;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.jeecg.syncRecord.vo.TaskHisStatsVO;
|
import org.jeecg.syncRecord.vo.TaskHisStatsVO;
|
||||||
import org.jeecg.syncRecord.vo.TaskStatsResultVO;
|
import org.jeecg.syncRecord.vo.TaskStatsResultVO;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步记录表
|
* @Description: 同步记录表
|
||||||
|
|
@ -19,4 +22,14 @@ public interface IStasSyncRecordService extends IService<StasSyncRecord> {
|
||||||
TaskStatsResultVO taskStatsDay();
|
TaskStatsResultVO taskStatsDay();
|
||||||
TaskStatsResultVO taskStatsMonth();
|
TaskStatsResultVO taskStatsMonth();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询同步日志
|
||||||
|
* @param sourceId
|
||||||
|
* @param pageNum
|
||||||
|
* @param pageSize
|
||||||
|
* @param startTime
|
||||||
|
* @param endTime
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<Map<String,Object>> queryPageList(String sourceId, Integer pageNum, Integer pageSize, LocalDateTime startTime, LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
package org.jeecg.syncRecord.service.impl;
|
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 lombok.RequiredArgsConstructor;
|
||||||
import org.jeecg.common.util.DateUtils;
|
|
||||||
import org.jeecg.modules.base.entity.StasSyncRecord;
|
import org.jeecg.modules.base.entity.StasSyncRecord;
|
||||||
import org.jeecg.modules.base.mapper.StasSyncRecordMapper;
|
import org.jeecg.modules.base.mapper.StasSyncRecordMapper;
|
||||||
import org.jeecg.modules.base.vo.TaskStatsVO;
|
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.TaskHisStatsVO;
|
||||||
import org.jeecg.syncRecord.vo.TaskStatsResultVO;
|
import org.jeecg.syncRecord.vo.TaskStatsResultVO;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 同步记录表
|
* 同步记录表
|
||||||
* @Author: jeecg-boot
|
|
||||||
* @Date: 2025-10-14
|
|
||||||
* @Version: V1.0
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
@ -97,6 +94,27 @@ public class StasSyncRecordServiceImpl extends ServiceImpl<StasSyncRecordMapper,
|
||||||
return taskStatsResultVO;
|
return taskStatsResultVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询同步日志
|
||||||
|
*
|
||||||
|
* @param sourceId
|
||||||
|
* @param pageNum
|
||||||
|
* @param pageSize
|
||||||
|
* @param startTime
|
||||||
|
* @param endTime
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<Map<String,Object>> 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<StasSyncRecord> page = new Page<>(pageNum, pageSize);
|
||||||
|
return this.baseMapper.queryPageList(page,sourceId,startTime,endTime);
|
||||||
|
}
|
||||||
|
|
||||||
public static List<String> getLastMonthDates() {
|
public static List<String> getLastMonthDates() {
|
||||||
List<String> dateList = new ArrayList<>();
|
List<String> dateList = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user