Commit 47887a5d by 胡明森

获取消息详情

parent 08a40aa6
package cn.meteor.beyondclouds.modules.message.api;
import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.modules.message.entity.Message;
import cn.meteor.beyondclouds.modules.message.exception.MessageServiceException;
import cn.meteor.beyondclouds.modules.message.service.IMessageService;
import cn.meteor.beyondclouds.modules.topic.exception.TopicServiceException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
......@@ -14,10 +22,30 @@ import org.springframework.stereotype.Controller;
* @author 段启岩
* @since 2020-02-12
*/
@Controller
@RestController
@Api(tags = "消息API")
@RequestMapping("/api")
public class MessageApi {
private IMessageService messageService;
@Autowired
public void setMessageService(IMessageService messageService) {
this.messageService = messageService;
}
@ApiOperation("消息详情")
@GetMapping("/message/{messageId}")
public Response getTopic(@PathVariable("messageId") String messageId) {
try {
Message message = messageService.getMessage(messageId);
return Response.success(message);
} catch (MessageServiceException e) {
e.printStackTrace();
return Response.error(e);
}
}
}
package cn.meteor.beyondclouds.modules.message.enums;
import cn.meteor.beyondclouds.core.IErrorCode;
/**
* 消息相关错误码
* @author 胡明森
*/
public enum MessageErrorCode implements IErrorCode {
/**
* 错误码
*/
MESSAGE_NOT_EXISTS(3002, "消息不存在");
MessageErrorCode(long code, String msg) {
this.code = code;
this.msg = msg;
}
private long code;
private String msg;
@Override
public long code () {
return code;
}
@Override
public String msg() {
return msg;
}
}
package cn.meteor.beyondclouds.modules.message.exception;
import cn.meteor.beyondclouds.core.IErrorCode;
import cn.meteor.beyondclouds.core.exception.ServiceException;
import lombok.Data;
/**
* 话题业务异常
* @author 胡明森
* @since 2020/1/28
*/
@Data
public class MessageServiceException extends ServiceException {
public MessageServiceException(long errorCode, String errorMsg) {
super(errorCode, errorMsg);
}
public MessageServiceException(IErrorCode errorCode) {
this(errorCode.code(), errorCode.msg());
}
}
package cn.meteor.beyondclouds.modules.message.service;
import cn.meteor.beyondclouds.modules.message.entity.Message;
import cn.meteor.beyondclouds.modules.message.exception.MessageServiceException;
import com.baomidou.mybatisplus.extension.service.IService;
/**
......@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IMessageService extends IService<Message> {
/**
* 获取消息详情
* @param messageId
* @return
*/
Message getMessage(String messageId) throws MessageServiceException;
}
package cn.meteor.beyondclouds.modules.message.service.impl;
import cn.meteor.beyondclouds.modules.message.entity.Message;
import cn.meteor.beyondclouds.modules.message.enums.MessageErrorCode;
import cn.meteor.beyondclouds.modules.message.exception.MessageServiceException;
import cn.meteor.beyondclouds.modules.message.mapper.MessageMapper;
import cn.meteor.beyondclouds.modules.message.service.IMessageService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -17,4 +19,16 @@ import org.springframework.stereotype.Service;
@Service
public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService {
@Override
public Message getMessage(String messageId) throws MessageServiceException{
//1. 检测是否存在该消息
Message message =getById(messageId);
if (message == null) {
throw new MessageServiceException(MessageErrorCode.MESSAGE_NOT_EXISTS);
}
//2. 返回消息详情
return message;
}
}
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