zouxuan пре 3 година
родитељ
комит
67c868dbf0
19 измењених фајлова са 231 додато и 46 уклоњено
  1. 1 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupDao.java
  2. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupMemberDao.java
  3. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImUserFriendDao.java
  4. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupMember.java
  5. 10 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupMemberService.java
  6. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java
  7. 9 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImUserFriendService.java
  8. 22 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberServiceImpl.java
  9. 2 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java
  10. 28 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java
  11. 2 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMapper.xml
  12. 3 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml
  13. 3 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml
  14. 2 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupController.java
  15. 51 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupMemberController.java
  16. 13 17
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImUserFriendController.java
  17. 2 2
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java
  18. 52 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupMemberController.java
  19. 14 13
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImUserFriendController.java

+ 1 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupDao.java

@@ -1,8 +1,6 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import org.apache.ibatis.annotations.Param;
 
@@ -21,6 +19,6 @@ public interface ImGroupDao extends BaseMapper<ImGroup> {
 
     ImGroup getLock(@Param("groupId") Long groupId);
 
-    IPage<ImGroup> queryPage(Page<ImGroup> pageInfo, @Param("params") Map<String, Object> params);
+    List<ImGroup> findAll(Map<String, Object> params);
 }
 

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupMemberDao.java

@@ -44,5 +44,7 @@ public interface ImGroupMemberDao extends BaseMapper<ImGroupMember> {
     List<ImGroupMember> initImGroupMember(@Param("imGroupId") Long imGroupId,
                                            @Param("userIds") Set<Long> userIds,
                                            @Param("roleType") String roleType);
+
+    ImGroupMember findByUserIdAndGroupId(@Param("userId") Long userId, @Param("groupId") Long groupId);
 }
 

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImUserFriendDao.java

@@ -16,5 +16,6 @@ public interface ImUserFriendDao extends BaseMapper<ImUserFriend> {
 
     int insertBatch(@Param("entities") List<ImUserFriend> entities);
 
+    ImUserFriend findByUserIdAndFriendId(@Param("userId") Long userId, @Param("friendId") Long friendId);
 }
 

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

@@ -35,6 +35,10 @@ public class ImGroupMember implements Serializable {
     @ApiModelProperty(value = "昵称;")
     private String nickname;
 
+    @TableField("avatar_")
+    @ApiModelProperty(value = "用户头像;")
+    private String avatar;
+
     @TableField("is_admin_")
     @ApiModelProperty(value = "是否是管理员")
     private Boolean isAdmin;
@@ -82,6 +86,14 @@ public class ImGroupMember implements Serializable {
         }
     }
 
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
     public Long getId() {
         return id;
     }

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

@@ -68,5 +68,15 @@ public interface ImGroupMemberService extends IService<ImGroupMember> {
     * @date 2022/3/22 16:21
     */
     void delByGroupId(Long groupId);
+
+    /**
+    * @description: 获取群成员基本信息
+     * @param userId
+     * @param groupId
+    * @return com.yonge.cooleshow.biz.dal.entity.ImGroupMember
+    * @author zx
+    * @date 2022/3/24 13:53
+    */
+    ImGroupMember getUserDetail(Long userId, Long groupId);
 }
 

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

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.common.page.PageInfo;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -50,6 +51,6 @@ public interface ImGroupService extends IService<ImGroup> {
     */
     void syncGroupMemberNum(Long groupId) throws Exception;
 
-    PageInfo<ImGroup> queryPage(Map<String, Object> params);
+    List<ImGroup> queryPage(Map<String, Object> params);
 }
 

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

@@ -28,5 +28,14 @@ public interface ImUserFriendService extends IService<ImUserFriend> {
     * @date 2022/3/24 10:06
     */
     void saveUserFriend(Long teacherId, Set<Long> studentIds);
+
+    /**
+    * @description: 获取用户详情
+     * @param userId
+    * @return com.yonge.cooleshow.biz.dal.entity.ImUserFriend
+    * @author zx
+    * @date 2022/3/24 12:03
+    */
+    ImUserFriend getDetail(Long userId);
 }
 

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

