1
zj
2025-08-22 5cb579d8b09978f6fefd829fb6220fcf4391cd2f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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);
    }
 
}