|
@@ -1,15 +1,20 @@
|
|
package com.yonge.cooleshow.student.controller;
|
|
package com.yonge.cooleshow.student.controller;
|
|
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
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;
|
|
@@ -20,6 +25,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
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.GetMapping;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
@@ -28,6 +34,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 即时通讯群组(ImGroup)表控制层
|
|
* 即时通讯群组(ImGroup)表控制层
|
|
@@ -49,6 +56,9 @@ public class ImGroupController extends BaseController {
|
|
@Autowired
|
|
@Autowired
|
|
private SysUserFeignService sysUserFeignService;
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ImUserFriendService imUserFriendService;
|
|
|
|
+
|
|
@ApiOperation("获取群详情")
|
|
@ApiOperation("获取群详情")
|
|
@PostMapping(value = "/getDetail/{groupId}")
|
|
@PostMapping(value = "/getDetail/{groupId}")
|
|
public HttpResponseResult<ImGroup> getDetail(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
|
|
public HttpResponseResult<ImGroup> getDetail(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
|
|
@@ -98,5 +108,27 @@ public class ImGroupController extends BaseController {
|
|
imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT);
|
|
imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT);
|
|
return succeed();
|
|
return succeed();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @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)));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|