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,23 +43,27 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -42,23 +43,27 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void addAllBookAndAdviserToES() { public void addAllBookAndAdviserToES() {
Integer count = bookDao.count(); ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
LOGGER.info("总数:" + count); Integer count = bookDao.count();
if (null == count || count <= 0) { LOGGER.info("总数:" + count);
return; if (null == count || count <= 0) {
} return;
Long maxId = 0L;
Integer index = 0;
Integer offset = 10000;
while (index * offset < count) {
List<ESBookAndAdviser> list = bookDao.findAllBookAndAdviser(maxId, offset);
if (ListUtils.isEmpty(list)) {
break;
} }
bookAndAdviserRepository.save(list); Long maxId = 0L;
maxId = Long.valueOf(list.get(list.size() - 1).getBookId()); Integer index = 0;
index += 1; Integer offset = 10000;
} List<ESBookAndAdviser> list;
while (index * offset < count) {
list = bookDao.findAllBookAndAdviser(maxId, offset);
if (ListUtils.isEmpty(list)) {
break;
}
bookAndAdviserRepository.save(list);
maxId = Long.valueOf(list.get(list.size() - 1).getBookId());
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