Переглянути джерело

Merge branch 'feature/0803-im' of http://git.dayaedu.com/yonge/cooleshow into feature/0803-im

liujc 2 роки тому
батько
коміт
04e12c5f88

+ 0 - 4
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java

@@ -152,10 +152,6 @@ public class ImGroupController extends BaseController {
             info = imGroupService.getRongYunInfo(page,size);
             //IM导入
             imGroupService.importInfo(info);
-
-            //为已导入数据更改标识
-            imGroupService.updateStatus(info);
-
         }
     }
 

+ 0 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UploadFileService.java

@@ -59,7 +59,6 @@ public class UploadFileService {
             uploadReturn.setMessage("上传图片格式错误,目前只支持" + supportType);
             return uploadReturn;
         }
-
         String root = fileRoot;
         if (StringUtils.isBlank(root)) {
             uploadReturn.setMessage("上传临时目录没有配置");

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

@@ -63,6 +63,7 @@ import javax.annotation.Resource;
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.*;
+import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.text.MessageFormat;
 import java.text.ParseException;
@@ -764,10 +765,9 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                     String size = jsonObject.getString("size");
                     int duration = jsonObject.getInteger("duration");
                     String content = jsonObject.getString("content");
-                    String name = jsonObject.getString("name");
                     TencentRequest.MessageBody body1 = null;
                     try {
-                        body1 = getTimVideoFileElem(sightUrl,size,duration,content,name);
+                        body1 = getTimVideoFileElem(sightUrl,size,duration,content);
                     } catch (IOException e) {
                         e.printStackTrace();
                     }
@@ -890,10 +890,9 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                     String size = jsonObject.getString("size");
                     int duration = jsonObject.getInteger("duration");
                     String content = jsonObject.getString("content");
-                    String name = jsonObject.getString("name");
                     TencentRequest.MessageBody body1 = null;
                     try {
-                        body1 = getTimVideoFileElem(sightUrl,size,duration,content,name);
+                        body1 = getTimVideoFileElem(sightUrl,size,duration,content);
                     } catch (IOException e) {
                         e.printStackTrace();
                     }
@@ -937,6 +936,8 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 groupImportMessage.setMsgList(list);
                 try {
                     imPluginContext.getPluginService().importGroupMessage(groupImportMessage);
+                    //为已导入数据更改标识
+                    imGroupService.updateStatus(info);
                 } catch (Exception e) {
                     log.error("导入群组IM消息失败 msg:{}",list,e);
                 }
@@ -1011,7 +1012,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     }
 
     //构建视频请求体
