Commit 01546ca9 by 段启岩

Merge remote-tracking branch 'origin/fix-issue#57'

# Conflicts:
#	src/main/java/cn/meteor/beyondclouds/modules/message/api/MessageApi.java
#	src/main/java/cn/meteor/beyondclouds/modules/message/service/IMessageService.java
#	src/main/java/cn/meteor/beyondclouds/modules/message/service/impl/MessageServiceImpl.java
parents 417c10a0 da08ddd2
package cn.meteor.beyondclouds.modules.message.api;
import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.authentication.Subject;
import cn.meteor.beyondclouds.core.exception.ServiceException;
import cn.meteor.beyondclouds.modules.message.entity.Message;
import cn.meteor.beyondclouds.modules.message.service.IMessageService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -13,6 +17,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.stereotype.Controller;
import javax.validation.Valid;
/**
* <p>
* 前端控制器
......@@ -25,7 +31,6 @@ import org.springframework.stereotype.Controller;
@Api(tags = "消息API")
@RequestMapping("/api")
public class MessageApi {
private IMessageService messageService;
@Autowired
......@@ -47,7 +52,13 @@ public class MessageApi {
return Response.success();
}
@ApiOperation("我的消息列表")
@GetMapping("/my/messages")
public Response<PageVO<Message>> getMyMessages(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
// 根据用户获取列表并返回
IPage<Message> messageIPage = messageService.getMessagePage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Message> messagePageVO = new PageVO<>(messageIPage);
return Response.success(messagePageVO);
}
}
......@@ -2,10 +2,9 @@ package cn.meteor.beyondclouds.modules.message.service;
import cn.meteor.beyondclouds.core.exception.ServiceException;
import cn.meteor.beyondclouds.modules.message.entity.Message;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.io.Serializable;
/**
* <p>
* 服务类
......@@ -15,7 +14,6 @@ import java.io.Serializable;
* @since 2020-02-12
*/
public interface IMessageService extends IService<Message> {
/**
* 标记一个信息为已读
* @param messageId
......@@ -27,4 +25,14 @@ public interface IMessageService extends IService<Message> {
* @param userId
*/
void readMessages(String userId);
/**
* 获取我的消息列表
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
IPage<Message> getMessagePage(Integer pageNumber, Integer pageSize, String userId);
}
......@@ -7,7 +7,10 @@ import cn.meteor.beyondclouds.modules.message.enums.MessageStatus;
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.core.conditions.query.QueryWrapper;
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.stereotype.Service;
......@@ -21,7 +24,6 @@ import org.springframework.stereotype.Service;
*/
@Service
public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService {
@Override
public void readMessage(String messageId) throws ServiceException {
......@@ -40,4 +42,22 @@ public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> impl
updateWrapper.set("status", MessageStatus.READ.getStatus());
update(updateWrapper);
}
/**
* 获取我的消息列表
* @param pageNumber
* @param pageSize
* @param userId
* @return IPage<Message>
*/
@Override
public IPage<Message> getMessagePage(Integer pageNumber, Integer pageSize, String userId) {
IPage<Message> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Message> messageQueryWrapper = new QueryWrapper<>();
messageQueryWrapper.eq("user_id", userId);
messageQueryWrapper.orderByDesc("create_time");
return page(page, messageQueryWrapper);
}
}
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