zouxuan 3 lat temu
rodzic
commit
63794069a7

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -19,6 +19,7 @@ import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImMessageDto;
 import com.ym.mec.common.entity.ImPrivateMessage;
+import com.ym.mec.common.entity.ImSendMessageUserInfo;
 import com.ym.mec.common.entity.ImTxtMessage;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -323,7 +324,14 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		ImMessageDto imMessageDto = new ImMessageDto();
 		if(messageDto.getIsIncludeSender() == 0){
 			//发送系统消息用指定的用户
-			imMessageDto.setSenderId(sysConfigDao.findConfigValue("system_message_user"));
+			String userId = sysConfigDao.findConfigValue("system_message_user");
+			imMessageDto.setSenderId(userId);
+			SimpleUserDto simpleUser = teacherDao.getSimpleUser(Integer.parseInt(userId));
+			ImSendMessageUserInfo userInfo = new ImSendMessageUserInfo();
+			userInfo.setIcon(simpleUser.getAvatar());
+			userInfo.setId(userId);
+			userInfo.setName(simpleUser.getUserName());
+			imMessageDto.setUserInfo(userInfo);
 		}else {
 			imMessageDto.setSenderId(messageDto.getSenderId());
 		}

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -1437,7 +1437,8 @@
             su.real_name_ userName,
             su.gender_ gender,
             su.phone_ phone,
-            su.tenant_id_ tenantId
+            su.tenant_id_ tenantId,
+            su.avatar_ avatar
         FROM sys_user su WHERE su.id_ = #{userId}
     </select>
     <select id="countTeacherBasicInfo" resultType="java.lang.Integer">

+ 10 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImMessageDto.java

@@ -21,6 +21,16 @@ public class ImMessageDto {
 
     private Integer isIncludeSender = 1;
 
+    private ImSendMessageUserInfo userInfo;
+
+    public ImSendMessageUserInfo getUserInfo() {
+        return userInfo;
+    }
+
+    public void setUserInfo(ImSendMessageUserInfo userInfo) {
+        this.userInfo = userInfo;
+    }
+
     public Integer getIsIncludeSender() {
         return isIncludeSender;
     }

+ 43 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImSendMessageUserInfo.java

@@ -0,0 +1,43 @@
+package com.ym.mec.common.entity;
+
+public class ImSendMessageUserInfo {
+    private String id;
+
+    private String name;
+
+    private String icon;
+
+    private String extra;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    public String getExtra() {
+        return extra;
+    }
+
+    public void setExtra(String extra) {
+        this.extra = extra;
+    }
+}

+ 9 - 0
mec-im/src/main/java/com/ym/controller/GroupController.java

@@ -8,6 +8,7 @@ import com.ym.service.MessageService;
 import io.rong.messages.FileMessage;
 import io.rong.messages.ImgMessage;
 import io.rong.messages.TxtMessage;
+import io.rong.messages.UserInfo;
 import io.rong.models.Result;
 import io.rong.models.group.GroupMember;
 import io.rong.models.group.GroupModel;
@@ -15,6 +16,7 @@ import io.rong.models.group.UserGroup;
 import io.rong.models.message.GroupMessage;
 import io.rong.models.message.MentionMessage;
 import io.rong.models.message.RecallMessage;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -41,17 +43,24 @@ public class GroupController{
     public Object send(@RequestBody ImMessageDto imMessageDto) throws Exception {
         GroupMessage groupMessage = new GroupMessage();
         String objectName = imMessageDto.getObjectName();
+        UserInfo userInfo = new UserInfo();
+        if(imMessageDto.getUserInfo() != null){
+            BeanUtils.copyProperties(imMessageDto.getUserInfo(),userInfo);
+        }
         if("DY:NoticeMsg".equals(objectName)){
             NoticeMessage noticeMessage = new NoticeMessage(imMessageDto.getMessageContent(),imMessageDto.getExtra());
+            noticeMessage.setUser(userInfo);
             groupMessage.setContent(noticeMessage);
         }else if("RC:ImgMsg".equals(objectName)){
             ImgMessage imgMessage = new ImgMessage(imMessageDto.getMessageContent(),imMessageDto.getExtra(),imMessageDto.getFileUrl());
+            imgMessage.setUser(userInfo);
             groupMessage.setContent(imgMessage);
         }else if("RC:FileMsg".equals(objectName)){
             FileMessage imgMessage = new FileMessage(imMessageDto.getFileName(),imMessageDto.getFileSize(),imMessageDto.getFileUrl(),imMessageDto.getExtra());
             groupMessage.setContent(imgMessage);
         }else {
             TxtMessage txtMessage = new TxtMessage(imMessageDto.getMessageContent(),imMessageDto.getExtra());
+            txtMessage.setUser(userInfo);
             groupMessage.setContent(txtMessage);
         }
         groupMessage.setSenderId(imMessageDto.getSenderId());