Commit 2f79e5c6 by 胡明森

创建话题与标签返回话题标签id与名称

parent 0d81a6b5
......@@ -6,6 +6,7 @@ import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.bean.Subject;
import cn.meteor.beyondclouds.modules.tag.bean.TagDetail;
import cn.meteor.beyondclouds.modules.tag.entity.Tag;
import cn.meteor.beyondclouds.modules.tag.exception.TagServiceException;
import cn.meteor.beyondclouds.modules.tag.form.CreateTagForm;
......@@ -44,8 +45,8 @@ public class TagApi {
}
try {
tagService.createTag(createTagForm.getTagName(), createTagForm.getTagType(), String.valueOf(subject.getId()));
return Response.success();
TagDetail tag = tagService.createTag(createTagForm.getTagName(), createTagForm.getTagType(), String.valueOf(subject.getId()));
return Response.success(tag);
} catch (TagServiceException e) {
e.printStackTrace();
return Response.error(e);
......
package cn.meteor.beyondclouds.modules.tag.bean;
import lombok.Data;
/**
* @author 胡明森
* @since 2020/2/8
*/
@Data
public class TagDetail {
private String tagId;
private String tagName;
}
package cn.meteor.beyondclouds.modules.tag.service;
import cn.meteor.beyondclouds.modules.tag.bean.TagDetail;
import cn.meteor.beyondclouds.modules.tag.entity.Tag;
import cn.meteor.beyondclouds.modules.tag.exception.TagServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -22,9 +23,10 @@ public interface ITagService extends IService<Tag> {
* @param tagName
* @param tagType
* @param userId
* @return TagDetail
* @throws TagServiceException
*/
void createTag(String tagName, Integer tagType, String userId) throws TagServiceException;
TagDetail createTag(String tagName, Integer tagType, String userId) throws TagServiceException;
/**
* 检索标签
......
package cn.meteor.beyondclouds.modules.tag.service.impl;
import cn.meteor.beyondclouds.modules.tag.bean.TagDetail;
import cn.meteor.beyondclouds.modules.tag.entity.Tag;
import cn.meteor.beyondclouds.modules.tag.enums.TagErrorCode;
import cn.meteor.beyondclouds.modules.tag.exception.TagServiceException;
......@@ -10,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -41,7 +43,7 @@ public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements ITagS
}
@Override
public void createTag(String tagName, Integer tagType,String userId) throws TagServiceException {
public TagDetail createTag(String tagName, Integer tagType,String userId) throws TagServiceException {
//1. 判断标签类型是否正确
if(tagType!=TAGTYPE_0 && tagType!=TAGTYPE_2) {
......@@ -60,6 +62,12 @@ public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements ITagS
tag.setTagName(tagName);
tag.setTagType(tagType);
save(tag);
//4.返回标签id与标签名称
TagDetail tagDetail=new TagDetail();
BeanUtils.copyProperties(tag, tagDetail);
return tagDetail;
}
@Override
......
......@@ -6,6 +6,7 @@ import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.bean.Subject;
import cn.meteor.beyondclouds.modules.topic.bean.TopicDetail;
import cn.meteor.beyondclouds.modules.topic.entity.Topic;
import cn.meteor.beyondclouds.modules.topic.exception.TopicServiceException;
import cn.meteor.beyondclouds.modules.topic.form.CreateTopicForm;
......@@ -41,8 +42,8 @@ public class TopicApi {
@PostMapping("/topic")
public Response createTopic(@RequestBody @Valid CreateTopicForm createTopicForm, @CurrentSubject Subject subject) {
topicService.createTopic(String.valueOf(subject.getId()), createTopicForm.getTopicName());
return Response.success();
TopicDetail topic = topicService.createTopic(String.valueOf(subject.getId()), createTopicForm.getTopicName());
return Response.success(topic);
}
......
package cn.meteor.beyondclouds.modules.topic.bean;
import lombok.Data;
/**
* @author 胡明森
* @since 2020/2/8
*/
@Data
public class TopicDetail {
private String topicId;
private String topicName;
}
package cn.meteor.beyondclouds.modules.topic.service;
import cn.meteor.beyondclouds.modules.topic.bean.TopicDetail;
import cn.meteor.beyondclouds.modules.topic.entity.Topic;
import cn.meteor.beyondclouds.modules.topic.exception.TopicServiceException;
import cn.meteor.beyondclouds.modules.user.entity.User;
......@@ -22,8 +23,9 @@ public interface ITopicService extends IService<Topic> {
* 创建话题
* @param userId
* @param topicName
* @return TopicDetail
*/
void createTopic(String userId, String topicName);
TopicDetail createTopic(String userId, String topicName);
/**
* 检索话题
......
package cn.meteor.beyondclouds.modules.topic.service.impl;
import cn.meteor.beyondclouds.modules.topic.bean.TopicDetail;
import cn.meteor.beyondclouds.modules.topic.entity.Topic;
import cn.meteor.beyondclouds.modules.topic.entity.TopicFollow;
import cn.meteor.beyondclouds.modules.topic.enums.TopicErrorCode;
......@@ -14,6 +15,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -47,13 +49,19 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
}
@Override
public void createTopic(String userId, String topicName) {
public TopicDetail createTopic(String userId, String topicName) {
//1. 创建话题
Topic topic = new Topic();
topic.setUserId(userId);
topic.setTopicName(topicName);
save(topic);
//2. 返回话题的id与话题名称
TopicDetail topicDetail=new TopicDetail();
BeanUtils.copyProperties(topic, topicDetail);
return topicDetail;
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment