From dd1ecdf37bcb0ea6394626f1027979a0d3b769f5 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 8 May 2024 11:41:40 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2448:=20=E8=BF=81=E7=A7=BB=E8=80=81?= =?UTF-8?q?=E7=9A=84=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/message/xxl/MigrateOldMsgHotDataJob.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/xxl/MigrateOldMsgHotDataJob.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/xxl/MigrateOldMsgHotDataJob.java index 7c9e0411..be29b3f2 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/xxl/MigrateOldMsgHotDataJob.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/xxl/MigrateOldMsgHotDataJob.java @@ -2,11 +2,13 @@ package cn.axzo.msg.center.message.xxl; import cn.axzo.msg.center.dal.mapper.MessageRecordMapper; import cn.axzo.msg.center.domain.entity.MessageRecord; +import cn.axzo.msg.center.domain.persistence.BaseEntity; import cn.axzo.msg.center.inside.notices.utils.FunctionalTransactionTemplate; import cn.axzo.msg.center.message.service.todo.mybatis.ReplaceInterceptor; import cn.axzo.msg.center.message.service.todo.mybatis.Replacement; import cn.axzo.msg.center.utils.DateFormatUtil; import cn.axzo.msg.center.utils.JSONObjectUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import com.xxl.job.core.biz.model.ReturnT; @@ -62,7 +64,7 @@ public class MigrateOldMsgHotDataJob extends IJobHandler { for (Page page : pages) { ++currentPage; // 由于会删除数据, 总页数会变化, 所以只取第一次的总页数才是对的 - if (totalPage == 0) totalPage = (int)page.getPages(); + if (totalPage == 0) totalPage = (int) page.getPages(); log.info("migrating page={}, total page={}", currentPage, totalPage); for (List batch : Lists.partition(page.getRecords(), param.saveBatch)) { totalRecordCount += batch.size(); @@ -77,6 +79,12 @@ public class MigrateOldMsgHotDataJob extends IJobHandler { ReplaceInterceptor.enable(Replacement.TO_MESSAGE_RECORD_COLD); try { messageRecordMapper.batchInsertWithId(records); + } catch (Exception e) { + List ids = records.stream() + .map(BaseEntity::getId).collect(toList()); + log.warn("migrate records failed, recordIds={}, records={}", + JSON.toJSONString(ids), JSON.toJSONString(records), e); + throw e; } finally { ReplaceInterceptor.disable(); }