消息提醒代码开发

master
薛宏祥 1 year ago
parent 9d611ac092
commit b467d1a414
  1. 26
      src/main/java/org/springblade/modules/business/contraller/MessageController.java
  2. 11
      src/main/java/org/springblade/modules/business/pojo/dto/MessageUpdateDTO.java
  3. 5
      src/main/java/org/springblade/modules/business/service/IMessageService.java
  4. 33
      src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java

@ -5,11 +5,13 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springblade.modules.business.pojo.dto.MessageUpdateDTO;
import org.springblade.modules.business.pojo.entity.Message;
import org.springblade.modules.business.pojo.vo.MessageVO;
import org.springblade.modules.business.service.IMessageService;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@ -27,15 +29,15 @@ public class MessageController extends BladeController {
*
* @param current
* @param size
* @param start
* @param end
* @param startTime
* @param endTime
* @param status
* @return
*/
@GetMapping("/list")
@Operation(summary = "消息列表获取", description = "消息列表获取")
public R getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) {
return R.data(messageService.getMessageList(current, size, start, end, status));
public R getMessageList(Integer current, Integer size, LocalDate startTime, LocalDate endTime, Integer status) {
return R.data(messageService.getMessageList(current, size, startTime, endTime, status));
}
/**
@ -53,23 +55,26 @@ public class MessageController extends BladeController {
/**
* 更新已读接口
*
* @param id
* @param status
* @param messageUpdateDTO
* @return
*/
@PutMapping("/updateStatus")
@PostMapping("/updateStatus")
@Operation(summary = "更新已读", description = "更新已读")
public void updateMessageStatus(Integer id, Integer status) {
public R updateMessageStatus(@RequestBody MessageUpdateDTO messageUpdateDTO) {
Integer status = messageUpdateDTO.getStatus();
Long id = messageUpdateDTO.getId();
messageService.updateMessageStatus(id, status);
return R.success();
}
/**
* 一键已读全部接口
*/
@PutMapping("/updateStatusAll")
@PostMapping("/updateStatusAll")
@Operation(summary = "一键全部已读", description = "一键全部已读")
public void updateMessageStatusAll() {
public R updateMessageStatusAll() {
messageService.updateMessageStatusAll();
return R.success();
}
@PostMapping("/saveMessage")
@ -79,7 +84,6 @@ public class MessageController extends BladeController {
String systemType = message.getSystemType();
Long messageUser = message.getMessageUser();
Integer messageType = message.getMessageType();
messageService.saveMessage(systemType, title, content, messageUser, messageType);
}

@ -0,0 +1,11 @@
package org.springblade.modules.business.pojo.dto;
import lombok.Data;
@Data
public class MessageUpdateDTO {
private Long id;
private Integer status;
}

@ -5,6 +5,7 @@ import org.springblade.modules.business.pojo.entity.Message;
import org.springblade.modules.business.pojo.vo.MessageVO;
import org.springblade.modules.business.pojo.vo.PageVO;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@ -13,11 +14,11 @@ public interface IMessageService extends BaseService<Message> {
void saveMessage(String systemType, String title, String content, Long messageUser, Integer messageType);
PageVO getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status);
PageVO getMessageList(Integer current, Integer size, LocalDate start, LocalDate end, Integer status);
Long getMessageTotal();
void updateMessageStatus(Integer id, Integer status);
void updateMessageStatus(Long id, Integer status);
void updateMessageStatusAll();
}

@ -12,7 +12,7 @@ import org.springblade.modules.business.pojo.vo.PageVO;
import org.springblade.modules.business.service.IMessageService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
@ -49,31 +49,37 @@ public class MessageServiceImpl extends BaseServiceImpl<MessageMapper, Message>
*
* @param current
* @param size
* @param start
* @param end
* @param startTime
* @param endTime
* @param status
* @return
*/
@Override
public PageVO getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) {
public PageVO getMessageList(Integer current, Integer size, LocalDate startTime, LocalDate endTime, Integer status) {
QueryWrapper<Message> queryWrapper = new QueryWrapper<>();
if (start != null && end != null) {
queryWrapper.between("create_time", start, end);
if (startTime != null && endTime != null) {
queryWrapper.between("create_time", startTime, endTime);
}
if (status != null) {
queryWrapper.eq("is_read", status);
}
//筛选专属该用户的信息
queryWrapper.eq("message_user", AuthUtil.getUserId());
//使未读在已读之上
queryWrapper.orderByAsc("is_read");
//在未读在已读之上的基础上 再按时间进行排序
queryWrapper.orderByDesc("create_time");
Page<Message> page = new Page<>(current, size);
Page<Message> messagePage = baseMapper.selectPage(page, queryWrapper);
List<Message> records = messagePage.getRecords();
Long total = messagePage.getTotal();
MessageVO messageVO = new MessageVO();
List<MessageVO> messageVOList = new ArrayList<>();
for (Message record : records) {
MessageVO messageVO = new MessageVO();
messageVO.setId(record.getId());
messageVO.setContent(record.getContent());
messageVO.setMessageType(record.getMessageType());
messageVO.setStatus(record.getStatus());
messageVO.setStatus(record.getIsRead());
messageVO.setCreateTime(record.getCreateTime());
messageVOList.add(messageVO);
}
@ -90,7 +96,12 @@ public class MessageServiceImpl extends BaseServiceImpl<MessageMapper, Message>
*/
@Override
public Long getMessageTotal() {
return baseMapper.selectCount(null);
QueryWrapper<Message> queryWrapper = new QueryWrapper<>();
//筛选该用户的专属消息
queryWrapper.eq("message_user", AuthUtil.getUserId());
//只查询未读的消息
queryWrapper.eq("is_read", 0);
return baseMapper.selectCount(queryWrapper);
}
/**
@ -100,7 +111,7 @@ public class MessageServiceImpl extends BaseServiceImpl<MessageMapper, Message>
* @param status
*/
@Override
public void updateMessageStatus(Integer id, Integer status) {
public void updateMessageStatus(Long id, Integer status) {
UpdateWrapper<Message> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", id).set("is_read", status);
baseMapper.update(updateWrapper);
@ -112,6 +123,8 @@ public class MessageServiceImpl extends BaseServiceImpl<MessageMapper, Message>
@Override
public void updateMessageStatusAll() {
UpdateWrapper<Message> updateWrapper = new UpdateWrapper<>();
//筛选该用户的专属消息
updateWrapper.eq("message_user", AuthUtil.getUserId());
updateWrapper.eq("is_read", 0).set("is_read", 1);
baseMapper.update(updateWrapper);
}

Loading…
Cancel
Save