feat: 修改数据刷新逻辑
This commit is contained in:
parent
9580a44252
commit
000fb277c3
@ -68,7 +68,7 @@ public class UpdateOuIdJob extends IJobHandler {
|
||||
ouIdMigrateService.migrate(page.getList());
|
||||
}
|
||||
|
||||
if (!hasNext(page)) {
|
||||
if (!UpdateRouterJob.hasNext(page)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -115,23 +115,6 @@ public class UpdateOuIdJob extends IJobHandler {
|
||||
pendingMessageRecordDao.updateBatchById(updatePendingMessageRecords2);
|
||||
}
|
||||
|
||||
private <T> boolean hasNext(Page<T> page) {
|
||||
return page.getPageNum() < this.getPages(page);
|
||||
}
|
||||
|
||||
private <T> long getPages(Page<T> page) {
|
||||
if (page.getTotalElements() == 0L) {
|
||||
return 0L;
|
||||
} else {
|
||||
long pages = page.getTotalElements() / page.getPageSize();
|
||||
if (page.getTotalElements() % page.getPageSize() != 0L) {
|
||||
++pages;
|
||||
}
|
||||
return pages;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
package cn.axzo.msg.center.message.xxl;
|
||||
|
||||
import cn.axzo.basics.profiles.api.UserProfileServiceApi;
|
||||
import cn.axzo.basics.profiles.dto.basic.IdentityProfileDto;
|
||||
import cn.axzo.basics.profiles.dto.request.QueryIdentityProfileDto;
|
||||
import cn.axzo.msg.center.dal.PendingMessageRecordDao;
|
||||
import cn.axzo.msg.center.domain.entity.PendingMessageRecord;
|
||||
import cn.axzo.msg.center.inside.notices.service.PendingMessageRecordService;
|
||||
@ -16,10 +14,10 @@ import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
@ -76,15 +74,19 @@ public class UpdateRouterJob extends IJobHandler {
|
||||
if (CollectionUtils.isNotEmpty(page.getList())) {
|
||||
|
||||
List<PendingMessageRecord> pendingMessageRecords = page.getList().stream()
|
||||
.map(record -> {
|
||||
PendingMessageRecord pendingMessageRecord = new PendingMessageRecord();
|
||||
pendingMessageRecord.setId(record.getId());
|
||||
pendingMessageRecord.setRouterParams(record.mergeRouterParams(PendingMessageRecord.RouterParams.builder()
|
||||
.workspaceId(record.getOrgId())
|
||||
.ouId(record.getOuId())
|
||||
.build()));
|
||||
return pendingMessageRecord;
|
||||
}).collect(Collectors.toList());
|
||||
.filter(pendingMessageRecord -> {
|
||||
PendingMessageRecord.RouterParams routerParams = pendingMessageRecord.resolveRouterParams();
|
||||
return StringUtils.isBlank(routerParams.getOuId()) && StringUtils.isBlank(routerParams.getWorkspaceId());
|
||||
})
|
||||
.map(record -> {
|
||||
PendingMessageRecord pendingMessageRecord = new PendingMessageRecord();
|
||||
pendingMessageRecord.setId(record.getId());
|
||||
pendingMessageRecord.setRouterParams(record.mergeRouterParams(PendingMessageRecord.RouterParams.builder()
|
||||
.workspaceId(record.getOrgId().toString())
|
||||
.ouId(record.getOuId().toString())
|
||||
.build()));
|
||||
return pendingMessageRecord;
|
||||
}).collect(Collectors.toList());
|
||||
pendingMessageRecordDao.updateBatchById(pendingMessageRecords);
|
||||
}
|
||||
|
||||
@ -96,49 +98,12 @@ public class UpdateRouterJob extends IJobHandler {
|
||||
return ReturnT.SUCCESS;
|
||||
}
|
||||
|
||||
private void updateExecutorPerson(List<PendingMessageRecord> pendingMessageRecords) {
|
||||
|
||||
List<PendingMessageRecord> updatePendingMessageRecords = pendingMessageRecords.stream()
|
||||
.filter(pendingMessageRecord -> pendingMessageRecord.getExecutorPersonId() == null
|
||||
|| pendingMessageRecord.getExecutorPersonId() == 0)
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(updatePendingMessageRecords)) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<PendingMessageRecord> updatePendingMessageRecords2 = Lists.newArrayList();
|
||||
// 根据executorId和executorType 解析对应的executorPerson
|
||||
for (PendingMessageRecord record : updatePendingMessageRecords) {
|
||||
|
||||
List<Long> identityIds = Lists.newArrayList();
|
||||
identityIds.add(record.getExecutorId());
|
||||
IdentityProfileDto identityProfileDto = userProfileServiceApi.getIdentityProfileDto(QueryIdentityProfileDto.builder()
|
||||
.identityIds(identityIds)
|
||||
.IdentityType(record.getExecutorType().getCode())
|
||||
.build())
|
||||
.getData()
|
||||
.stream()
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (identityProfileDto == null) {
|
||||
log.info("identityProfileDto not found: ", record.getExecutorId(), record.getExecutorType());
|
||||
return;
|
||||
}
|
||||
PendingMessageRecord pendingMessageRecord = new PendingMessageRecord();
|
||||
pendingMessageRecord.setId(record.getId());
|
||||
pendingMessageRecord.setUpdateAt(new Date());
|
||||
pendingMessageRecord.setExecutorPersonId(identityProfileDto.getPersonProfile().getId());
|
||||
pendingMessageRecord.setExecutorName(identityProfileDto.getPersonProfile().getRealName());
|
||||
updatePendingMessageRecords2.add(pendingMessageRecord);
|
||||
};
|
||||
pendingMessageRecordDao.updateBatchById(updatePendingMessageRecords2);
|
||||
// page工具后续有统计的提供,所以放这里
|
||||
public static <T> boolean hasNext(Page<T> page) {
|
||||
return page.getPageNum() < getPages(page);
|
||||
}
|
||||
|
||||
private <T> boolean hasNext(Page<T> page) {
|
||||
return page.getPageNum() < this.getPages(page);
|
||||
}
|
||||
|
||||
private <T> long getPages(Page<T> page) {
|
||||
public static <T> long getPages(Page<T> page) {
|
||||
if (page.getTotalElements() == 0L) {
|
||||
return 0L;
|
||||
} else {
|
||||
|
||||
@ -171,13 +171,20 @@ public class PendingMessageRecord extends BaseEntityExt<PendingMessageRecord> im
|
||||
return jsonObject.toJSONString();
|
||||
}
|
||||
|
||||
public RouterParams resolveRouterParams() {
|
||||
JSONObject jsonObject = Optional.ofNullable(this.getRouterParams())
|
||||
.map(JSON::parseObject)
|
||||
.orElseGet(JSONObject::new);
|
||||
return JSONObject.toJavaObject(jsonObject, RouterParams.class);
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RouterParams {
|
||||
private Long workspaceId;
|
||||
private String workspaceId;
|
||||
|
||||
private Long ouId;
|
||||
private String ouId;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user