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

Merge branch 'feature/0803-im'

liujc 2 лет назад
Родитель
Сommit
29f1a76aa7

+ 53 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -797,10 +797,14 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                     //文本
                     TencentRequest.MessageBody body1 = CustomerServiceBatchSendingServiceImpl.getTimTextElem(jsonObject.getString("content"));
                     list.add(body1);
-                } else if (i.getClassname().equals("RC:ImgMsg") || i.getClassname().equals("RC:GIFMsg")) {
-                    //图片  GIf
+                } else if (i.getClassname().equals("RC:ImgMsg")) {
+                    //图片
                     TencentRequest.MessageBody body1 = CustomerServiceBatchSendingServiceImpl.getTimImageElem(jsonObject.getString("imageUri"));
                     list.add(body1);
+                } else if (i.getClassname().equals("RC:GIFMsg")) {
+                    //GIf
+                    TencentRequest.MessageBody body1 = CustomerServiceBatchSendingServiceImpl.getTimImageElem(jsonObject.getString("remoteUrl"));
+                    list.add(body1);
                 } else if (i.getClassname().equals("RC:HQVCMsg")){
                     //语音
                     String remoteUrl = jsonObject.getString("remoteUrl");
@@ -914,10 +918,18 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                     //文本
                     TencentRequest.MessageBody body1 = CustomerServiceBatchSendingServiceImpl.getTimTextElem(jsonObject.getString("content"));
                     bodyList.add(body1);
-                } else if (i.getClassname().equals("RC:ImgMsg") || i.getClassname().equals("RC:GIFMsg")) {
+                } else if (i.getClassname().equals("RC:ImgMsg")) {
                     //图片  GIf
                     TencentRequest.MessageBody body1 = CustomerServiceBatchSendingServiceImpl.getTimImageElem(jsonObject.getString("imageUri"));
                     bodyList.add(body1);
+                } else if (i.getClassname().equals("RC:GIFMsg")) {
+                    //GIf
+                    String remoteUrl = jsonObject.getString("remoteUrl");
+                    int gifDataSize = jsonObject.getInteger("gifDataSize");
+                    int width = jsonObject.getInteger("width");
+                    int height = jsonObject.getInteger("height");
+                    TencentRequest.MessageBody body1 = getTimGifElem(remoteUrl,gifDataSize,width,height);
+                    bodyList.add(body1);
                 } else if (i.getClassname().equals("RC:HQVCMsg")){
                     //语音
                     String remoteUrl = jsonObject.getString("remoteUrl");
@@ -991,6 +1003,44 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         });
     }
 
+    private TencentRequest.MessageBody getTimGifElem(String remoteUr,int size,int width,int height) {
+        if (StringUtils.isEmpty(remoteUr) && size == 0 && width == 0 && height == 0) {
+            return null;
+        }
+
+        // 腾讯云消息
+        // 腾讯云消息
+        ImageUtil.ImageInfo imageReq = ImageUtil.ImageInfo.builder()
+                .imgUrl(remoteUr)
+                .suffix(remoteUr.substring(remoteUr.lastIndexOf(".") + 1))
+                .build();
+
+        // 获取图片基本信息
+        ImageUtil.imageToBase64(imageReq);
+
+        // 图片格式。 JPG = 1 GIF = 2 PNG = 3 BMP = 4 其他 = 255
+        // 图片类型。原图 = 1,大图 = 2,缩略图 = 3
+        int imageFormat = 1;
+        if ("PNG".equalsIgnoreCase(imageReq.getSuffix())) {
+            imageFormat = 3;
+        }
+        if ("GIF".equalsIgnoreCase(imageReq.getSuffix())) {
+            imageFormat = 2;
+        }
+        return TencentRequest.MessageBody.builder()
+                .msgType("TIMImageElem")
+                .msgContent(TencentRequest.ImageMessageBody.builder()
+                        .uuid(imageReq.getMd5())
+                        .imageFormat(imageFormat)
+                        .type(1)
+                        .height(height)
+                        .width(width)
+                        .url(remoteUr)
+                        .size(imageReq.getSize()).build())
+                .build();
+
+    }
+
     //构建合并转发请求体
     private TencentRequest.MessageBody getTimRelayElem() {
         ImHistoryMessageWrapper.TimRelayElem timRelayElem = new ImHistoryMessageWrapper.TimRelayElem();

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -51,7 +51,7 @@
         LIMIT 1
     </select>
     <select id="queryGroupMember" resultType="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
-        SELECT user_id_,group_id_ FROM im_group_member WHERE group_id_ = #{groupId}
+        SELECT user_id_,group_id_,role_type_ FROM im_group_member WHERE group_id_ = #{groupId}
     </select>
     <resultMap id="ImGroupMember" type="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
         <result property="groupId" column="group_id_"/>

+ 5 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/CourseHomeworkController.java

@@ -60,7 +60,11 @@ public class CourseHomeworkController extends BaseController {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         HttpResponseResult info = checkCourseSchedule(courseId,sysUser);
         if (info != null) return info;
-        return succeed(courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId, sysUser.getId()));
+        CourseHomeworkDetailVo detailVo = courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId, sysUser.getId());
+        if (detailVo != null) {
+            detailVo.setImUserId(imGroupService.getImUserId(String.valueOf(detailVo.getTeacherId()),ClientEnum.TEACHER.name()));
+        }
+        return succeed(detailVo);
     }
 
     private HttpResponseResult checkCourseSchedule(Long courseId,SysUser sysUser) {

+ 6 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/CourseHomeworkController.java

@@ -91,7 +91,12 @@ public class CourseHomeworkController extends BaseController {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         HttpResponseResult info = checkCourseSchedule(courseId,sysUser);
         if (info != null) return info;
-        return succeed(courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId, studentId));
+        CourseHomeworkDetailVo detailVo = courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId, studentId);
+        if (detailVo != null) {
+            detailVo.setImUserId(imGroupService.getImUserId(String.valueOf(detailVo.getStudentId()),ClientEnum.STUDENT.name()));
+        }
+
+        return succeed(detailVo);
     }