@Override public List<Topic> getTopicListByProjectId(int projectId, int start, int limit) { Topic topic = new Topic(false); topic.setProjectId(projectId); topic.setStick(false); TopicExample example = new TopicExample(topic); example.setLimit(start, limit); example.setOrderByClause("updated desc"); List<Topic> topics = Lists.newArrayList(); if (start == 0) { topics = getCollectedTopics(projectId); } topics.addAll(topicMapper.selectByExample(example)); for (Topic t : topics) { t.setExcerpt(HtmlTextParser.getPlainText(t.getExcerpt())); t.setLastUpdator(userMapper.selectByPrimaryKey(t.getLastUpdatorId())); BaseOperateItem identifiable = identifiableManager.getIdentifiableByTypeAndId(t.getRefType(), t.getRefId()); if (identifiable != null) { t.setTargetCreator( userMapper.selectByPrimaryKey(((BaseProjectItem) identifiable).getCreatorId())); } } return topics; }
@Override public Topic getTopicByTypeAndId(String type, int id) { Topic example = new Topic(); example.setRefId(id); example.setRefType(type); List<Topic> topics = topicMapper.selectByExample(new TopicExample(example)); if (topics != null && !topics.isEmpty()) { // 只可能有一个topic Topic topic = topics.get(0); if (topic.getLastUpdator() == null) { topic.setLastUpdator(userMapper.selectByPrimaryKey(topic.getLastUpdatorId())); } String a = topic.getExcerpt(); String b = HtmlTextParser.getPlainText(a); topic.setExcerpt(HtmlTextParser.getPlainText(topic.getExcerpt())); BaseOperateItem identifiable = identifiableManager.getIdentifiableByTypeAndId(topic.getRefType(), topic.getRefId()); if (identifiable != null) { topic.setTargetCreator( userMapper.selectByPrimaryKey(((BaseProjectItem) identifiable).getCreatorId())); } return topic; } return null; }
@Override public Topic buildTopicFromComment(Comment comment, int projectId) { Topic topic = new Topic(); topic.setCreated(comment.getCreated()); topic.setExcerpt(comment.getContent()); checkTopicExcerptLength(topic); topic.setLastUpdatorId(comment.getCreatorId()); topic.setProjectId(projectId); topic.setRefId(comment.getAttachId()); topic.setRefType(comment.getAttachType()); Commentable commentable = (Commentable) identifiableManager.getIdentifiableByTypeAndId( comment.getAttachType(), comment.getAttachId()); if (commentable == null) { return null; } topic.setTitle(commentable.getCommentSubject()); topic.setUpdated(comment.getUpdated()); topic.setDeleted(false); return topic; }