Commit 57d9ef8d by 侯昆

后续修改

1 parent 5443ccb1
Showing 41 changed files with 1156 additions and 48 deletions
......@@ -15,22 +15,24 @@ package com.dookay.cihai.admin.controller;
****************************************/
import com.alibaba.fastjson.JSON;
import com.dookay.cihai.admin.controller.form.AddOneWayForm;
import com.dookay.cihai.admin.controller.form.AddPicForm;
import com.dookay.cihai.admin.controller.form.AddRelationForm;
import com.dookay.cihai.admin.controller.form.AddVideoForm;
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.cihai.core.word.domain.WordRelationDomain;
import com.dookay.cihai.core.word.enums.RelationOneWayType;
import com.dookay.cihai.core.word.query.WordQuery;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.coral.common.core.exception.ServiceException;
import com.dookay.coral.common.core.utils.lang.EncodeUtils;
import com.dookay.coral.common.core.utils.lang.StringUtils;
import com.dookay.coral.common.web.config.ResourcesMappingProperties;
import com.dookay.coral.common.web.controller.BaseController;
import com.dookay.coral.common.web.response.JsonResult;
import com.dookay.coral.common.web.utils.upload.model.ImageModel;
import com.hankcs.hanlp.HanLP;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -64,6 +66,8 @@ public class WordRelateController extends BaseController {
@Autowired
private IWordRelationService wordRelationService;
@Autowired
private IRelationOneWayService relationOneWayService;
@Autowired
private ResourcesMappingProperties resourcesMappingProperties;
/**
......@@ -175,4 +179,56 @@ public class WordRelateController extends BaseController {
wordRelationService.saveBatch(wordRelationList);
return successResult("success");
}
/**
* 单向关联添加 主要
*
* @author houkun
* @date 2018/1/23
*/
@RequestMapping(value = "/oneway/main/add", method = RequestMethod.POST)
public JsonResult onewayMainAdd(@ModelAttribute AddOneWayForm form) {
addOneWayRelation(form, RelationOneWayType.MAIN);
return successResult("success");
}
/**
* 添加单向关联
*
* @author houkun
* @date 2018/1/23
*/
private void addOneWayRelation(AddOneWayForm form, RelationOneWayType type) {
WordQuery q = new WordQuery();
q.setWord(StringUtils.trim(form.getWord()));
WordDomain word = wordService.getFirst(q);
if (word == null) {
throw new ServiceException("主词不存在");
}
q = new WordQuery();
List<String> relatedWords = form.getRelatedWords().stream()
.map(StringUtils::trim).collect(Collectors.toList());
q.setWordIn(relatedWords);
List<WordDomain> relatedWordDomainList = wordService.getList(q);
if (relatedWordDomainList.size() < form.getRelatedWords().size()) {
throw new ServiceException("存在无效词");
}
String group = StringUtils.trim(StringUtils.removeEnd(form.getGroup(), ".txt"));
List<RelationOneWayDomain> list = relatedWordDomainList.stream()
.map(w -> new RelationOneWayDomain(word.getId(), type, group, w.getId()))
.collect(Collectors.toList());
relationOneWayService.saveBatch(list);
}
/**
* 单向关联添加 侧边
*
* @author houkun
* @date 2018/1/23
*/
@RequestMapping(value = "/oneway/side/add", method = RequestMethod.POST)
public JsonResult onewaySideAdd(@ModelAttribute AddOneWayForm form) {
addOneWayRelation(form, RelationOneWayType.SIDE);
return successResult("success");
}
}
package com.dookay.cihai.admin.controller.form;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import lombok.Data;
import java.util.List;
/**
* @author houkun
* @date 2018/1/11
*/
@Data
public class AddOneWayForm {
private String word;
private String group;
private List<String> relatedWords;
}
package com.dookay.cihai.app.controller;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import com.dookay.coral.common.web.controller.BaseController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
/**
* 历史上的今天
*
* @author houkun
* @date 2018/1/24
*/
@Controller
@RequestMapping("/history")
public class HistoryHtmlController extends BaseController {
/**
* 全部
*
* @author houkun
* @date 2018/1/24
*/
@RequestMapping(value = "/all", method = RequestMethod.GET)
public ModelAndView all() {
ModelAndView mv = new ModelAndView("/history/all");
return mv;
}
/**
* 事件
*
* @author houkun
* @date 2018/1/24
*/
@RequestMapping(value = "/event", method = RequestMethod.GET)
public ModelAndView event() {
ModelAndView mv = new ModelAndView("/history/event");
return mv;
}
/**
* 人物
*
* @author houkun
* @date 2018/1/24
*/
@RequestMapping(value = "/people", method = RequestMethod.GET)
public ModelAndView people() {
ModelAndView mv = new ModelAndView("/history/people");
return mv;
}
/**
* 纪念
*
* @author houkun
* @date 2018/1/24
*/
@RequestMapping(value = "/memory", method = RequestMethod.GET)
public ModelAndView memory() {
ModelAndView mv = new ModelAndView("/history/memory");
return mv;
}
}
......@@ -25,6 +25,7 @@ import com.dookay.cihai.core.word.dto.RecommendStatementDTO;
import com.dookay.cihai.core.word.dto.WordDTO;
import com.dookay.cihai.core.word.query.WordQuery;
import com.dookay.cihai.core.word.service.ICustomDictionaryService;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.coral.common.core.utils.lang.StringUtils;
......@@ -60,6 +61,8 @@ public class HomeController extends BaseController {
@Autowired
private IWordRelationService wordRelationService;
@Autowired
private IRelationOneWayService relationOneWayService;
@Autowired
private ICustomDictionaryService customDictionaryService;
@Autowired
private AipWordUtilBean aipWordUtilBean;
......@@ -83,7 +86,7 @@ public class HomeController extends BaseController {
query.setKeyword(keyword);
WordDomain first = wordService.getFirst(query);
if (first != null) {
return successResult("搜索结果", WordDTO.fromDomain(first, wordRelationService));
return successResult("搜索结果", WordDTO.fromDomain(first, wordRelationService, relationOneWayService));
}
try {
String result = null;
......@@ -93,7 +96,7 @@ public class HomeController extends BaseController {
wordQuery.setKeyword(null);
WordDomain wordDomain = wordService.getFirst(wordQuery);
if (wordDomain == null) return errorResult(String.format("暂无\"%s\"检索结果", keyword));
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService));
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService));
} catch (Exception ex) {
return errorResult(String.format("暂无\"%s\"检索结果", keyword));
}
......@@ -128,7 +131,7 @@ public class HomeController extends BaseController {
wordDomain = wordService.getFirst(wordQuery);
if (wordDomain == null) return errorResult("暂无检索结果");
}
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService));
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService));
} catch (Exception e) {
return errorResult("暂无检索结果");
}
......
......@@ -18,6 +18,7 @@ import com.dookay.cihai.core.word.dto.WordDTO;
import com.dookay.cihai.app.controller.vo.EditionVO;
import com.dookay.cihai.app.controller.vo.WordPicsVO;
import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.coral.common.core.utils.lang.StringUtils;
......@@ -33,6 +34,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.management.relation.Relation;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
......@@ -52,6 +54,8 @@ public class WordController extends BaseController {
private IWordService wordService;
@Autowired
private IWordRelationService wordRelationService;
@Autowired
private IRelationOneWayService relationOneWayService;
/**
* 词信息
......@@ -63,7 +67,7 @@ public class WordController extends BaseController {
@ApiOperation(value = "词信息", httpMethod = "GET", response = WordDTO.class)
public JsonResult info(@PathVariable @ApiParam(value = "词的id", required = true) Long id) {
WordDomain wordDomain = wordService.get(id);
return successResult("词信息", WordDTO.fromDomain(wordDomain, wordRelationService));
return successResult("词信息", WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService));
}
/**
......
......@@ -14,12 +14,12 @@ package com.dookay.cihai.app.controller;
* *
****************************************/
import com.dookay.cihai.core.word.dto.WordDTO;
import com.dookay.cihai.app.controller.vo.CharacterBaikeVO;
import com.dookay.cihai.app.controller.vo.CharacterParaphVO;
import com.dookay.cihai.app.controller.vo.StatementBaikeVO;
import com.dookay.cihai.app.controller.vo.StatementParaphVO;
import 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.cihai.core.word.query.RelationOneWayQuery;
import com.dookay.cihai.core.word.query.WordQuery;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.coral.common.web.controller.BaseController;
......@@ -45,6 +45,8 @@ public class WordHtmlController extends BaseController {
private IWordService wordService;
@Autowired
private IWordRelationService wordRelationService;
@Autowired
private IRelationOneWayService relationOneWayService;
/**
* 字释义
......@@ -112,11 +114,34 @@ public class WordHtmlController extends BaseController {
@RequestMapping(value = "/relate/{id}", method = RequestMethod.GET)
public ModelAndView relate(@PathVariable("id") Long id) {
WordDomain wordDomain = wordService.get(id);
List<WordDomain> relateWords = wordRelationService.getRelateWords(id);
List<WordDTO> vos = relateWords.stream().filter(r -> !r.getId().equals(id)).map(word -> WordDTO.fromDomain(word, wordRelationService)).collect(Collectors.toList());
RelationOneWayQuery q = new RelationOneWayQuery();
q.setWordId(id);
List<RelationOneWayDomain> relateList = relationOneWayService.getList(q);
List<Long> relateIds = relateList.stream().map(RelationOneWayDomain::getRelateWordId).collect(Collectors.toList());
WordQuery wq = new WordQuery();
wq.setIds(relateIds);
List<WordDomain> relatedWords = wordService.getList(wq);
OneWayRelateVO vo = OneWayRelateVO.fromDomain(wordDomain, relateList, relatedWords);
ModelAndView mv = new ModelAndView("/word/relate");
mv.addObject("word", wordDomain);
mv.addObject("vos", vos);
mv.addObject("vo", vo);
return mv;
// WordDomain wordDomain = wordService.get(id);
// List<WordDomain> relateWords = wordRelationService.getRelateWords(id);
// List<WordDTO> vos = relateWords.stream().filter(r -> !r.getId().equals(id)).map(word -> WordDTO.fromDomain(word, wordRelationService)).collect(Collectors.toList());
// ModelAndView mv = new ModelAndView("/word/relate");
// mv.addObject("word", wordDomain);
// mv.addObject("vos", vos);
// return mv;
}
/**
* 鲁迅相关词
*
* @author houkun
* @date 2018/1/24
*/
@RequestMapping(value = "/luxun/relate", method = RequestMethod.GET)
public ModelAndView luxunRelate() {
return new ModelAndView("/word/luxunRelate");
}
}
package com.dookay.cihai.app.controller.vo;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
import com.dookay.cihai.core.word.domain.WordDomain;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 单向相关视图模型
*
* @author houkun
* @date 2018/1/24
*/
@Data
public class OneWayRelateVO {
private String word;
private Map<String, List<WordDomain>> relationByGroup;
public static OneWayRelateVO fromDomain(WordDomain word, List<RelationOneWayDomain> relations, List<WordDomain> relatedWords) {
OneWayRelateVO vo = new OneWayRelateVO();
vo.setWord(word.getWord());
Map<String, List<RelationOneWayDomain>> map = relations.stream().collect(Collectors.groupingBy(RelationOneWayDomain::getGroupName));
HashMap<String, List<WordDomain>> relationByGroup = new HashMap<>(map.size());
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);
}
vo.setRelationByGroup(relationByGroup);
return vo;
}
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>辞海-历史上的今天</title>
<link rel="stylesheet" href="${ctx}/static/css/vendor.css">
</head>
<body class="history">
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<h1 class="text-center">一起进入历史上的2月16日</h1>
<nav class="nav justify-content-center">
<a class="nav-link active" href="/history/all">全部</a>
<a class="nav-link" href="/history/event">事件</a>
<a class="nav-link" href="/history/people">人物</a>
<a class="nav-link" href="/history/memory">纪念</a>
</nav>
<ul class="list-unstyled list-history">
<li>
<div class="time">1032</div>
<p>宋英宗赵曙出生。</p>
</li>
<li>
<div class="time">1222</div>
<p><a href="/home/search?keyword=日莲">日莲</a>,日本佛教日莲宗创始人出生。</p>
</li>
<li>
<div class="time">1304</div>
<p>元朝第八位皇帝元文宗图帖睦尔出生。</p>
</li>
<li>
<div class="time">1352</div>
<p><a href="/home/search?keyword=郭子兴">郭子兴</a>起义军攻克濠州。</p>
</li>
<li>
<div class="time">1870</div>
<p><a href="/home/search?keyword=普法战争">普法战争</a>,法国失败。</p>
</li>
<li>
<div class="time">1910</div>
<p><a href="/home/search?keyword=孙中山">孙中山</a><a href="/home/search?keyword=章太炎">章太炎</a>分道扬镳同盟会分裂。</p>
</li>
<li>
<div class="time">1921</div>
<p><a href="/home/search?keyword=华国锋">华国锋</a>同志诞辰。</p>
</li>
<li>
<div class="time">1930</div>
<p>红军有了第一架飞机——“列宁”号。</p>
</li>
<li>
<div class="time">1935</div>
<p>红军取得<a href="/home/search?keyword=长征">长征</a>以来第一次重大胜利。</p>
</li>
<li>
<div class="time">1938</div>
<p>京剧名家<a href="/home/search?keyword=杨小楼">杨小楼</a>病逝。</p>
</li>
<li>
<div class="time">1959</div>
<p>菲德尔·卡斯特罗就任古巴总理。</p>
</li>
<li>
<div class="time">1976</div>
<p>英国<a href="/home/search?keyword=北海油田">北海油田</a>的奥克钻油区正式运作。</p>
</li>
<li class="more">
<a href="/history/event">更多</a>
</li>
</ul>
</div>
</div>
<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 () {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.siblings().attr('href')).collapse('hide');
});
});
</script>
</body>
</html>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>辞海-历史上的今天</title>
<link rel="stylesheet" href="${ctx}/static/css/vendor.css">
</head>
<body class="history">
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<h1 class="text-center">一起进入历史上的2月16日</h1>
<nav class="nav justify-content-center">
<a class="nav-link" href="/history/all">全部</a>
<a class="nav-link active" href="/history/event">事件</a>
<a class="nav-link" href="/history/people">人物</a>
<a class="nav-link" href="/history/memory">纪念</a>
</nav>
<ul class="list-unstyled list-history">
<li>
<div class="time">1352</div>
<p><a href="/home/search?keyword=郭子兴">郭子兴</a>起义军攻克濠州。</p>
</li>
<li>
<div class="time">1870</div>
<p><a href="/home/search?keyword=普法战争">普法战争</a>,法国失败。</p>
</li>
<li>
<div class="time">1910</div>
<p><a href="/home/search?keyword=孙中山">孙中山</a><a href="/home/search?keyword=章太炎">章太炎</a>分道扬镳同盟会分裂。</p>
</li>
<li>
<div class="time">1930</div>
<p>红军有了第一架飞机——“列宁”号。</p>
</li>
<li>
<div class="time">1935</div>
<p>红军取得<a href="/home/search?keyword=长征">长征</a>以来第一次重大胜利。</p>
</li>
<li>
<div class="time">1959</div>
<p>菲德尔·卡斯特罗就任古巴总理。</p>
</li>
<li>
<div class="time">1976</div>
<p>英国<a href="/home/search?keyword=北海油田">北海油田</a>的奥克钻油区正式运作。</p>
</li>
<li>
<div class="time">1985</div>
<p><a href="/home/search?keyword=以色列">以色列</a>军队开始从<a href="/home/search?keyword=黎巴嫩">黎巴嫩</a>撤退。</p>
</li>
<li>
<div class="time">2005</div>
<p>限制全球温室气体排放量的“<a href="/home/search?keyword=京都议定书">京都议定书</a>” 获得120多个国家确认正式生效。</p>
</li>
<li></li>
<li class="end">
<p>留存当下,回忆过去。</p>
</li>
</ul>
</div>
</div>
<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 () {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.siblings().attr('href')).collapse('hide');
});
});
</script>
</body>
</html>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>辞海-历史上的今天</title>
<link rel="stylesheet" href="${ctx}/static/css/vendor.css">
</head>
<body class="history">
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<h1 class="text-center">一起进入历史上的2月16日</h1>
<nav class="nav justify-content-center">
<a class="nav-link" href="/history/all">全部</a>
<a class="nav-link" href="/history/event">事件</a>
<a class="nav-link" href="/history/people">人物</a>
<a class="nav-link active" href="/history/memory">纪念</a>
</nav>
<div class="list-history-default"></div>
</div>
</div>
<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 () {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.siblings().attr('href')).collapse('hide');
});
});
</script>
</body>
</html>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>辞海-历史上的今天</title>
<link rel="stylesheet" href="${ctx}/static/css/vendor.css">
</head>
<body class="history">
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<h1 class="text-center">一起进入历史上的2月16日</h1>
<nav class="nav justify-content-center">
<a class="nav-link" href="/history/all">全部</a>
<a class="nav-link" href="/history/event">事件</a>
<a class="nav-link active" href="/history/people">人物</a>
<a class="nav-link" href="/history/memory">纪念</a>
</nav>
<ul class="list-unstyled list-history">
<li>
<div class="time">1032</div>
<p>宋英宗赵曙出生。</p>
</li>
<li>
<div class="time">1222</div>
<p><a href="/home/search?keyword=日莲">日莲</a>,日本佛教日莲宗创始人出生。</p>
</li>
<li>
<div class="time">1304</div>
<p>元朝第八位皇帝元文宗图帖睦尔出生。</p>
</li>
<li>
<div class="time">1921</div>
<p><a href="/home/search?keyword=华国锋">华国锋</a>同志诞辰。</p>
</li>
<li>
<div class="time">1938</div>
<p>京剧名家<a href="/home/search?keyword=杨小楼">杨小楼</a>病逝。</p>
</li>
<li>
<div class="time">1988</div>
<p>教育家、作家<a href="/home/search?keyword=叶圣陶">叶圣陶</a>逝世。</p>
</li>
<li>
<div class="time">1997</div>
<p>著名实验物理学家<a href="/home/search?keyword=吴健雄">吴健雄</a>女士去世 。</p>
</li>
<li></li>
<li class="end">
<p>留存当下,回忆过去。</p>
</li>
</ul>
</div>
</div>
<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 () {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.siblings().attr('href')).collapse('hide');
});
});
</script>
</body>
</html>
\ No newline at end of file
......@@ -3,15 +3,5 @@
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<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 () {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.siblings().attr('href')).collapse('hide');
});
});
</script>
</body>
</html>
\ No newline at end of file
......@@ -10,5 +10,15 @@
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>辞海-${param.pageTitle}</title>
<link rel="stylesheet" href="${ctx}/static/css/vendor.css">
<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 () {
var $this = $(this);
$($this.attr('href')).on('show.bs.collapse', function () {
$($this.siblings().attr('href')).collapse('hide');
});
});
</script>
</head>
<body>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>鲁迅介绍内容部分</title>
<link rel="stylesheet" href="/static/css/vendor.css">
</head>
<body>
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<div class="media-yuci" id="accordion">
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0" data-toggle="collapse" data-target="#collapse0">
<button class="btn btn-link">鲁迅墓</button>
</h5>
</div>
<div class="collapse show" id="collapse0" data-parent="#accordion">
<div class="card-body">
<div class="media">
<img class="align-self-start mr-3" src="/static/temp/mu.jpg">
<div class="media-body">
<p>在上海市鲁迅公园(原虹口公园)内。鲁迅遗体原葬于上海西郊万国公墓。1956年鲁迅逝世20周年时,迁葬于此,并建鲁迅纪念馆。墓用花岗石构筑,面积1600平方米。墓穴后有壁式墓碑,上刻毛泽东的题词:“鲁迅先生之墓”。墓园中立有鲁迅坐式铜像。为全国重点文物保护单位。</p>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0 collapsed" data-toggle="collapse" data-target="#collapse1">
<button class="btn btn-link">鲁迅夫人</button>
</h5>
</div>
<div class="collapse" id="collapse1" data-parent="#accordion">
<div class="card-body">
<ul class="list-unstyled mb-0">
<li>
<h5 class="media-title">许广平
<small>(1898—1968)</small>
</h5>
<div class="media">
<img class="align-self-start mr-3" src="/static/temp/luxun-furen.jpg">
<div class="media-body">
<p>广东番禺(今广州)人,笔名景宋。鲁迅夫人。1926年毕业于北京女子师范大学。后协助鲁迅工作。在上海参加抗日救亡和爱国民主运动,曾任《民主》周刊编辑。1948年赴东北解放区。1949年出席全国政协第一届全体会议。后任中央人民政府政务院副秘书长、全国人大和全国政协常委、全国妇联副主席、全国文联主席团委员、民进中央副主席。1960年加入中国共产党。著有《欣慰的纪念》。</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0 collapsed" data-toggle="collapse" data-target="#collapse2">
<button class="btn btn-link">鲁迅胞弟</button>
</h5>
</div>
<div class="collapse" id="collapse2" data-parent="#accordion">
<div class="card-body">
<ul class="list-unstyled mb-0">
<li>
<h5 class="media-title">周建人
<small>(1888—1984)</small>
</h5>
<div class="media">
<img class="align-self-start mr-3" src="/static/temp/luxun-furen.jpg">
<div class="media-body">
<p>浙江绍兴人,字松寿,又字乔峰。鲁迅胞弟。1920年在北京大学攻读哲学,次年任上海商务印书馆编辑,从事生物学的研究和编译工作。先后在上海大学、神州大学、上海暨南大学、安徽大学任教。1932年参与筹建中国民权保障同盟。后在上海组织马列主义读书会,开展抗日救亡斗争。抗战胜利后,任生活书店、新知书店编辑。1945年12月与马叙伦等在上海发起成立中国民主促进会。1948年加入中国共产党。1949年9月出席全国政协第一届全体会议。后任国家出版总署副署长、高等教育部副部长、浙江省人民政府副主席、浙江省省长、全国人大常委会副委员长、全国政协副主席、民进中央主席、民盟中央常委。是中共第九至十一届中央委员。著有《生物进化浅说》,译有达尔文《物种起源》。</p>
</div>
</div>
</li>
<li>
<h5 class="media-title">周作人
<small>(1885—1967)</small>
</h5>
<div class="media">
<img class="align-self-start mr-3" src="/static/temp/luxun-furen.jpg">
<div class="media-body">
<p>中国散文家、翻译家。原名櫆寿,字启明,晚年改名遐寿,浙江绍兴人。青年时代留学日本,与兄周树人(鲁迅)一起翻译介绍外国文学。五四运动时任北京大学等校教授,并从事写作。论文《人的文学》、《美文》,新诗《小河》在新文学运动中均有影响。所作散文,风格冲淡朴讷,从容平和。20世纪30年代和林语堂一起鼓吹“闲适幽默”小品。抗战时期曾任伪华北政务委员会教育总署督办。著有《自己的园地》、《雨天的书》、《谈龙集》、《谈虎集》、《瓜豆集》及《中国新文学的源流》等。新中国成立后主要从事翻译工作,译有《日本狂言选》、《伊索寓言》等;著有《鲁迅的故家》、《鲁迅小说中的人物》、《知堂回想录》等。</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0 collapsed" data-toggle="collapse" data-target="#collapse3">
<button class="btn btn-link">鲁迅主编刊物</button>
</h5>
</div>
<div class="collapse" id="collapse3" data-parent="#accordion">
<div class="card-body">
<ul class="list-unstyled mb-0">
<li>
<h5 class="media-title">《莽原》</h5>
<div class="media">
<div class="media-body">
<p>文艺刊物。1925年4月在北京创刊。鲁迅主编。初为周刊,附于《京报》发行,后由北京莽原出版社独立出版,北新书局发行,共出三十二期。1926年1月改为半月刊,由未名社印行。主要发表短篇小说、散文和翻译作品。鲁迅的《朝花夕拾》(发表时题作《旧事重提》)等曾发表于此。1927年12月出至第二卷第二十三、二十四期(合刊)停刊,共出四十八期。</p>
</div>
</div>
</li>
<li>
<h5 class="media-title">《萌芽月刊》</h5>
<div class="media">
<div class="media-body">
<p>文艺刊物。1930年1月在上海创刊。鲁迅主编。第三期起为中国左翼作家联盟的机关刊物之一。着重介绍无产阶级文艺理论和文学作品。第三期曾辟“三月纪念号”,纪念马克思、恩格斯和巴黎公社,第五期为“五月各节纪念号”,纪念“五一”和“五卅”。1930年5月出至第五期被国民党政府查禁。第六期改名《新地》出版,随即停刊。</p>
<p class="text-center">
<img src="/static/temp/luxun-furen.jpg">
</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/static/js/plugins/jquery.min.js"></script>
<script src="/static/js/vendor.js" merge="true"></script>
</body>
</html>
\ No newline at end of file
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="word" scope="request" type="com.dookay.cihai.core.word.domain.WordDomain"/>
<jsp:useBean id="vos" scope="request" type="java.util.List<com.dookay.cihai.core.word.dto.WordDTO>"/>
<%--<jsp:useBean id="word" scope="request" type="com.dookay.cihai.core.word.domain.WordDomain"/>--%>
<%--<jsp:useBean id="vos" scope="request" type="java.util.List<com.dookay.cihai.core.word.dto.WordDTO>"/>--%>
<jsp:useBean id="vo" scope="request" type="com.dookay.cihai.app.controller.vo.OneWayRelateVO"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>辞海 - ${word.word}的相关词</title>
<title>辞海 - ${vo.word}的相关词</title>
<link rel="stylesheet" href="${ctx}/static/css/vendor.css">
</head>
<body class="relation-word-body">
<div class="container-fluid">
<div class="relation-word">
<%--<div class="container-fluid">--%>
<%--<div class="relation-word">--%>
<%--<h4>相关词</h4>--%>
<%--<div class="list-group">--%>
<%--<span class="list-group-item list-group-item-header">${word.word}</span>--%>
<%--<c:forEach items="${vos}" var="item">--%>
<%--<a class="list-group-item" href="/word/info/${item.wordId}">${item.word}</a>--%>
<%--</c:forEach>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<div class="relation-word">
<h4>相关词</h4>
<c:forEach items="${vo.relationByGroup}" var="item">
<div class="list-group">
<span class="list-group-item list-group-item-header">${word.word}</span>
<c:forEach items="${vos}" var="item">
<a class="list-group-item" href="/word/info/${item.wordId}">${item.word}</a>
<span class="list-group-item list-group-item-header">${item.key}</span>
<c:forEach items="${item.value}" var="w">
<a class="list-group-item" href="/word/info/${w.id}">${w.word}</a>
</c:forEach>
</div>
</div>
</c:forEach>
</div>
<script src="${ctx}/static/js/plugins/jquery.min.js"></script>
<script src="${ctx}/static/js/vendor.js" merge="true"></script>
......
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>历史上的今天-无数据</title>
<link rel="stylesheet" href="css/vendor.css">
</head>
<body class="history">
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<h1 class="text-center">一起进入历史上的2月16日</h1>
<nav class="nav justify-content-center">
<a class="nav-link" href="#">全部</a>
<a class="nav-link" href="#">事件</a>
<a class="nav-link" href="#">人物</a>
<a class="nav-link active" href="#">纪念</a>
</nav>
<div class="list-history-default"></div>
</div>
</div>
<script src="js/plugins/jquery.min.js"></script>
<script src="js/vendor.js" merge="true"></script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>历史上的今天</title>
<link rel="stylesheet" href="css/vendor.css">
</head>
<body class="history">
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<h1 class="text-center">一起进入历史上的2月16日</h1>
<nav class="nav justify-content-center">
<a class="nav-link active" href="#">全部</a>
<a class="nav-link" href="#">事件</a>
<a class="nav-link" href="#">人物</a>
<a class="nav-link" href="#">纪念</a>
</nav>
<ul class="list-unstyled list-history">
<li>
<div class="time">1032</div>
<p>宋英宗赵曙出生。</p>
</li>
<li>
<div class="time">1222</div>
<p></p>
<a href="">日莲</a>,日本佛教日莲宗创始人出生。</li>
<li class="end">
<p>留存当下,回忆过去。</p>
</li>
<li class="more">
<a href="#">更多</a>
</li>
</ul>
</div>
</div>
<script src="js/plugins/jquery.min.js"></script>
<script src="js/vendor.js" merge="true"></script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>鲁迅介绍内容部分</title>
<link rel="stylesheet" href="css/vendor.css">
</head>
<body>
<div class="container-fluid">
<div class="wrapper-ipad-app-h5">
<div class="media-yuci" id="accordion">
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0" data-toggle="collapse" data-target="#collapse0">
<button class="btn btn-link">鲁迅墓</button>
</h5>
</div>
<div class="collapse show" id="collapse0" data-parent="#accordion">
<div class="card-body">
<div class="media">
<img class="align-self-start mr-3" src="temp/mu.jpg">
<div class="media-body">
<p>在上海市鲁迅公园(原虹口公园)内。鲁迅遗体原葬于上海西郊万国公墓。1956年鲁迅逝世20周年时,迁葬于此,并建鲁迅纪念馆。墓用花岗石构筑,面积1600平方米。墓穴后有壁式墓碑,上刻毛泽东的题词:“鲁迅先生之墓”。墓园中立有鲁迅坐式铜像。为全国重点文物保护单位。</p>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0 collapsed" data-toggle="collapse" data-target="#collapse1">
<button class="btn btn-link">鲁迅夫人</button>
</h5>
</div>
<div class="collapse" id="collapse1" data-parent="#accordion">
<div class="card-body">
<ul class="list-unstyled mb-0">
<li>
<h5 class="media-title">许广平
<small>(1898—1968)</small>
</h5>
<div class="media">
<img class="align-self-start mr-3" src="temp/luxun-furen.jpg">
<div class="media-body">
<p>广东番禺(今广州)人,笔名景宋。鲁迅夫人。1926年毕业于北京女子师范大学。后协助鲁迅工作。在上海参加抗日救亡和爱国民主运动,曾任《民主》周刊编辑。1948年赴东北解放区。1949年出席全国政协第一届全体会议。后任中央人民政府政务院副秘书长、全国人大和全国政协常委、全国妇联副主席、全国文联主席团委员、民进中央副主席。1960年加入中国共产党。著有《欣慰的纪念》。</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0 collapsed" data-toggle="collapse" data-target="#collapse2">
<button class="btn btn-link">鲁迅胞弟</button>
</h5>
</div>
<div class="collapse" id="collapse2" data-parent="#accordion">
<div class="card-body">
<ul class="list-unstyled mb-0">
<li>
<h5 class="media-title">周建人
<small>(1888—1984)</small>
</h5>
<div class="media">
<img class="align-self-start mr-3" src="temp/luxun-furen.jpg">
<div class="media-body">
<p>浙江绍兴人,字松寿,又字乔峰。鲁迅胞弟。1920年在北京大学攻读哲学,次年任上海商务印书馆编辑,从事生物学的研究和编译工作。先后在上海大学、神州大学、上海暨南大学、安徽大学任教。1932年参与筹建中国民权保障同盟。后在上海组织马列主义读书会,开展抗日救亡斗争。抗战胜利后,任生活书店、新知书店编辑。1945年12月与马叙伦等在上海发起成立中国民主促进会。1948年加入中国共产党。1949年9月出席全国政协第一届全体会议。后任国家出版总署副署长、高等教育部副部长、浙江省人民政府副主席、浙江省省长、全国人大常委会副委员长、全国政协副主席、民进中央主席、民盟中央常委。是中共第九至十一届中央委员。著有《生物进化浅说》,译有达尔文《物种起源》。</p>
</div>
</div>
</li>
<li>
<h5 class="media-title">周作人
<small>(1885—1967)</small>
</h5>
<div class="media">
<img class="align-self-start mr-3" src="temp/luxun-furen.jpg">
<div class="media-body">
<p>中国散文家、翻译家。原名櫆寿,字启明,晚年改名遐寿,浙江绍兴人。青年时代留学日本,与兄周树人(鲁迅)一起翻译介绍外国文学。五四运动时任北京大学等校教授,并从事写作。论文《人的文学》、《美文》,新诗《小河》在新文学运动中均有影响。所作散文,风格冲淡朴讷,从容平和。20世纪30年代和林语堂一起鼓吹“闲适幽默”小品。抗战时期曾任伪华北政务委员会教育总署督办。著有《自己的园地》、《雨天的书》、《谈龙集》、《谈虎集》、《瓜豆集》及《中国新文学的源流》等。新中国成立后主要从事翻译工作,译有《日本狂言选》、《伊索寓言》等;著有《鲁迅的故家》、《鲁迅小说中的人物》、《知堂回想录》等。</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card mb-1">
<div class="card-header">
<h5 class="mb-0 collapsed" data-toggle="collapse" data-target="#collapse3">
<button class="btn btn-link">鲁迅主编刊物</button>
</h5>
</div>
<div class="collapse" id="collapse3" data-parent="#accordion">
<div class="card-body">
<ul class="list-unstyled mb-0">
<li>
<h5 class="media-title">《莽原》</h5>
<div class="media">
<div class="media-body">
<p>文艺刊物。1925年4月在北京创刊。鲁迅主编。初为周刊,附于《京报》发行,后由北京莽原出版社独立出版,北新书局发行,共出三十二期。1926年1月改为半月刊,由未名社印行。主要发表短篇小说、散文和翻译作品。鲁迅的《朝花夕拾》(发表时题作《旧事重提》)等曾发表于此。1927年12月出至第二卷第二十三、二十四期(合刊)停刊,共出四十八期。</p>
</div>
</div>
</li>
<li>
<h5 class="media-title">《萌芽月刊》</h5>
<div class="media">
<div class="media-body">
<p>文艺刊物。1930年1月在上海创刊。鲁迅主编。第三期起为中国左翼作家联盟的机关刊物之一。着重介绍无产阶级文艺理论和文学作品。第三期曾辟“三月纪念号”,纪念马克思、恩格斯和巴黎公社,第五期为“五月各节纪念号”,纪念“五一”和“五卅”。1930年5月出至第五期被国民党政府查禁。第六期改名《新地》出版,随即停刊。</p>
<p class="text-center">
<img src="temp/luxun-furen.jpg">
</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/plugins/jquery.min.js"></script>
<script src="js/vendor.js" merge="true"></script>
</body>
</html>
\ No newline at end of file
package com.dookay.cihai.core.word.domain;
import com.dookay.cihai.core.word.enums.RelationOneWayType;
import lombok.Data;
import java.io.Serializable;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
import java.util.List;
/**
* 单向关系
* @author wangwei
* @since 2018年01月23日
* @version V1.0
*/
@Data
@Table(name = "t_relation_one_way")
public class RelationOneWayDomain implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@Id
private Long id;
/**
*
*/
private Long wordId;
/**
*
*/
private Integer type;
/**
*
*/
private String groupName;
/**
*
*/
private Long relateWordId;
/**
*
*/
private Integer groupRank;
/**
*
*/
private Date createTime;
public RelationOneWayDomain(){}
public RelationOneWayDomain(Long wordId, RelationOneWayType type, String groupName, Long relateWordId) {
Date now = new Date();
this.wordId = wordId;
this.type = type.getValue();
this.groupName = groupName;
this.relateWordId = relateWordId;
this.createTime = now;
this.groupRank = 1;
}
}
......@@ -40,10 +40,10 @@ public class OneCharacterDTO {
return null;
}
String description = "";
String baikeBrief = word.getBaikeBrief();
int i = StringUtils.indexOf(baikeBrief, '。');
String baikeParaphrase = word.getBaikeParaphrase();
int i = StringUtils.indexOf(baikeParaphrase, '。');
if (i != -1) {
description = StringUtils.substring(baikeBrief, 0, i + 1);
description = StringUtils.substring(baikeParaphrase, 0, i + 1);
}
OneCharacterDTO dto = new OneCharacterDTO();
dto.setWordId(word.getId());
......
......@@ -14,8 +14,11 @@ package com.dookay.cihai.core.word.dto;
* *
****************************************/
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.cihai.core.word.enums.WordType;
import com.dookay.cihai.core.word.query.RelationOneWayQuery;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.coral.common.core.utils.lang.CollectionUtils;
import com.dookay.coral.common.core.utils.lang.StringUtils;
......@@ -50,7 +53,7 @@ public class WordDTO {
@ApiModelProperty("封面图 若不存在则返回null")
private ImageModel thumb;
public static WordDTO fromDomain(WordDomain word, IWordRelationService wordRelationService) {
public static WordDTO fromDomain(WordDomain word, IWordRelationService wordRelationService, IRelationOneWayService relationOneWayService) {
WordDTO wordDTO = new WordDTO();
wordDTO.setWordId(word.getId());
wordDTO.setWord(word.getWord());
......@@ -61,8 +64,6 @@ public class WordDTO {
wordDTO.setType(type);
wordDTO.setHasParaph(!StringUtils.isAllBlank(word.getBody(), word.getWordBrief()));
wordDTO.setHasBaike(!StringUtils.isAllBlank(word.getBaikeBrief(), word.getBaikeParaphrase()));
List<WordDomain> relateWord = wordRelationService.getRelateWords(word.getId());
wordDTO.setHasRelated(CollectionUtils.isNotEmpty(relateWord));
if (StringUtils.isNotEmpty(word.getBaikePhotos())) {
ImageModel thumb =
ImageModel.toList(word.getBaikePhotos())
......@@ -72,6 +73,12 @@ public class WordDTO {
.orElse(null);
wordDTO.setThumb(thumb);
}
// List<WordDomain> relateWord = wordRelationService.getRelateWords(word.getId());
// wordDTO.setHasRelated(CollectionUtils.isNotEmpty(relateWord));
RelationOneWayQuery relationOneWayQuery = new RelationOneWayQuery();
relationOneWayQuery.setWordId(word.getId());
List<RelationOneWayDomain> relateList = relationOneWayService.getList(relationOneWayQuery);
wordDTO.setHasRelated(CollectionUtils.isNotEmpty(relateList));
return wordDTO;
}
}
package com.dookay.cihai.core.word.enums;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import com.dookay.coral.common.core.enums.IEnum;
/**
* @author houkun
* @date 2018/1/9
*/
public enum RelationOneWayType implements IEnum {
MAIN(1, "主要"),
SIDE(2, "次要");
private int value;
private String description;
RelationOneWayType(int value, String description) {
this.value = value;
this.description = description;
}
@Override
public int getValue() {
return value;
}
@Override
public String getDescription() {
return description;
}
}
package com.dookay.cihai.core.word.mapper;
import com.dookay.coral.common.core.persistence.Mapper;
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
/**
* 单向关系
* @author wangwei
* @since 2018年01月23日
* @version V1.0
*/
public interface RelationOneWayMapper extends Mapper<RelationOneWayDomain> {
}
package com.dookay.cihai.core.word.query;
import com.dookay.coral.common.core.persistence.Query;
import lombok.Data;
import tk.mybatis.mapper.entity.Example;
import com.dookay.coral.common.core.persistence.criteria.QueryCriteria;
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
/**
* 单向关系
* @author wangwei
* @since 2018年01月23日
* @version V1.0
*/
@Data
public class RelationOneWayQuery extends Query {
private Long wordId;
@Override
public QueryCriteria toCriteria() {
QueryCriteria queryCriteria = new QueryCriteria(RelationOneWayDomain.class);
Example.Criteria criteria = queryCriteria.createCriteria();
if (valid(wordId)) {
criteria.andEqualTo("wordId", wordId);
}
//todo 写查询逻辑
return queryCriteria;
}
}
package com.dookay.cihai.core.word.service;
import com.dookay.coral.common.core.service.IBaseService;
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
import java.util.List;
/**
* @author wangwei
* @since 2018年01月23日
* @version V1.0
*/
public interface IRelationOneWayService extends IBaseService<RelationOneWayDomain> {
/**
* 批量保存
* @author houkun
* @date 2018/1/23
*/
void saveBatch(List<RelationOneWayDomain> list);
}
package com.dookay.cihai.core.word.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.dookay.coral.common.core.service.impl.BaseServiceImpl;
import com.dookay.cihai.core.word.mapper.RelationOneWayMapper;
import com.dookay.cihai.core.word.domain.RelationOneWayDomain;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import java.util.List;
/**
* 单向关系
* @author wangwei
* @since 2018年01月23日
* @version V1.0
*/
@SuppressWarnings("ALL")
@Service("relationOneWayService")
public class RelationOneWayServiceImpl extends BaseServiceImpl<RelationOneWayDomain> implements IRelationOneWayService {
@Autowired
private RelationOneWayMapper relationOneWayMapper;
@Override
public void saveBatch(List<RelationOneWayDomain> list) {
relationOneWayMapper.insertList(list);
}
}
<context schema="cihai">
<project>cihai-core</project>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.2.24:3306/cihai?characterEncoding=utf8"
connectionURL="jdbc:mysql://192.168.2.28:3306/cihai?characterEncoding=utf8"
uName="root" password="dookay100001"/>
<!-- 数据类型 -->
......@@ -36,7 +36,10 @@
<!--<table tableName="t_theme_word" domainObjectName="ThemeWord"-->
<!--packageName="com.dookay.cihai.core.theme" desc="专题词条关系" author="wangwei">-->
<!--</table>-->
<table tableName="t_word_relation" domainObjectName="WordRelation"
packageName="com.dookay.cihai.core.word" desc="词条关系" author="wangwei">
<!--<table tableName="t_word_relation" domainObjectName="WordRelation"-->
<!--packageName="com.dookay.cihai.core.word" desc="词条关系" author="wangwei">-->
<!--</table>-->
<table tableName="t_relation_one_way" domainObjectName="RelationOneWay"
packageName="com.dookay.cihai.core.word" desc="单向关系" author="wangwei">
</table>
</context>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.dookay.cihai.core.word.mapper.RelationOneWayMapper" >
<!-- 公共查询语句 -->
<sql id="selectSql">
select
<trim suffixOverrides="," >
a.`id` as 'id',
a.`word_id` as 'wordId',
a.`type` as 'type',
a.`group_name` as 'groupName',
a.`relate_word_id` as 'relateWordId',
a.`group_rank` as 'groupRank',
a.`create_time` as 'createTime',
</trim>
from
`t_relation_one_way` as a
</sql>
</mapper>
\ No newline at end of file
......@@ -24,6 +24,7 @@ import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.cihai.core.word.dto.WordDTO;
import com.dookay.cihai.core.word.query.WordQuery;
import com.dookay.cihai.core.word.service.ICustomDictionaryService;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.coral.common.core.utils.lang.StringUtils;
......@@ -69,6 +70,8 @@ public class HomeController extends BaseController {
@Autowired
private AipDefaultClient aipDefaultClient;
@Autowired
private IRelationOneWayService relationOneWayService;
/**
* 首页
......@@ -101,7 +104,7 @@ public class HomeController extends BaseController {
query.setKeyword(keyword);
WordDomain first = wordService.getFirst(query);
if (first != null) {
return successResult("搜索结果", WordDTO.fromDomain(first, wordRelationService));
return successResult("搜索结果", WordDTO.fromDomain(first, wordRelationService, relationOneWayService));
}
try {
String result = null;
......@@ -115,9 +118,9 @@ public class HomeController extends BaseController {
wordQuery.setKeyword(null);
wordDomain = wordService.getFirst(wordQuery);
if (wordDomain == null) return errorResult(String.format("暂无\"%s\"检索结果", keyword));
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService));
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService));
}
return successResult("success", WordDTO.fromDomain(wordDomain, wordRelationService));
return successResult("success", WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService));
} catch (Exception ex) {
return errorResult(String.format("暂无\"%s\"检索结果", keyword));
}
......@@ -152,7 +155,7 @@ public class HomeController extends BaseController {
wordDomain = wordService.getFirst(wordQuery);
if (wordDomain == null) return errorResult("暂无检索结果");
}
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService));
return successResult("搜索结果", WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService));
} catch (Exception e) {
return errorResult("暂无检索结果");
}
......
......@@ -17,6 +17,7 @@ package com.dookay.cihai.pc.controller;
import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.cihai.core.word.dto.WordDTO;
import com.dookay.cihai.core.word.enums.WordType;
import com.dookay.cihai.core.word.service.IRelationOneWayService;
import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.cihai.pc.controller.vo.*;
......@@ -45,6 +46,8 @@ public class WordController extends BaseController {
private IWordService wordService;
@Autowired
private IWordRelationService wordRelationService;
@Autowired
private IRelationOneWayService relationOneWayService;
/**
......@@ -56,7 +59,7 @@ public class WordController extends BaseController {
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView detail(@PathVariable Long id) {
WordDomain wordDomain = wordService.get(id);
WordDTO wordDTO = WordDTO.fromDomain(wordDomain, wordRelationService);
WordDTO wordDTO = WordDTO.fromDomain(wordDomain, wordRelationService, relationOneWayService);
Integer type = wordDTO.getType();
Boolean hasParaph = wordDTO.getHasParaph();
Boolean hasBaike = wordDTO.getHasBaike();
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!