perf(index): 首页优化

This commit is contained in:
xiongxiaoyang 2021-07-03 11:49:01 +08:00
parent c4db754d23
commit 9b3ba1d8c1
2 changed files with 11 additions and 28 deletions

View File

@ -10,6 +10,7 @@ import com.java2nb.novel.service.BookService;
import com.java2nb.novel.service.NewsService;
import com.java2nb.novel.service.UserService;
import com.java2nb.novel.vo.BookCommentVO;
import com.java2nb.novel.vo.BookSettingVO;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@ -23,6 +24,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadPoolExecutor;
@ -78,9 +80,15 @@ public class PageController extends BaseController {
/**
* 首页
*/
@SneakyThrows
@RequestMapping(path = {"/", "/index", "/index.html"})
public String index(Model model) {
model.addAttribute("bookMap", bookService.listBookSettingVO());
//加载小说首页小说基本信息线程
CompletableFuture<Map<Byte, List<BookSettingVO>>> bookCompletableFuture = CompletableFuture.supplyAsync(bookService::listBookSettingVO, threadPoolExecutor);
//加载首页新闻线程
CompletableFuture<List<News>> newsCompletableFuture = CompletableFuture.supplyAsync(newsService::listIndexNews, threadPoolExecutor);
model.addAttribute("bookMap", bookCompletableFuture.get());
model.addAttribute("newsList", newsCompletableFuture.get());
return ThreadLocalUtil.getTemplateDir() + "index";
}

View File

@ -45,6 +45,8 @@
</dl>
<dl class="hot_notice" id="indexNews">
<dd style="text-align:left;" th:each="news : ${newsList}"><span th:text="'['+${news.catName}+']'"></span><a th:href="'/about/newsInfo-'+${news.id}+'.html'" th:utext="${news.title}"></a>
</dd>
</dl>
</div>
@ -230,33 +232,6 @@
lazyload();
$(function () {
//首页新闻查询
$.ajax({
type: "get",
url: "/news/listIndexNews",
data: {},
dataType: "json",
success: function (data) {
if (data.code == 200) {
var indexNewsList = data.data;
var indexNewsHtml = "";
for (var i = 0; i < indexNewsList.length; i++) {
var indexNews = indexNewsList[i];
indexNewsHtml += ("<dd style=\"text-align:left;\"><span>[" + indexNews.catName + "]</span><a\n" +
" href=\"/about/newsInfo-" + indexNews.id + ".html\">" + indexNews.title + "</a>\n" +
" </dd>");
}
$("#indexNews").html(indexNewsHtml);
} else {
layer.alert(data.msg);
}
},
error: function () {
layer.alert('网络异常');
}
})
//点击榜单数据查询
$.ajax({