Commit 56ab754a by 阮思源

换成异步

parent 63549fd8
...@@ -4,6 +4,7 @@ import com.pcloud.book.book.dao.BookDao; ...@@ -4,6 +4,7 @@ import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.es.biz.ESBookAndAdviserBiz; import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import com.pcloud.book.es.entity.ESBookAndAdviser; import com.pcloud.book.es.entity.ESBookAndAdviser;
import com.pcloud.book.es.repository.BookAndAdviserRepository; import com.pcloud.book.es.repository.BookAndAdviserRepository;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
...@@ -42,6 +43,7 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -42,6 +43,7 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void addAllBookAndAdviserToES() { public void addAllBookAndAdviserToES() {
ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
Integer count = bookDao.count(); Integer count = bookDao.count();
LOGGER.info("总数:" + count); LOGGER.info("总数:" + count);
if (null == count || count <= 0) { if (null == count || count <= 0) {
...@@ -50,15 +52,18 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -50,15 +52,18 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
Long maxId = 0L; Long maxId = 0L;
Integer index = 0; Integer index = 0;
Integer offset = 10000; Integer offset = 10000;
List<ESBookAndAdviser> list;
while (index * offset < count) { while (index * offset < count) {
List<ESBookAndAdviser> list = bookDao.findAllBookAndAdviser(maxId, offset); list = bookDao.findAllBookAndAdviser(maxId, offset);
if (ListUtils.isEmpty(list)) { if (ListUtils.isEmpty(list)) {
break; break;
} }
bookAndAdviserRepository.save(list); bookAndAdviserRepository.save(list);
maxId = Long.valueOf(list.get(list.size() - 1).getBookId()); maxId = Long.valueOf(list.get(list.size() - 1).getBookId());
index += 1; index += 1;
list.clear();
} }
});
} }
@ParamLog("更新书和编辑书") @ParamLog("更新书和编辑书")
......
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