|
@@ -2,15 +2,19 @@ package com.ym.mec.student.controller;
|
|
|
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
|
|
+import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
|
|
|
|
|
+import com.ym.mec.biz.dal.dto.ImGroupNoticeDto;
|
|
|
import com.ym.mec.biz.dal.dto.ImUserFriendDto;
|
|
import com.ym.mec.biz.dal.dto.ImUserFriendDto;
|
|
|
import com.ym.mec.biz.dal.entity.ImGroup;
|
|
import com.ym.mec.biz.dal.entity.ImGroup;
|
|
|
import com.ym.mec.biz.dal.entity.ImGroupMemberPlus;
|
|
import com.ym.mec.biz.dal.entity.ImGroupMemberPlus;
|
|
|
import com.ym.mec.biz.dal.enums.im.ClientEnum;
|
|
import com.ym.mec.biz.dal.enums.im.ClientEnum;
|
|
|
import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
|
|
import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
|
|
|
|
|
+import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
|
|
|
import com.ym.mec.biz.service.*;
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.biz.service.im.ImGroupCoreService;
|
|
import com.ym.mec.biz.service.im.ImGroupCoreService;
|
|
|
import com.ym.mec.common.controller.BaseController;
|
|
import com.ym.mec.common.controller.BaseController;
|
|
|
import com.ym.mec.common.entity.HttpResponseResult;
|
|
import com.ym.mec.common.entity.HttpResponseResult;
|
|
|
|
|
+import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.vo.ImUserWrapper;
|
|
import com.ym.mec.vo.ImUserWrapper;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
@@ -18,11 +22,14 @@ import io.swagger.annotations.ApiImplicitParams;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
|
+import java.util.Arrays;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
+import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@RequestMapping("${app-config.url.student:}/imGroup")
|
|
@RequestMapping("${app-config.url.student:}/imGroup")
|
|
@@ -30,36 +37,35 @@ import java.util.stream.Collectors;
|
|
|
@RestController
|
|
@RestController
|
|
|
public class ImGroupController extends BaseController {
|
|
public class ImGroupController extends BaseController {
|
|
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private ImGroupService imGroupService;
|
|
private ImGroupService imGroupService;
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private ImUserFriendService imUserFriendService;
|
|
private ImUserFriendService imUserFriendService;
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private ImGroupNoticeService imGroupNoticeService;
|
|
private ImGroupNoticeService imGroupNoticeService;
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private ImGroupMemberService imGroupMemberService;
|
|
private ImGroupMemberService imGroupMemberService;
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private SysUserService sysUserService;
|
|
private SysUserService sysUserService;
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private ImGroupCoreService imGroupCoreService;
|
|
private ImGroupCoreService imGroupCoreService;
|
|
|
-
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
private ImGroupMemberPlusService imGroupMemberPlusService;
|
|
private ImGroupMemberPlusService imGroupMemberPlusService;
|
|
|
|
|
|
|
|
@ApiOperation("查询群列表")
|
|
@ApiOperation("查询群列表")
|
|
|
@GetMapping(value = "/queryGroupList")
|
|
@GetMapping(value = "/queryGroupList")
|
|
|
- public Object queryGroupList(String search,String groupType) {
|
|
|
|
|
- return succeed(imGroupService.queryByUserId(sysUserService.getUserId(), search,groupType));
|
|
|
|
|
|
|
+ public HttpResponseResult<List<ImGroup>> queryGroupList(String search, String groupType) {
|
|
|
|
|
+ ImGroupWrapper.GroupListQuery query = new ImGroupWrapper.GroupListQuery();
|
|
|
|
|
+ query.setSearch(search);
|
|
|
|
|
+ query.setGroupType(groupType);
|
|
|
|
|
+ query.setUserId(sysUserService.getUserId());
|
|
|
|
|
+ query.setClientType(ClientEnum.STUDENT.getCode());
|
|
|
|
|
+ return succeed(imGroupService.queryByUserId(query));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation("查询群详情")
|
|
@ApiOperation("查询群详情")
|
|
|
@GetMapping(value = "/queryGroupDetail")
|
|
@GetMapping(value = "/queryGroupDetail")
|
|
|
- public Object queryGroupDetail(String imGroupId) {
|
|
|
|
|
|
|
+ public HttpResponseResult<ImGroup> queryGroupDetail(String imGroupId) {
|
|
|
if (imGroupId.contains("S") || imGroupId.contains("I")){
|
|
if (imGroupId.contains("S") || imGroupId.contains("I")){
|
|
|
imGroupId = imGroupId.substring(1);
|
|
imGroupId = imGroupId.substring(1);
|
|
|
}
|
|
}
|
|
@@ -110,21 +116,23 @@ public class ImGroupController extends BaseController {
|
|
|
|
|
|
|
|
@ApiOperation("查询群成员列表")
|
|
@ApiOperation("查询群成员列表")
|
|
|
@GetMapping(value = "/queryGroupMemberList")
|
|
@GetMapping(value = "/queryGroupMemberList")
|
|
|
- public Object queryGroupMemberList(String imGroupId) {
|
|
|
|
|
-
|
|
|
|
|
- return succeed(imGroupService.queryMemberById(imGroupId));
|
|
|
|
|
|
|
+ public HttpResponseResult<List<ImGroupMemberDto>> queryGroupMemberList(String imGroupId) {
|
|
|
|
|
+ ImGroupWrapper.GroupMemberQuery query = new ImGroupWrapper.GroupMemberQuery();
|
|
|
|
|
+ query.setImGroupId(imGroupId);
|
|
|
|
|
+ query.setClientType(ClientEnum.STUDENT.getCode());
|
|
|
|
|
+ return succeed(imGroupService.queryMemberById(query));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation("查询群成员详情")
|
|
@ApiOperation("查询群成员详情")
|
|
|
@GetMapping(value = "/queryGroupMemberDetail")
|
|
@GetMapping(value = "/queryGroupMemberDetail")
|
|
|
- public Object queryGroupMemberDetail(String imGroupId, Integer userId) {
|
|
|
|
|
|
|
+ public HttpResponseResult<ImGroupMemberDto> queryGroupMemberDetail(String imGroupId, Integer userId) {
|
|
|
|
|
|
|
|
return succeed(imGroupService.queryMember(imGroupId, userId));
|
|
return succeed(imGroupService.queryMember(imGroupId, userId));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation("查询好友详情")
|
|
@ApiOperation("查询好友详情")
|
|
|
@GetMapping(value = "/queryFriendDetail")
|
|
@GetMapping(value = "/queryFriendDetail")
|
|
|
- public Object queryFriendDetail(Integer userId) {
|
|
|
|
|
|
|
+ public HttpResponseResult<ImUserFriendDto> queryFriendDetail(Integer userId) {
|
|
|
ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUserService.getUserId(), userId);
|
|
ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUserService.getUserId(), userId);
|
|
|
if (dto == null) {
|
|
if (dto == null) {
|
|
|
dto = new ImUserFriendDto();
|
|
dto = new ImUserFriendDto();
|
|
@@ -184,7 +192,7 @@ public class ImGroupController extends BaseController {
|
|
|
|
|
|
|
|
@ApiOperation("查询好友列表")
|
|
@ApiOperation("查询好友列表")
|
|
|
@GetMapping(value = "/queryFriendList")
|
|
@GetMapping(value = "/queryFriendList")
|
|
|
- public Object queryFriendList(String search) {
|
|
|
|
|
|
|
+ public HttpResponseResult<List<ImUserFriendDto>> queryFriendList(String search) {
|
|
|
return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search));
|
|
return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -221,27 +229,27 @@ public class ImGroupController extends BaseController {
|
|
|
|
|
|
|
|
@ApiOperation("查询群公告列表")
|
|
@ApiOperation("查询群公告列表")
|
|
|
@GetMapping(value = "/queryNoticeList")
|
|
@GetMapping(value = "/queryNoticeList")
|
|
|
- public Object queryNoticeList(ImGroupNoticeQueryInfo queryInfo) {
|
|
|
|
|
|
|
+ public HttpResponseResult<PageInfo<ImGroupNoticeDto>> queryNoticeList(ImGroupNoticeQueryInfo queryInfo) {
|
|
|
return succeed(imGroupNoticeService.queryPage(queryInfo));
|
|
return succeed(imGroupNoticeService.queryPage(queryInfo));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation("入群")
|
|
@ApiOperation("入群")
|
|
|
@GetMapping(value = "/addGroupMember")
|
|
@GetMapping(value = "/addGroupMember")
|
|
|
@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String")
|
|
@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String")
|
|
|
- public Object addGroupMember(String imGroupId) {
|
|
|
|
|
|
|
+ public HttpResponseResult<Boolean> addGroupMember(String imGroupId) {
|
|
|
return succeed(imGroupMemberService.join(imGroupId,sysUserService.getUserId(),"",false));
|
|
return succeed(imGroupMemberService.join(imGroupId,sysUserService.getUserId(),"",false));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation("注册im")
|
|
@ApiOperation("注册im")
|
|
|
@GetMapping(value = "/imRegister")
|
|
@GetMapping(value = "/imRegister")
|
|
|
- public Object imRegister(Integer userId) throws Exception {
|
|
|
|
|
|
|
+ public HttpResponseResult<ImGroupWrapper.ImUserInfo> imRegister(Integer userId) throws Exception {
|
|
|
return succeed(imGroupCoreService.register(userId.toString(),"","测试",null));
|
|
return succeed(imGroupCoreService.register(userId.toString(),"","测试",null));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation("主动退群")
|
|
@ApiOperation("主动退群")
|
|
|
@PostMapping(value = "/quitGroup/v2")
|
|
@PostMapping(value = "/quitGroup/v2")
|
|
|
- public Object quitGroupV2(String imGroupId, String userId) {
|
|
|
|
|
|
|
+ public HttpResponseResult<Boolean> quitGroupV2(String imGroupId, String userId) {
|
|
|
List<Integer> userIds = Arrays.stream(userId.split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
|
|
List<Integer> userIds = Arrays.stream(userId.split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
|
|
|
return succeed(imGroupMemberService.quit(imGroupId,userIds,false));
|
|
return succeed(imGroupMemberService.quit(imGroupId,userIds,false));
|
|
|
}
|
|
}
|