package com.ruoyi.web.controller.group;
|
|
import cn.hutool.core.util.ObjectUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.im.config.AddTeamMembersRequest;
|
import com.ruoyi.im.config.CreateTeamRequest;
|
import com.ruoyi.im.config.AssignmentRequest;
|
import com.ruoyi.im.service.NeteaseTeamService;
|
import com.ruoyi.system.domain.NeteaseTeam;
|
import com.ruoyi.system.domain.UserAccount;
|
import com.ruoyi.system.domain.vo.UserAccountVo;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/im/group")
|
@Slf4j
|
public class ImGroupController extends BaseController {
|
|
|
@Autowired
|
NeteaseTeamService neteaseGroupService;
|
|
/**
|
* 获取会员列表
|
*/
|
@PreAuthorize("@ss.hasPermi('im:group:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(@PathVariable("keyword") String keyword)
|
{
|
// 创建查询条件包装器
|
LambdaQueryWrapper<NeteaseTeam> queryWrapper = new LambdaQueryWrapper<>();
|
|
// 只有当 keyword 不为空时才添加 OR 条件
|
if (ObjectUtil.isNotEmpty(keyword)) {
|
queryWrapper.and(wrapper -> wrapper
|
.eq(NeteaseTeam::getTid, keyword)
|
.or()
|
.eq(NeteaseTeam::getOwnerAccountId, keyword)
|
.or()
|
.eq(NeteaseTeam::getName,keyword)
|
);
|
}
|
|
// 默认按创建时间倒序
|
queryWrapper.orderByDesc(NeteaseTeam::getCreateTime);
|
List<NeteaseTeam> list = neteaseGroupService.list(queryWrapper);
|
return getDataTable(list);
|
}
|
|
|
/**
|
* 创建群组
|
*/
|
@PostMapping("/create")
|
public AjaxResult createGroup(@Validated @RequestBody CreateTeamRequest request) {
|
return neteaseGroupService.createGroup(request);
|
}
|
|
/**
|
* 更新群组
|
*/
|
@PostMapping("/updateCreate")
|
public AjaxResult updateCreate(@Validated @RequestBody CreateTeamRequest request) {
|
return neteaseGroupService.updateCreate(request);
|
}
|
|
/**
|
* 拉人进去
|
*/
|
@PostMapping("/inviteTeamMembers")
|
public AjaxResult inviteTeamMembers(@Validated @RequestBody AddTeamMembersRequest request) {
|
return neteaseGroupService.inviteTeamMembers(request);
|
}
|
|
/**
|
* 转让群主
|
*/
|
@PostMapping("/assignment")
|
public AjaxResult assignment(@Validated @RequestBody AssignmentRequest request) {
|
return neteaseGroupService.assignment(request);
|
}
|
|
/**
|
* 解散
|
*/
|
@PostMapping("/dismiss")
|
public AjaxResult dismiss(@PathVariable("id") Long id) {
|
return neteaseGroupService.dismiss(id);
|
}
|
|
}
|