@@ -1,6 +1,8 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.config.RongCloudConfig;
 import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
 import com.yonge.cooleshow.biz.dal.dao.ImGroupMemberDao;
@@ -8,22 +10,21 @@ import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.common.exception.BizException;
 import io.rong.models.Result;
 import io.rong.models.group.GroupMember;
 import io.rong.models.group.GroupModel;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 群成员表(ImGroupMember)表服务实现类
@@ -40,6 +41,8 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
     private TeacherDao teacherDao;
     @Resource
     private ImGroupDao imGroupDao;
+    @Resource
+    private SysUserFeignService sysUserFeignService;
 
     @Override
     public ImGroupMemberDao getDao() {
@@ -108,5 +111,20 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
     public void delByGroupId(Long groupId) {
         this.baseMapper.delByGroupId(groupId);
     }
+
+    @Override
+    public ImGroupMember getUserDetail(Long userId, Long groupId) {
+        ImGroupMember imGroupMember = baseMapper.findByUserIdAndGroupId(userId,groupId);
+        if(Objects.isNull(imGroupMember)){
+            throw new BizException("当前用户不在此群组");
+        }
+        BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
+        //更新当前用户关联的该用户的详情信息
+        imGroupMember.setNickname(imGroupMember.getRoleType()== ImGroupMember.ImGroupMemberRoleType.STUDENT?basicUserInfo.getUsername():basicUserInfo.getRealName());
+        imGroupMember.setAvatar(basicUserInfo.getAvatar());
+        imGroupMember.setUpdateTime(new Date());
+        baseMapper.updateById(imGroupMember);
+        return imGroupMember;
+    }
 }
 

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

@@ -172,10 +172,8 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     }
 
     @Override
-    public PageInfo<ImGroup> queryPage(Map<String, Object> params) {
-        Page<ImGroup> pageInfo = PageUtil.getPageInfo(params);
-        pageInfo.setDesc("id_");
-        return PageUtil.pageInfo(baseMapper.queryPage(pageInfo,params));
+    public List<ImGroup> queryPage(Map<String, Object> params) {
+        return baseMapper.findAll(params);
     }
 }
 

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

@@ -2,6 +2,8 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.ImUserFriendDao;
 import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
@@ -13,6 +15,7 @@ import com.yonge.cooleshow.common.page.QueryInfo;
 import com.yonge.toolset.utils.collection.MapUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import org.slf4j.Logger;
@@ -36,6 +39,8 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
 
     @Resource
     private TeacherDao teacherDao;
+    @Resource
+    private SysUserFeignService sysUserFeignService;
     @Override
     public ImUserFriendDao getDao() {
         return this.baseMapper;
@@ -78,5 +83,28 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public ImUserFriend getDetail(Long userId) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
+        if(sysUser != null && sysUser.getId() != null){
+            ImUserFriend imUserFriend = baseMapper.findByUserIdAndFriendId(sysUser.getId(),userId);
+            if(Objects.nonNull(imUserFriend)){
+                //更新当前用户关联的该用户的详情信息
+                imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());
+                imUserFriend.setFriendNickname(StringUtils.isEmpty(basicUserInfo.getRealName())?basicUserInfo.getUsername():basicUserInfo.getRealName());
+                imUserFriend.setUpdateTime(new Date());
+                baseMapper.updateById(imUserFriend);
+                return imUserFriend;
+            }
+        }
+        ImUserFriend imUserFriend = new ImUserFriend();
+        imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());
+        imUserFriend.setFriendNickname(StringUtils.isEmpty(basicUserInfo.getRealName())?basicUserInfo.getUsername():basicUserInfo.getRealName());
+        imUserFriend.setFriendId(userId);
+        return imUserFriend;
+    }
+
 }
 

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

@@ -37,7 +37,7 @@
     <select id="getLock" resultMap="BaseResultMap">
         SELECT * FROM im_group WHERE id_ = #{groupId} LIMIT 1 FOR UPDATE
     </select>
