Commit 47887a5d by 胡明森

获取消息详情

parent 08a40aa6
package cn.meteor.beyondclouds.modules.message.api; 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.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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.stereotype.Controller;
/** /**
* <p> * <p>
...@@ -14,10 +22,30 @@ import org.springframework.stereotype.Controller; ...@@ -14,10 +22,30 @@ import org.springframework.stereotype.Controller;
* @author 段启岩 * @author 段启岩
* @since 2020-02-12 * @since 2020-02-12
*/ */
@Controller @RestController
@Api(tags = "消息API") @Api(tags = "消息API")
@RequestMapping("/api") @RequestMapping("/api")
public class MessageApi { 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; package cn.meteor.beyondclouds.modules.message.service;
import cn.meteor.beyondclouds.modules.message.entity.Message; import cn.meteor.beyondclouds.modules.message.entity.Message;
import cn.meteor.beyondclouds.modules.message.exception.MessageServiceException;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**
...@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IMessageService extends IService<Message> { public interface IMessageService extends IService<Message> {
/**
* 获取消息详情
* @param messageId
* @return
*/
Message getMessage(String messageId) throws MessageServiceException;
} }
package cn.meteor.beyondclouds.modules.message.service.impl; package cn.meteor.beyondclouds.modules.message.service.impl;
import cn.meteor.beyondclouds.modules.message.entity.Message; 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.mapper.MessageMapper;
import cn.meteor.beyondclouds.modules.message.service.IMessageService; import cn.meteor.beyondclouds.modules.message.service.IMessageService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -17,4 +19,16 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +19,16 @@ import org.springframework.stereotype.Service;
@Service @Service
public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService { 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