Просмотр исходного кода

feat(message): 增加消息接收人昵称字段并优化消息排序

- 在 MessageReceiversVo 中添加 receiveUserName 字段用于存储接收人昵称
- 修改查询方法,根据接收人 ID 获取昵称,若不存在则显示"所有人"
- 调整消息排序方式,按创建时间降序排列
fugui001 4 месяцев назад
Родитель
Сommit
519f67d866

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/domain/vo/MessageReceiversVo.java

@@ -109,4 +109,9 @@ public class MessageReceiversVo implements Serializable {
      */
     private String sendName;
 
+    /**
+     * 接收人
+     */
+    private String receiveUserName;
+
 }

+ 12 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/service/impl/MessageReceiversServiceImpl.java

@@ -6,8 +6,10 @@ import org.dromara.business.domain.enums.MessageTargetTypeEnum;
 import org.dromara.business.domain.enums.MessageTypeEnum;
 import org.dromara.business.domain.enums.ReceiverTypeEnum;
 import org.dromara.business.domain.vo.MessageReceiversVo;
+import org.dromara.business.domain.vo.UserVo;
 import org.dromara.business.mapper.MessageReceiversMapper;
 import org.dromara.business.service.IMessageReceiversService;
+import org.dromara.business.service.IUserService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -39,6 +41,8 @@ public class MessageReceiversServiceImpl implements IMessageReceiversService {
 
     private final MessageReceiversMapper baseMapper;
 
+    private final IUserService iUserService;
+
     /**
      * 查询【请填写功能名称】
      *
@@ -77,6 +81,13 @@ public class MessageReceiversServiceImpl implements IMessageReceiversService {
                 record.setTargetType(MessageTargetTypeEnum.getDescriptionByCode(targetType));
             }
 
+            Long receiveUserId = record.getUserId();
+            UserVo userVo = iUserService.queryById(receiveUserId);
+            if(userVo!=null){
+                record.setReceiveUserName(userVo.getNickName());
+            }else{
+                record.setReceiveUserName("所有人");
+            }
         }
         return TableDataInfo.build(result);
     }
@@ -95,7 +106,7 @@ public class MessageReceiversServiceImpl implements IMessageReceiversService {
 
     private LambdaQueryWrapper<MessageReceivers> buildQueryWrapper(MessageReceiversBo bo) {
         LambdaQueryWrapper<MessageReceivers> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(MessageReceivers::getId);
+        lqw.orderByDesc(MessageReceivers::getCreatedAt);
         lqw.eq(bo.getTitle() != null, MessageReceivers::getTitle, bo.getTitle());
         lqw.eq(bo.getUserId() != null, MessageReceivers::getUserId, bo.getUserId());
         lqw.eq(bo.getCreatedAt() != null, MessageReceivers::getCreatedAt, bo.getCreatedAt());