-    public  TencentRequest.MessageBody getTimVideoFileElem(String sightUrl, String size, int duration, String content,String name) throws IOException {
+    public  TencentRequest.MessageBody getTimVideoFileElem(String sightUrl, String size, int duration, String content) throws IOException {
         if (StringUtils.isEmpty(sightUrl) && StringUtils.isEmpty(sightUrl) && duration == 0) {
             return null;
         }
@@ -1027,41 +1028,26 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
             format = "JPG";
         }
 
-        //获取JDK8里的解码器Base64.Decoder,将base64字符串转为字节数组
-        //byte[] bytes = Base64.getDecoder().decode(content);
-        //构建字节数组输入流
-        //bais = new ByteArrayInputStream(bytes);
-
-            //获取图片类型
-            String suffix = name.substring(name.lastIndexOf(".") + 1);
-            //获取JDK8里的解码器Base64.Decoder,将base64字符串转为字节数组
             byte[] bytes = Base64.getDecoder().decode(content);
             //构建字节数组输入流
             bais = new ByteArrayInputStream(bytes);
-            //通过ImageIO把字节数组输入流转为BufferedImage
-            BufferedImage bufferedImage = ImageIO.read(bais);
-
-            //构建文件
-            File imageFile = new File(name);
-            //写入生成文件
-            ImageIO.write(bufferedImage, suffix, imageFile);
-
 
 
 
-
-        UploadReturnBean uploadReturnBean = uploadFileService.uploadFile(bais, suffix);
+        UploadReturnBean uploadReturnBean = uploadFileService.uploadFile(bais, format);
         String url = uploadReturnBean.getUrl();
-        /*BufferedImage read = ImageIO.read(bais);
+        URL url2 =  new URL(url);
+        BufferedImage read = ImageIO.read(url2);
         int width = read.getWidth();
-        int height = read.getHeight();*/
-
+        int height = read.getHeight();
 
         ImageUtil.ImageInfo imageReq = ImageUtil.ImageInfo.builder()
                 .imgUrl(url)
-                .suffix(suffix)
+                .suffix(format)
                 .build();
 
+        // 获取图片基本信息
+        ImageUtil.imageToBase64(imageReq);
 
         ImHistoryMessageWrapper.TimVideoFileElem timVideoFileElem = new ImHistoryMessageWrapper.TimVideoFileElem();
         timVideoFileElem.setVideoUrl(sightUrl);
@@ -1072,9 +1058,9 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         timVideoFileElem.setVideoDownloadFlag(2);
         timVideoFileElem.setThumbUrl(url);
         timVideoFileElem.setThumbUUID(imageReq.getMd5());
-        timVideoFileElem.setThumbWidth( bufferedImage.getWidth());
-        timVideoFileElem.setThumbHeight( bufferedImage.getHeight());
-        timVideoFileElem.setThumbSize((imageReq.getSize().intValue()));
+        timVideoFileElem.setThumbWidth( width);
+        timVideoFileElem.setThumbHeight( height);
+        //timVideoFileElem.setThumbSize((imageReq.getSize().intValue()));
         timVideoFileElem.setThumbDownloadFlag(2);
         timVideoFileElem.setThumbFormat(format);
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomMemberServiceImpl.java

@@ -54,7 +54,7 @@ public class ImNetworkRoomMemberServiceImpl extends ServiceImpl<ImNetworkRoomMem
             roomMember.setHandFlag(false);
             roomMember.setMicFlag(microphone);
             roomMember.setMusicModeFlag(false);
-            roomMember.setRole(userRole.ordinal());
+            roomMember.setRole(userRole.getValue());
             roomMember.setUserId(sysUser.getUserId());
             roomMember.setUsername(sysUser.getUsername());
             roomMember.setAvatar(sysUser.getAvatar());

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/ImHistoryMessageWrapper.java

@@ -61,42 +61,55 @@ public class ImHistoryMessageWrapper {
     @ApiModel("ImHistoryMessage-iM视频")
     public static class TimVideoFileElem {
 
+        @JSONField(name = "VideoUrl")
         @ApiModelProperty("视频下载地址。可通过该 URL 地址直接下载相应视频。")
         private String VideoUrl;
 
+        @JSONField(name = "VideoUUID")
         @ApiModelProperty("文视频的唯一标识,客户端用于索引视频的键值。")
         private String VideoUUID;
 
+        @JSONField(name = "VideoSize")
         @ApiModelProperty("视频数据大小,单位:字节。")
         private Integer VideoSize;
 
+        @JSONField(name = "VideoSecond")
         @ApiModelProperty("视频时长,单位:秒。Web 端不支持获取视频时长,值为0")
         private Integer VideoSecond;
 
+        @JSONField(name = "VideoFormat")
         @ApiModelProperty("视频格式,例如 mp4")
         private String VideoFormat;
 
+        @JSONField(name = "VideoDownloadFlag")
         @ApiModelProperty("视频下载方式标记。目前 VideoDownloadFlag 取值只能为2,表示可通过 VideoUrl 字段值的 URL 地址直接下载视频。")
         private Integer VideoDownloadFlag;
 
+        @JSONField(name = "ThumbUrl")
         @ApiModelProperty("视频缩略图下载地址。可通过该 URL 地址直接下载相应视频缩略图。")
         private String ThumbUrl;
 
+        @JSONField(name = "ThumbUUID")
         @ApiModelProperty("视频缩略图的唯一标识,客户端用于索引视频缩略图的键值")
         private String ThumbUUID;
 
+        @JSONField(name = "ThumbSize")
         @ApiModelProperty("缩略图大小,单位:字节。")
         private Integer ThumbSize;
 
+        @JSONField(name = "ThumbWidth")
         @ApiModelProperty("缩略图宽度,单位为像素。")
         private Integer ThumbWidth;
 
+        @JSONField(name = "ThumbHeight")
         @ApiModelProperty("缩略图高度,单位为像素。")
         private Integer ThumbHeight;
 
+        @JSONField(name = "ThumbFormat")
         @ApiModelProperty("缩略图格式,例如 JPG、BMP 等。")
         private String ThumbFormat;
 
+        @JSONField(name = "ThumbDownloadFlag")
         @ApiModelProperty("视频缩略图下载方式标记。目前 ThumbDownloadFlag 取值只能为2,表示可通过 ThumbUrl 字段值的 URL 地址直接下载视频缩略图。")
         private Integer ThumbDownloadFlag;
     }