feat(REQ-1507): 老的待办数据迁移

背景:
  https://jira.axzo.cn/browse/REQ-1507?goToView=1

影响:
  无
This commit is contained in:
luofu 2023-11-20 10:09:05 +08:00
parent 38cb34c4f5
commit f9451ddac2

View File

@ -31,9 +31,6 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.UUID;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -68,39 +65,35 @@ public class PendingMessageDataInitServiceImpl implements PendingMessageDataInit
.ge(MessageRecord::getCreateAt, DateFormatUtil.toDate(queryFrom)) .ge(MessageRecord::getCreateAt, DateFormatUtil.toDate(queryFrom))
.between(MessageRecord::getId, minRecordId, scrollId) .between(MessageRecord::getId, minRecordId, scrollId)
.orderByDesc(MessageRecord::getId) .orderByDesc(MessageRecord::getId)
.last("LIMIT 1000")
.list(); .list();
// while (!records.isEmpty()) { while (!records.isEmpty()) {
String profile = environment.getProperty("spring.profiles.active"); String profile = environment.getProperty("spring.profiles.active");
if ("test".equals(profile) || "master".equals(profile)) { if ("test".equals(profile) || "master".equals(profile)) {
batchSavePendingMessage(records); batchSavePendingMessage(records);
} else { } else {
log.warn("目前只有测试test环境和生产master环境支持该操作"); log.warn("目前只有测试test环境和生产master环境支持该操作");
}
scrollId = records.stream().min(Comparator.comparing(MessageRecord::getId))
.map(MessageRecord::getId).orElse(0L);
records = messageRecordDao.lambdaQuery()
.eq(MessageRecord::getType, MsgTypeEnum.PENDING_MESSAGE)
.eq(MessageRecord::getIsDelete, YesNoEnum.NO.getCode())
.ge(MessageRecord::getCreateAt, DateFormatUtil.toDate(queryFrom))
.between(MessageRecord::getId, minRecordId, scrollId)
.orderByDesc(MessageRecord::getId)
.last("LIMIT 1000")
.list();
} }
// scrollId = records.stream().min(Comparator.comparing(MessageRecord::getId))
// .map(MessageRecord::getId).orElse(0L);
// records = messageRecordDao.lambdaQuery()
// .eq(MessageRecord::getType, MsgTypeEnum.PENDING_MESSAGE)
// .eq(MessageRecord::getIsDelete, YesNoEnum.NO.getCode())
// .ge(MessageRecord::getCreateAt, DateFormatUtil.toDate(queryFrom))
// //.between(MessageRecord::getId, minRecordId, scrollId)
// //modify by zuoqinbo
// .between(MessageRecord::getId, scrollId, Long.MAX_VALUE)
// .orderByDesc(MessageRecord::getId)
// .list();
// }
} }
private void batchSavePendingMessage(List<MessageRecord> records) { private void batchSavePendingMessage(List<MessageRecord> records) {
// TODO: [zuoqinbo]
if (CollectionUtils.isEmpty(records)) { if (CollectionUtils.isEmpty(records)) {
return; return;
} }
List<PendingMessageRecord> pendingMessageRecords = records.stream().map(new Function<MessageRecord, PendingMessageRecord>() { List<PendingMessageRecord> pendingMessageRecords = records.stream()
@Override .map(this::convert)
public PendingMessageRecord apply(MessageRecord messageRecord) { .collect(Collectors.toList());
return convert(messageRecord);
}
}).collect(Collectors.toList());
//批量插入数据库 //批量插入数据库
pendingMessageRecordDao.saveOrUpdateBatch(pendingMessageRecords); pendingMessageRecordDao.saveOrUpdateBatch(pendingMessageRecords);
} }
@ -129,7 +122,6 @@ public class PendingMessageDataInitServiceImpl implements PendingMessageDataInit
pendingMsgRecord.setOuId(record.getTenantId()); pendingMsgRecord.setOuId(record.getTenantId());
pendingMsgRecord.setBizCategory(BizCategoryEnum.OTHER); pendingMsgRecord.setBizCategory(BizCategoryEnum.OTHER);
pendingMsgRecord.setFailCause(String.valueOf(record.getId())); pendingMsgRecord.setFailCause(String.valueOf(record.getId()));
//
pendingMsgRecord.setIdentityCode(UUIDUtil.uuidString()); pendingMsgRecord.setIdentityCode(UUIDUtil.uuidString());
pendingMsgRecord.setCreateAt(record.getCreateAt()); pendingMsgRecord.setCreateAt(record.getCreateAt());
pendingMsgRecord.setUpdateAt(record.getUpdateAt()); pendingMsgRecord.setUpdateAt(record.getUpdateAt());