Commit 0ec651f1 authored by 王亮's avatar 王亮

add user tag clean job.

parent 71424b07
...@@ -33,8 +33,11 @@ public class UserTagLoginEventListener implements ApplicationListener<UserLoginE ...@@ -33,8 +33,11 @@ public class UserTagLoginEventListener implements ApplicationListener<UserLoginE
preTag = userTag; preTag = userTag;
} }
//创建时间,如果有了,不再更新
if (userTag.getCreatedAt() == null) {
preTag.setCreatedAt(LocalDateTime.now());
}
preTag.setCreatedAt(userTag.getCreatedAt() == null ? LocalDateTime.now() : userTag.getCreatedAt());
preTag.setUpdatedAt(userTag.getUpdatedAt() == null ? LocalDateTime.now() : userTag.getUpdatedAt()); preTag.setUpdatedAt(userTag.getUpdatedAt() == null ? LocalDateTime.now() : userTag.getUpdatedAt());
userTagRepository.save(preTag); userTagRepository.save(preTag);
......
package cn.quantgroup.xyqb.xxlJob;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserTag;
import cn.quantgroup.xyqb.repository.IUserRepository;
import cn.quantgroup.xyqb.repository.IUserTagRepository;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
/**
* 第一次上线对历史数据清理程序
*/
@Component
@JobHandler(value = "UserTagCleanJobHandler")
public class UserTagCleanJobHandler extends IJobHandler {
@Autowired
private IUserRepository userRepository;
@Autowired
private IUserTagRepository userTagRepository;
@Override
public ReturnT<String> execute(String param) throws Exception {
Pageable pageable = new PageRequest(0, 500);
Page<User> userPage = userRepository.findAll(pageable);
while (CollectionUtils.isNotEmpty(userPage.getContent())) {
List<UserTag> userTagList = userPage.getContent().stream().map(user -> {
UserTag userTag = UserTag.builder()
.userId(user.getId()).registeredFrom(user.getRegisteredFrom()).tenantId(user.getTenantId())
.build();
userTag.setCreatedAt(user.getCreatedAt());
userTag.setUpdatedAt(user.getUpdatedAt());
return userTag;
}).collect(Collectors.toList());
userTagRepository.save(userTagList);
pageable = new PageRequest(pageable.getPageNumber() + 1, pageable.getPageSize());
userPage = userRepository.findAll(pageable);
}
return null;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment