|
@@ -5,10 +5,12 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.ImGroupResultDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.ImGroupSearchDto;
|
|
|
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.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.MK;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.SysUserService;
|
|
@@ -32,6 +34,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.validation.Valid;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
@@ -49,14 +52,17 @@ public class ImGroupController extends BaseController {
|
|
|
/**
|
|
|
* 服务对象
|
|
|
*/
|
|
|
- @Autowired
|
|
|
+ @Resource
|
|
|
private ImGroupService imGroupService;
|
|
|
- @Autowired
|
|
|
+ @Resource
|
|
|
private SysUserService sysUserService;
|
|
|
|
|
|
@Autowired
|
|
|
private ImUserFriendService imUserFriendService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ImGroupMemberService imGroupMemberService;
|
|
|
+
|
|
|
@ApiOperation("创建群聊")
|
|
|
@PostMapping(value = "/create")
|
|
|
public HttpResponseResult create(@Valid @RequestBody ImGroupWrapper.ImGroup imGroup, BindingResult bindingResult) throws Exception {
|
|
@@ -85,7 +91,7 @@ public class ImGroupController extends BaseController {
|
|
|
@PostMapping(value = "/quit/{groupId}")
|
|
|
public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
|
|
|
@RequestParam(value = "quit",required = false, defaultValue = "false") boolean quit
|
|
|
- ) throws Exception {
|
|
|
+ ) throws Exception {
|
|
|
imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER, quit);
|
|
|
return succeed();
|
|
|
}
|
|
@@ -97,6 +103,14 @@ public class ImGroupController extends BaseController {
|
|
|
if (group == null) {
|
|
|
return failed(HttpStatus.NO_CONTENT, "群组不存在");
|
|
|
}
|
|
|
+ ImGroupMember admin = imGroupMemberService.lambdaQuery()
|
|
|
+ .eq(ImGroupMember::getGroupId, group.getId())
|
|
|
+ .eq(ImGroupMember::getUserId, sysUserService.getUser().getId())
|
|
|
+ .last("limit 1").one();
|
|
|
+ if (admin == null) {
|
|
|
+ // 该用户不在该群,无权限查看,处理用户退出群后,查看历史消息校验
|
|
|
+ return failed(HttpStatus.NO_CONTENT, "群组不存在");
|
|
|
+ }
|
|
|
return succeed(group);
|
|
|
}
|
|
|
|