@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 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 createOrUpdateTopic(Topic topic) { if (topic == null) { return null; } Topic t = new Topic(); t.setRefId(topic.getRefId()); t.setRefType(topic.getRefType()); TopicExample example = new TopicExample(t); List<Topic> topics = topicMapper.selectByExample(example); if (topics.size() == 0) { createTopic(topic); return topic; } else { topic.setId(topics.get(0).getId()); topic.setCreated(null); updateTopic(topic); return topic; } }