浏览代码

修复查询老师,学生好友关系类型

Eric 2 年之前
父节点
当前提交
87e140bad1

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

@@ -5,6 +5,7 @@ import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -35,6 +36,10 @@ public class ImUserFriend implements Serializable {
     @ApiModelProperty(value = "融云好友编号")
     private String imFriendId;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "好友用户身份")
+    private ClientEnum clientType;
+
     @TableField("friend_avatar_")
     @ApiModelProperty(value = "好友头像")
     private String friendAvatar;
@@ -126,5 +131,19 @@ public class ImUserFriend implements Serializable {
     public void setImFriendId(String imFriendId) {
         this.imFriendId = imFriendId;
     }
+
+    public ClientEnum getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(ClientEnum clientType) {
+        this.clientType = clientType;
+    }
+
+
+    public ImUserFriend clientType(ClientEnum clientType) {
+        this.clientType = clientType;
+        return this;
+    }
 }
 

+ 11 - 2
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImUserFriendController.java

@@ -7,6 +7,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.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.vo.im.ImUserFriendVO;
@@ -16,6 +17,7 @@ import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.text.MessageFormat;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -46,12 +48,19 @@ public class ImUserFriendController extends BaseController {
     public HttpResponseResult<List<ImUserFriend>> queryAll(@RequestBody Map<String,Object> params) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         Object search = params.get("search");
-        List<ImUserFriend> iPage = imUserFriendService.getBaseMapper().selectList(Wrappers.<ImUserFriend>query().lambda()
+        List<ImUserFriend> userFriends = imUserFriendService.getBaseMapper().selectList(Wrappers.<ImUserFriend>query().lambda()
                 .and(Objects.nonNull(search) && StringUtils.isNotEmpty(search.toString()),
                         e->e.eq(ImUserFriend::getFriendId, search).or()
                         .like(ImUserFriend::getFriendNickname, search))
                 .eq(ImUserFriend::getUserId,sysUser.getId()).orderByDesc(ImUserFriend::getId));
-        return succeed(iPage);
+
+        for (ImUserFriend item : userFriends) {
+            // 学生目前添加好友都为老师
+            item.clientType(ClientEnum.TEACHER)
+                    .setImFriendId(MessageFormat.format("{0}", String.valueOf(item.getFriendId())));
+        }
+
+        return succeed(userFriends);
     }
 
     @ApiOperation("获取好友详情")

+ 10 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImUserFriendController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 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.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
@@ -15,6 +16,7 @@ import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.text.MessageFormat;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -51,6 +53,14 @@ public class ImUserFriendController extends BaseController {
                         e -> e.eq(ImUserFriend::getFriendId, search)
                                 .or().like(ImUserFriend::getFriendNickname, search))
                 .orderByDesc(ImUserFriend::getId));
+
+        for (ImUserFriend item : record) {
+
+            // 老师端添加好友,可能为老师客服或者学生
+            item.clientType(ClientEnum.STUDENT)
+                    .setImFriendId(MessageFormat.format("{0}:{1}", String.valueOf(item.getFriendId()), ClientEnum.STUDENT.name()));
+        }
+
         return succeed(record);
     }