登录
This commit is contained in:
+4
@@ -1,5 +1,7 @@
|
||||
package cn.novalon.gym.manage.notify.core.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class SysUserMessage {
|
||||
@@ -10,6 +12,8 @@ public class SysUserMessage {
|
||||
private String content;
|
||||
private String messageType;
|
||||
private String isRead;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
public Long getId() { return id; }
|
||||
|
||||
+8
@@ -1,5 +1,7 @@
|
||||
package cn.novalon.gym.manage.notify.core.repository;
|
||||
|
||||
import cn.novalon.gym.manage.common.dto.PageRequest;
|
||||
import cn.novalon.gym.manage.common.dto.PageResponse;
|
||||
import cn.novalon.gym.manage.notify.core.domain.SysUserMessage;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -12,6 +14,12 @@ public interface ISysUserMessageRepository {
|
||||
|
||||
Mono<Long> countByUserIdAndIsRead(Long userId, String isRead);
|
||||
|
||||
Mono<PageResponse<SysUserMessage>> findByUserIdPage(Long userId, PageRequest pageRequest);
|
||||
|
||||
Mono<PageResponse<SysUserMessage>> findByUserIdAndIsReadPage(Long userId, String isRead, PageRequest pageRequest);
|
||||
|
||||
Mono<Long> markAllAsReadByUserId(Long userId);
|
||||
|
||||
Mono<SysUserMessage> save(SysUserMessage message);
|
||||
|
||||
Mono<SysUserMessage> findById(Long id);
|
||||
|
||||
+8
@@ -1,5 +1,7 @@
|
||||
package cn.novalon.gym.manage.notify.core.service;
|
||||
|
||||
import cn.novalon.gym.manage.common.dto.PageRequest;
|
||||
import cn.novalon.gym.manage.common.dto.PageResponse;
|
||||
import cn.novalon.gym.manage.notify.core.domain.SysUserMessage;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -12,6 +14,12 @@ public interface ISysUserMessageService {
|
||||
|
||||
Flux<SysUserMessage> getUnreadMessages(Long userId);
|
||||
|
||||
Mono<PageResponse<SysUserMessage>> getMessagesByUserPage(Long userId, PageRequest pageRequest);
|
||||
|
||||
Mono<PageResponse<SysUserMessage>> getUnreadMessagesPage(Long userId, PageRequest pageRequest);
|
||||
|
||||
Mono<Long> markAllAsRead(Long userId);
|
||||
|
||||
Mono<SysUserMessage> createMessage(SysUserMessage message);
|
||||
|
||||
Mono<SysUserMessage> markAsRead(Long id);
|
||||
|
||||
+17
@@ -1,5 +1,7 @@
|
||||
package cn.novalon.gym.manage.notify.core.service.impl;
|
||||
|
||||
import cn.novalon.gym.manage.common.dto.PageRequest;
|
||||
import cn.novalon.gym.manage.common.dto.PageResponse;
|
||||
import cn.novalon.gym.manage.notify.core.domain.SysUserMessage;
|
||||
import cn.novalon.gym.manage.notify.core.repository.ISysUserMessageRepository;
|
||||
import cn.novalon.gym.manage.notify.core.service.ISysUserMessageService;
|
||||
@@ -33,6 +35,16 @@ public class SysUserMessageServiceImpl implements ISysUserMessageService {
|
||||
return messageRepository.findByUserIdAndIsReadOrderByCreateTimeDesc(userId, "0");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysUserMessage>> getMessagesByUserPage(Long userId, PageRequest pageRequest) {
|
||||
return messageRepository.findByUserIdPage(userId, pageRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysUserMessage>> getUnreadMessagesPage(Long userId, PageRequest pageRequest) {
|
||||
return messageRepository.findByUserIdAndIsReadPage(userId, "0", pageRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUserMessage> createMessage(SysUserMessage message) {
|
||||
message.setCreateTime(LocalDateTime.now());
|
||||
@@ -40,6 +52,11 @@ public class SysUserMessageServiceImpl implements ISysUserMessageService {
|
||||
return messageRepository.save(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> markAllAsRead(Long userId) {
|
||||
return messageRepository.markAllAsReadByUserId(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUserMessage> markAsRead(Long id) {
|
||||
return messageRepository.findById(id)
|
||||
|
||||
+43
@@ -1,5 +1,6 @@
|
||||
package cn.novalon.gym.manage.notify.handler;
|
||||
|
||||
import cn.novalon.gym.manage.common.dto.PageRequest;
|
||||
import cn.novalon.gym.manage.notify.core.domain.SysUserMessage;
|
||||
import cn.novalon.gym.manage.notify.core.service.ISysUserMessageService;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -23,6 +24,24 @@ public class SysUserMessageHandler {
|
||||
return ServerResponse.ok().body(messages, SysUserMessage.class);
|
||||
}
|
||||
|
||||
public Mono<ServerResponse> getMessagesByUserPage(ServerRequest request) {
|
||||
Long userId = Long.parseLong(request.pathVariable("userId"));
|
||||
|
||||
int page = Integer.parseInt(request.queryParam("page").orElse("0"));
|
||||
int size = Integer.parseInt(request.queryParam("size").orElse("10"));
|
||||
String sort = request.queryParam("sort").orElse("createTime");
|
||||
String order = request.queryParam("order").orElse("desc");
|
||||
|
||||
PageRequest pageRequest = new PageRequest();
|
||||
pageRequest.setPage(page);
|
||||
pageRequest.setSize(size);
|
||||
pageRequest.setSort(sort);
|
||||
pageRequest.setOrder(order);
|
||||
|
||||
return messageService.getMessagesByUserPage(userId, pageRequest)
|
||||
.flatMap(pageResponse -> ServerResponse.ok().bodyValue(pageResponse));
|
||||
}
|
||||
|
||||
public Mono<ServerResponse> getUnreadCount(ServerRequest request) {
|
||||
Long userId = Long.parseLong(request.pathVariable("userId"));
|
||||
return messageService.getUnreadCount(userId)
|
||||
@@ -35,6 +54,24 @@ public class SysUserMessageHandler {
|
||||
return ServerResponse.ok().body(messages, SysUserMessage.class);
|
||||
}
|
||||
|
||||
public Mono<ServerResponse> getUnreadMessagesPage(ServerRequest request) {
|
||||
Long userId = Long.parseLong(request.pathVariable("userId"));
|
||||
|
||||
int page = Integer.parseInt(request.queryParam("page").orElse("0"));
|
||||
int size = Integer.parseInt(request.queryParam("size").orElse("10"));
|
||||
String sort = request.queryParam("sort").orElse("createTime");
|
||||
String order = request.queryParam("order").orElse("desc");
|
||||
|
||||
PageRequest pageRequest = new PageRequest();
|
||||
pageRequest.setPage(page);
|
||||
pageRequest.setSize(size);
|
||||
pageRequest.setSort(sort);
|
||||
pageRequest.setOrder(order);
|
||||
|
||||
return messageService.getUnreadMessagesPage(userId, pageRequest)
|
||||
.flatMap(pageResponse -> ServerResponse.ok().bodyValue(pageResponse));
|
||||
}
|
||||
|
||||
public Mono<ServerResponse> createMessage(ServerRequest request) {
|
||||
return request.bodyToMono(SysUserMessage.class)
|
||||
.flatMap(messageService::createMessage)
|
||||
@@ -48,6 +85,12 @@ public class SysUserMessageHandler {
|
||||
.switchIfEmpty(ServerResponse.notFound().build());
|
||||
}
|
||||
|
||||
public Mono<ServerResponse> markAllAsRead(ServerRequest request) {
|
||||
Long userId = Long.parseLong(request.pathVariable("userId"));
|
||||
return messageService.markAllAsRead(userId)
|
||||
.flatMap(count -> ServerResponse.ok().bodyValue(count));
|
||||
}
|
||||
|
||||
public Mono<ServerResponse> deleteMessage(ServerRequest request) {
|
||||
Long id = Long.parseLong(request.pathVariable("id"));
|
||||
return messageService.deleteMessage(id)
|
||||
|
||||
Reference in New Issue
Block a user