|
@@ -1,13 +1,18 @@
|
|
package com.yonge.cooleshow.teacher.controller;
|
|
package com.yonge.cooleshow.teacher.controller;
|
|
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
import com.yonge.cooleshow.biz.dal.dto.ImGroupResultDto;
|
|
import com.yonge.cooleshow.biz.dal.dto.ImGroupResultDto;
|
|
import com.yonge.cooleshow.biz.dal.dto.ImGroupSearchDto;
|
|
import com.yonge.cooleshow.biz.dal.dto.ImGroupSearchDto;
|
|
import com.yonge.cooleshow.biz.dal.entity.ImGroup;
|
|
import com.yonge.cooleshow.biz.dal.entity.ImGroup;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
|
|
import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.MK;
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
|
|
import com.yonge.cooleshow.biz.dal.service.SysUserService;
|
|
import com.yonge.cooleshow.biz.dal.service.SysUserService;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.im.ImUserFriendVO;
|
|
import com.yonge.cooleshow.common.controller.BaseController;
|
|
import com.yonge.cooleshow.common.controller.BaseController;
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
import com.yonge.toolset.utils.validator.ValidationKit;
|
|
import com.yonge.toolset.utils.validator.ValidationKit;
|
|
@@ -15,6 +20,7 @@ import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiParam;
|
|
import io.swagger.annotations.ApiParam;
|
|
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.validation.BindingResult;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -22,6 +28,7 @@ import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 即时通讯群组(ImGroup)表控制层
|
|
* 即时通讯群组(ImGroup)表控制层
|
|
@@ -41,10 +48,13 @@ public class ImGroupController extends BaseController {
|
|
@Resource
|
|
@Resource
|
|
private SysUserService sysUserService;
|
|
private SysUserService sysUserService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ImUserFriendService imUserFriendService;
|
|
|
|
+
|
|
@ApiOperation("创建群聊")
|
|
@ApiOperation("创建群聊")
|
|
@PostMapping(value = "/create")
|
|
@PostMapping(value = "/create")
|
|
public HttpResponseResult create(@Valid @RequestBody ImGroup imGroup, BindingResult bindingResult) throws Exception {
|
|
public HttpResponseResult create(@Valid @RequestBody ImGroup imGroup, BindingResult bindingResult) throws Exception {
|
|
- ValidationKit.ignoreFields(bindingResult,"id");
|
|
|
|
|
|
+ ValidationKit.ignoreFields(bindingResult, "id");
|
|
imGroup.setCreateBy(sysUserService.getUserId());
|
|
imGroup.setCreateBy(sysUserService.getUserId());
|
|
imGroupService.create(imGroup);
|
|
imGroupService.create(imGroup);
|
|
return succeed();
|
|
return succeed();
|
|
@@ -60,7 +70,7 @@ public class ImGroupController extends BaseController {
|
|
@ApiOperation("退出群聊")
|
|
@ApiOperation("退出群聊")
|
|
@PostMapping(value = "/quit/{groupId}")
|
|
@PostMapping(value = "/quit/{groupId}")
|
|
public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
|
|
public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
|
|
- imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.TEACHER);
|
|
|
|
|
|
+ imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER);
|
|
return succeed();
|
|
return succeed();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -77,7 +87,7 @@ public class ImGroupController extends BaseController {
|
|
@ApiOperation("群列表")
|
|
@ApiOperation("群列表")
|
|
@PostMapping(value = "/queryAll")
|
|
@PostMapping(value = "/queryAll")
|
|
public HttpResponseResult<List<ImGroup>> queryAll(@Valid @RequestBody ImGroupSearchDto imGroupSearchDto, BindingResult bindingResult) throws Exception {
|
|
public HttpResponseResult<List<ImGroup>> queryAll(@Valid @RequestBody ImGroupSearchDto imGroupSearchDto, BindingResult bindingResult) throws Exception {
|
|
- ValidationKit.ignoreFields(bindingResult,"createUserId");
|
|
|
|
|
|
+ ValidationKit.ignoreFields(bindingResult, "createUserId");
|
|
imGroupSearchDto.setUserId(sysUserService.getUserId());
|
|
imGroupSearchDto.setUserId(sysUserService.getUserId());
|
|
// 设置群组成员身份
|
|
// 设置群组成员身份
|
|
imGroupSearchDto.setRoleType(ImGroupMemberRoleType.TEACHER);
|
|
imGroupSearchDto.setRoleType(ImGroupMemberRoleType.TEACHER);
|
|
@@ -99,5 +109,26 @@ public class ImGroupController extends BaseController {
|
|
}
|
|
}
|
|
return succeed(imGroupService.queryTeacherFun(imGroupSearchDto));
|
|
return succeed(imGroupService.queryTeacherFun(imGroupSearchDto));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @ApiOperation("查询好友详情")
|
|
|
|
+ @GetMapping(value = "/queryFriendDetail")
|
|
|
|
+ public HttpResponseResult<ImUserFriendVO.ImUserFriend> queryFriendDetail(String userId) {
|
|
|
|
+
|
|
|
|
+ String ret = imGroupService.analysisImUserId(userId);
|
|
|
|
+ if (!ret.matches(MK.EXP_INT)) {
|
|
|
|
+ return failed("无效的用户ID");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ImUserFriend userFriend = imUserFriendService.getDetail(userId, ClientEnum.TEACHER);
|
|
|
|
+ if (Objects.isNull(userFriend)) {
|
|
|
|
+ return failed("当前好友不存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (Objects.isNull(userFriend.getFriendType())) {
|
|
|
|
+ userFriend.setFriendType(ClientEnum.STUDENT);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return succeed(ImUserFriendVO.ImUserFriend.from(JSON.toJSONString(userFriend)));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|