Pārlūkot izejas kodu

Merge branch 'dev_v1.3.5_20220927'

Eric 3 gadi atpakaļ
vecāks
revīzija
ec40dd0b3e

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupMember.java

@@ -56,6 +56,10 @@ public class ImGroupMember implements Serializable {
     @ApiModelProperty(value = "修改时间;")
     private Date updateTime;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "IM用户ID")
+    private String imUserId;
+
     public ImGroupMember() {
     }
 
@@ -142,5 +146,12 @@ public class ImGroupMember implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public String getImUserId() {
+        return imUserId;
+    }
+
+    public void setImUserId(String imUserId) {
+        this.imUserId = imUserId;
+    }
 }
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImUserFriend.java

@@ -31,6 +31,10 @@ public class ImUserFriend implements Serializable {
     @ApiModelProperty(value = "好友编号")
     private Long friendId;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "融云好友编号")
+    private String imFriendId;
+
     @TableField("friend_avatar_")
     @ApiModelProperty(value = "好友头像")
     private String friendAvatar;
@@ -115,5 +119,12 @@ public class ImUserFriend implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public String getImFriendId() {
+        return imFriendId;
+    }
+
+    public void setImFriendId(String imFriendId) {
+        this.imFriendId = imFriendId;
+    }
 }
 

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

@@ -78,6 +78,6 @@ public interface ImGroupMemberService extends IService<ImGroupMember> {
     * @author zx
     * @date 2022/3/24 13:53
     */
-    ImGroupMember getUserDetail(Long userId, String groupId);
+    ImGroupMember getUserDetail(String userId, String groupId);
 }
 

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

@@ -34,7 +34,7 @@ public interface ImUserFriendService extends IService<ImUserFriend> {
     * @author zx
     * @date 2022/3/24 12:03
     */
-    ImUserFriend getDetail(Long userId);
+    ImUserFriend getDetail(String userId);
 
     /**
      * 新用户自动添加客服

+ 10 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberServiceImpl.java

@@ -106,8 +106,15 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ImGroupMember getUserDetail(Long userId, String groupId) {
-        ImGroupMember imGroupMember = baseMapper.findByUserIdAndGroupId(userId,groupId);
+    public ImGroupMember getUserDetail(String imUserId, String groupId) {
+
+        // 用户ID
+        long userId = Long.parseLong(imUserId.split(":")[0]);
+
+        // 群组信息
+        ImGroupMember imGroupMember = baseMapper.findByUserIdAndGroupId(userId, groupId);
+
+        // 用户基本信息
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         if(Objects.isNull(imGroupMember)){
             imGroupMember = new ImGroupMember();
@@ -115,6 +122,7 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
             imGroupMember.setUserId(userId);
         }
         //更新当前用户关联的该用户的详情信息
+        imGroupMember.setImUserId(imUserId);
         imGroupMember.setNickname(basicUserInfo.getUsername());
         imGroupMember.setAvatar(basicUserInfo.getAvatar());
         if(imGroupMember.getId() != null){

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

@@ -94,7 +94,10 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ImUserFriend getDetail(Long userId) {
+    public ImUserFriend getDetail(String imUserId) {
+
+        long userId = Long.parseLong(imUserId.split(":")[0]);
+
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         if(sysUser != null && sysUser.getId() != null){
@@ -112,6 +115,9 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
         imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());
         imUserFriend.setFriendNickname(basicUserInfo.getUsername());
         imUserFriend.setFriendId(userId);
+        // 设置融云IM好友ID
+        imUserFriend.setImFriendId(imUserId);
+
         return imUserFriend;
     }
 

+ 13 - 3
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupMemberController.java

@@ -4,14 +4,17 @@ package com.yonge.cooleshow.student.controller;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.utils.collection.MapUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -44,12 +47,19 @@ public class ImGroupMemberController extends BaseController {
     })
     @ApiOperation("获取好友详情")
     @PostMapping(value = "/getUserDetail")
-    public HttpResponseResult<ImGroupMember> getUserDetail(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<ImGroupMember> getUserDetail(@RequestBody Map<String,Object> params) {
         if(Objects.isNull(params.get("groupId")) || Objects.isNull(params.get("userId"))){
             throw new BizException("参数校验失败");
         }
-        return succeed(imGroupMemberService.getUserDetail(Long.parseLong(params.get("userId").toString()),
-                params.get("groupId").toString()));
+
+        String userId = MapUtils.getString(params, "userId", "");
+
+        String ret = userId.split(":")[0];
+        if (!ret.matches(MK.EXP_INT)) {
+            return failed("无效的用户ID");
+        }
+
+        return succeed(imGroupMemberService.getUserDetail(userId, params.get("groupId").toString()));
     }
 
 

+ 8 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImUserFriendController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -53,7 +54,13 @@ public class ImUserFriendController extends BaseController {
 
     @ApiOperation("获取好友详情")
     @PostMapping(value = "/getDetail/{userId}")
-    public HttpResponseResult<ImUserFriend> getDetail(@ApiParam(value = "用户编号", required = true) @PathVariable("userId") Long userId) throws Exception {
+    public HttpResponseResult<ImUserFriend> getDetail(@ApiParam(value = "用户编号", required = true) @PathVariable("userId") String userId) {
+
+        String ret = userId.split(":")[0];
+        if (!ret.matches(MK.EXP_INT)) {
+            return failed("无效的用户ID");
+        }
+
         return succeed(imUserFriendService.getDetail(userId));
     }
 }

+ 12 - 3
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupMemberController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
 import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -14,6 +15,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -46,12 +48,19 @@ public class ImGroupMemberController extends BaseController {
     })
     @ApiOperation("获取好友详情")
     @PostMapping(value = "/getUserDetail")
-    public HttpResponseResult<ImGroupMember> getUserDetail(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<ImGroupMember> getUserDetail(@RequestBody Map<String,Object> params) {
         if(Objects.isNull(params.get("groupId")) || Objects.isNull(params.get("userId"))){
             throw new BizException("参数校验失败");
         }
-        return succeed(imGroupMemberService.getUserDetail(Long.parseLong(params.get("userId").toString()),
-                params.get("groupId").toString()));
+
+        String userId = MapUtils.getString(params, "userId", "");
+
+        String ret = userId.split(":")[0];
+        if (!ret.matches(MK.EXP_INT)) {
+            return failed("无效的用户ID");
+        }
+
+        return succeed(imGroupMemberService.getUserDetail(userId, params.get("groupId").toString()));
     }
 
     @ApiImplicitParams({

+ 8 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImUserFriendController.java

@@ -4,6 +4,7 @@ package com.yonge.cooleshow.teacher.controller;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -53,7 +54,13 @@ public class ImUserFriendController extends BaseController {
 
     @ApiOperation("获取好友详情")
     @PostMapping(value = "/getDetail/{userId}")
-    public HttpResponseResult<ImUserFriend> getDetail(@ApiParam(value = "用户编号", required = true) @PathVariable("userId") Long userId) throws Exception {
+    public HttpResponseResult<ImUserFriend> getDetail(@ApiParam(value = "用户编号", required = true) @PathVariable("userId") String userId) {
+
+        String ret = userId.split(":")[0];
+        if (!ret.matches(MK.EXP_INT)) {
+            return failed("无效的用户ID");
+        }
+
         return succeed(imUserFriendService.getDetail(userId));
     }