浏览代码

fix群默认头象

Eric 1 年之前
父节点
当前提交
1264d9eb66

+ 9 - 2
mec-application/src/main/java/com/ym/mec/web/controller/education/ImController.java

@@ -7,6 +7,8 @@ import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -91,12 +93,17 @@ public class ImController extends BaseController {
     }
 
     @ApiOperation(value = "发送私聊消息")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "targetId", value = "接收人id", required = true, dataType = "String"),
+        @ApiImplicitParam(name = "content", value = "消息内容", required = true, dataType = "String"),
+        @ApiImplicitParam(name = "extra", value = "扩展字段", dataType = "String")
+    })
     @GetMapping("/sendPrivateMessage")
-    public Object sendPrivateMessage(String targetId,String content) {
+    public Object sendPrivateMessage(String targetId,String content, String extra) {
         if (StringUtils.isEmpty(targetId) || StringUtils.isEmpty(content)) {
             return failed("参数校验错误");
         }
-        sysMessageService.sendPrivateMessage(targetId,content);
+        sysMessageService.sendPrivateMessage(targetId,content, extra);
         return succeed();
     }
 }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -199,10 +199,11 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	/**
 	 * 发送私聊消息
-	 * @param studentId
-	 * @param content
+	 * @param studentId 接收人id
+	 * @param content 消息内容
+	 * @param extra 扩展字段
 	 */
-    void sendPrivateMessage(String studentId, String content);
+    void sendPrivateMessage(String studentId, String content, String extra);
 
 	/**
 	 * 发送私聊消息

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/im/impl/ImGroupCoreServiceImpl.java

@@ -7,6 +7,7 @@ import com.google.common.collect.Lists;
 import com.microsvc.toolkit.common.tools.ThreadPool;
 import com.microsvc.toolkit.middleware.im.ImPluginContext;
 import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
+import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.ImGroupMemberPlus;
 import com.ym.mec.biz.dal.entity.ImGroupPlus;
 import com.ym.mec.biz.dal.enums.EFriendRoleType;
@@ -144,6 +145,10 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
 
         ImGroupPlus group = JSON.parseObject(imGroup.jsonString(), ImGroupPlus.class);
         group.setId(imGroup.getGroupId());
+        // 群默认头象
+        if (StringUtils.isBlank(imGroup.getImg()) && Objects.nonNull(imGroup.getGroupType())) {
+            imGroup.setImg(imGroup.getGroupType().getAvatar());
+        }
         // 保存群组信息
         imGroupService.saveOrUpdate(group);
 

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.microsvc.toolkit.middleware.common.http.ImageUtil;
 import com.microsvc.toolkit.middleware.im.ImPluginContext;
@@ -310,7 +309,13 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
     @Override
     public List<ImGroup> queryByUserId(Integer userId, String search,String groupType) {
-        return imGroupDao.queryByUserId(userId, search,groupType);
+        List<ImGroup> imGroups = imGroupDao.queryByUserId(userId, search, groupType);
+        for (ImGroup item : imGroups) {
+            if (Objects.nonNull(item.getGroupType()) && StringUtils.isBlank(item.getImg())) {
+                item.setImg(item.getGroupType().getAvatar());
+            }
+        }
+        return imGroups;
     }
 
     @Override

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

@@ -852,7 +852,7 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
                 imContent = student.getUsername() + "学员您好,您的乐器已保养维修完毕,快递已寄出,请注意查收。";
             }
 
-            sysMessageService.sendPrivateMessage(student.getId().toString(), imContent);
+            sysMessageService.sendPrivateMessage(student.getId().toString(), imContent, "");
         }
         log.info("操作人 :" + sysUser.getId());
     }

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -406,14 +406,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public void sendPrivateMessage(String studentId, String content) {
+	public void sendPrivateMessage(String studentId, String content, String extra) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if(sysUser == null){
 			throw new BizException("用户信息获取失败");
 		}
 		//ExecutorService executor = Executors.newCachedThreadPool();
 		CompletableFuture.runAsync(()->{
-			imFeignService.privateSend(getImGroupMessage("RC:TxtMsg",sysUser.getId().toString(),studentId.split(","),content,null));
+			imFeignService.privateSend(getImGroupMessage("RC:TxtMsg", sysUser.getId().toString(),
+				studentId.split(","), content, extra));
 		});
 		//executor.shutdown();
 	}