Commit 141e41db by 侯昆

添加图片

1 parent b67e47e8
......@@ -17,9 +17,12 @@ package com.dookay.cihai.app.controller.vo;
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.coral.common.core.utils.lang.CollectionUtils;
import io.swagger.models.auth.In;
import lombok.Data;
import org.apache.commons.lang3.tuple.MutableTriple;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -34,7 +37,7 @@ import java.util.stream.Collectors;
public class OneWayRelateVO {
private String word;
private Map<String, List<WordDomain>> relationByGroup;
private List<MutableTriple<Integer, String, List<WordDomain>>> relationByGroup;
public static OneWayRelateVO fromDomain(WordDomain word, List<RelationOneWayDomain> relations, List<WordDomain> relatedWords) {
OneWayRelateVO vo = new OneWayRelateVO();
......@@ -42,13 +45,18 @@ public class OneWayRelateVO {
if (CollectionUtils.isNotEmpty(relatedWords) &&
CollectionUtils.isNotEmpty(relations)) {
Map<String, List<RelationOneWayDomain>> map = relations.stream().collect(Collectors.groupingBy(RelationOneWayDomain::getGroupName));
HashMap<String, List<WordDomain>> relationByGroup = new HashMap<>(map.size());
List<MutableTriple<Integer, String, List<WordDomain>>> relationByGroup = new ArrayList<>();
for (Map.Entry<String, List<RelationOneWayDomain>> entry : map.entrySet()) {
List<Long> relatedIds = entry.getValue().stream().map(RelationOneWayDomain::getRelateWordId).collect(Collectors.toList());
List<WordDomain> words = relatedWords.stream().filter(w -> relatedIds.contains(w.getId())).collect(Collectors.toList());
relationByGroup.put(entry.getKey(), words);
MutableTriple<Integer, String, List<WordDomain>> triple = new MutableTriple<>();
triple.setLeft(entry.getValue().get(0).getGroupRank());
triple.setMiddle(entry.getKey());
triple.setRight(words);
relationByGroup.add(triple);
}
vo.setRelationByGroup(relationByGroup);
List<MutableTriple<Integer, String, List<WordDomain>>> sorted = relationByGroup.stream().sorted(Comparator.comparing(MutableTriple::getLeft)).collect(Collectors.toList());
vo.setRelationByGroup(sorted);
}
return vo;
}
......
......@@ -13,9 +13,9 @@
<script src="${ctx}/static/js/plugins/jquery.min.js"></script>
<script src="${ctx}/static/js/vendor.js" merge="true"></script>
<script>
$('.js-collapse').each(function () {
$('.js-collapse').each(function() {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.attr('href')).on('show.bs.collapse', function() {
$($this.siblings().attr('href')).collapse('hide');
});
});
......
......@@ -13,7 +13,16 @@
<div class="wrapper-ipad-app-h5">
<div class="header-main-1 clearfix">
<div class="header-main-left">
<h1>${vo.word}</h1>
<c:choose>
<c:when test="${vo.word eq '象'}">
<h1>
<span class="bg-xiang">象</span>
</h1>
</c:when>
<c:otherwise>
<h1>${vo.word}</h1>
</c:otherwise>
</c:choose>
<c:if test="${vo.word eq '象'}">
<div class="header-main-word-dropdown clearfix">
<a class="btn btn-sm btn-link dropdown-toggle collapsed js-collapse" href="#header-main-collapse-1" data-toggle="collapse">字源</a>
......
......@@ -106,8 +106,8 @@
</c:choose>
<c:forEach items="${vo.relationByGroup}" var="item">
<div class="list-group">
<span class="list-group-item list-group-item-header">${item.key}</span>
<c:forEach items="${item.value}" var="w">
<span class="list-group-item list-group-item-header">${item.middle}</span>
<c:forEach items="${item.right}" var="w">
<a class="list-group-item" href="/word/info/${w.id}">${w.word}</a>
</c:forEach>
</div>
......
This diff could not be displayed because it is too large.
......@@ -11,7 +11,9 @@
<div class="wrapper-ipad-app-h5">
<div class="header-main-1 clearfix">
<div class="header-main-left">
<h1></h1>
<h1>
<span class="bg-xiang"></span>
</h1>
<div class="header-main-word-dropdown clearfix">
<a class="btn btn-sm btn-link dropdown-toggle collapsed js-collapse" href="#header-main-collapse-1" data-toggle="collapse">字源</a>
<a class="btn btn-sm btn-link dropdown-toggle collapsed js-collapse" href="#header-main-collapse-2" data-toggle="collapse">书法</a>
......
......@@ -25,6 +25,7 @@ import com.dookay.coral.common.core.utils.lang.StringUtils;
import com.dookay.coral.common.web.utils.upload.model.ImageModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.ArrayUtils;
import java.util.Comparator;
import java.util.List;
......@@ -79,6 +80,9 @@ public class WordDTO {
relationOneWayQuery.setWordId(word.getId());
List<RelationOneWayDomain> relateList = relationOneWayService.getList(relationOneWayQuery);
wordDTO.setHasRelated(CollectionUtils.isNotEmpty(relateList));
if (ArrayUtils.contains(new String[]{"象", "中国", "中华人民共和国", "太阳系"}, word.getWord())) {
wordDTO.setHasRelated(true);
}
return wordDTO;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!