-    <select id="queryPage" resultMap="BaseResultMap">
+    <select id="findAll" resultMap="BaseResultMap">
         SELECT ig.* FROM im_group ig
         LEFT JOIN im_group_member igm ON igm.group_id_ = ig.id_
         <where>
@@ -49,6 +49,7 @@
                 ig.name_ LIKE CONCAT('%',#{params.search},'%') OR ig.introduce_ LIKE CONCAT('%',#{params.search},'%'))
             </if>
         </where>
+        ORDER BY id_ DESC
     </select>
 
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"

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

@@ -70,4 +70,7 @@
             #{userId}
         </foreach>
     </select>
+    <select id="findByUserIdAndGroupId" resultMap="ImGroupMember">
+        SELECT <include refid="Base_Column_List"/> FROM im_group_member WHERE group_id_ = #{groupId} AND user_id_ = #{userId} LIMIT 1
+    </select>
 </mapper>

+ 3 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml

@@ -26,4 +26,7 @@
             #{entity.updateTime})
         </foreach>
     </insert>
+    <select id="findByUserIdAndFriendId" resultMap="BaseResultMap">
+        SELECT <include refid="Base_Column_List"/> FROM im_user_friend WHERE user_id_ = #{userId} AND friend_id_ = #{friendId} LIMIT 1
+    </select>
 </mapper>

+ 2 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupController.java

@@ -12,6 +12,7 @@ import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -43,7 +44,7 @@ public class ImGroupController extends BaseController {
     })
     @ApiOperation("分页查询")
     @PostMapping(value = "/queryPage")
-    public HttpResponseResult<PageInfo<ImGroup>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<List<ImGroup>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         params.put("userId",sysUser.getId());
         return succeed(imGroupService.queryPage(params));

+ 51 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupMemberController.java

@@ -0,0 +1,51 @@
+package com.yonge.cooleshow.student.controller;
+
+
+import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+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.cooleshow.common.exception.BizException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 即时通讯群组(ImGroupMember)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:56
+ */
+@Api(tags = "即时通讯群组联系人")
+@RestController
+@RequestMapping("/imGroupMember")
+public class ImGroupMemberController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImGroupMemberService imGroupMemberService;
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "groupId", dataType = "Long", value = "群编号",required = true),
+            @ApiImplicitParam(name = "userId", dataType = "Long", value = "用户编号",required = true),
+    })
+    @ApiOperation("获取好友详情")
+    @PostMapping(value = "/getUserDetail")
+    public HttpResponseResult<ImGroupMember> getUserDetail(@RequestBody Map<String,Long> params) throws Exception {
+        if(Objects.isNull(params.get("groupId")) || Objects.isNull(params.get("userId"))){
+            throw new BizException("参数校验失败");
+        }
+        return succeed(imGroupMemberService.getUserDetail(params.get("userId"),params.get("groupId")));
+    }
+}
+

+ 13 - 17
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImUserFriendController.java

@@ -1,27 +1,18 @@
 package com.yonge.cooleshow.student.controller;
 
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.service.ImUserFriendService;
-import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.page.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.*;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -47,14 +38,19 @@ public class ImUserFriendController extends BaseController {
     })
     @ApiOperation("分页查询")
     @PostMapping(value = "/queryPage")
-    public HttpResponseResult<PageInfo<ImUserFriend>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<List<ImUserFriend>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Page<ImUserFriend> pageInfo = PageUtil.getPageInfo(params);
-        IPage<ImUserFriend> iPage = imUserFriendService.getBaseMapper().selectPage(pageInfo, Wrappers.<ImUserFriend>query().lambda()
+        List<ImUserFriend> iPage = imUserFriendService.getBaseMapper().selectList(Wrappers.<ImUserFriend>query().lambda()
                 .or(e->e.eq(ImUserFriend::getFriendId, params.get("search"))
                         .like(ImUserFriend::getFriendNickname, params.get("search")))
-                .eq(ImUserFriend::getUserId,sysUser.getId()).orderByDesc(ImUserFriend::getCreateTime));
-        return succeed(PageUtil.pageInfo(iPage));
+                .eq(ImUserFriend::getUserId,sysUser.getId()).orderByDesc(ImUserFriend::getId));
+        return succeed(iPage);
+    }
+
+    @ApiOperation("获取好友详情")
+    @PostMapping(value = "/getDetail/{userId}")
+    public HttpResponseResult<ImUserFriend> getDetail(@ApiParam(value = "用户编号", required = true) @PathVariable("userId") Long userId) throws Exception {
+        return succeed(imUserFriendService.getDetail(userId));
     }
 }
 

