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