+ 2 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -7,7 +7,6 @@ import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.page.PageInfo;
 import com.yonge.toolset.utils.validator.ValidationKit;
 import io.swagger.annotations.*;
 import org.springframework.validation.BindingResult;
@@ -15,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -63,7 +63,7 @@ public class ImGroupController extends BaseController {
     })
     @ApiOperation("分页查询")
     @PostMapping(value = "/queryPage")
-    public HttpResponseResult<PageInfo<ImGroup>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<List<ImGroup>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         params.put("userId",sysUser.getId());
         return succeed(imGroupService.queryPage(params));

+ 52 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupMemberController.java

@@ -0,0 +1,52 @@
+package com.yonge.cooleshow.teacher.controller;
+
+
+import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+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.cooleshow.common.exception.BizException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 即时通讯群组(ImGroupMember)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:56
+ */
+@Api(tags = "即时通讯群组联系人")
+@RestController
+@RequestMapping("/imGroupMember")
+public class ImGroupMemberController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImGroupMemberService imGroupMemberService;
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "groupId", dataType = "Long", value = "群编号",required = true),
+            @ApiImplicitParam(name = "userId", dataType = "Long", value = "用户编号",required = true),
+    })
+    @ApiOperation("获取好友详情")
+    @PostMapping(value = "/getUserDetail")
+    public HttpResponseResult<ImGroupMember> getUserDetail(@RequestBody Map<String,Long> params) throws Exception {
+        if(Objects.isNull(params.get("groupId")) || Objects.isNull(params.get("userId"))){
+            throw new BizException("参数校验失败");
+        }
+        return succeed(imGroupMemberService.getUserDetail(params.get("userId"),params.get("groupId")));
+    }
+}
+

+ 14 - 13
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImUserFriendController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupNotice;
 import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
@@ -14,16 +15,11 @@ import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.page.PageInfo;
 import com.yonge.cooleshow.common.page.QueryInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.*;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -49,14 +45,19 @@ public class ImUserFriendController extends BaseController {
     })
     @ApiOperation("分页查询")
     @PostMapping(value = "/queryPage")
-    public HttpResponseResult<PageInfo<ImUserFriend>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<List<ImUserFriend>> queryPage(@RequestBody Map<String,Object> params) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Page<ImUserFriend> pageInfo = PageUtil.getPageInfo(params);
-        IPage<ImUserFriend> iPage = imUserFriendService.getBaseMapper().selectPage(pageInfo, Wrappers.<ImUserFriend>query().lambda()
+        List<ImUserFriend> iPage = imUserFriendService.getBaseMapper().selectList(Wrappers.<ImUserFriend>query().lambda()
                 .or(e->e.eq(ImUserFriend::getFriendId, params.get("search"))
                         .like(ImUserFriend::getFriendNickname, params.get("search")))
-                .eq(ImUserFriend::getUserId,sysUser.getId()).orderByDesc(ImUserFriend::getCreateTime));
-        return succeed(PageUtil.pageInfo(iPage));
+                .eq(ImUserFriend::getUserId,sysUser.getId()).orderByDesc(ImUserFriend::getId));
+        return succeed(iPage);
+    }
+
+    @ApiOperation("获取好友详情")
+    @PostMapping(value = "/getDetail/{userId}")
+    public HttpResponseResult<ImUserFriend> getDetail(@ApiParam(value = "用户编号", required = true) @PathVariable("userId") Long userId) throws Exception {
+        return succeed(imUserFriendService.getDetail(userId));
     }
 }