1
zj
2025-08-30 bab6c7bbf9a3942fa89ed399bc6c5f2971bedb15
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package com.ruoyi.web.controller.system;
 
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.CreateTeamRequest;
import com.ruoyi.system.domain.GroupWelcomeConfig;
import com.ruoyi.system.domain.IpBlacklist;
import com.ruoyi.system.domain.NeteaseTeam;
import com.ruoyi.system.service.GroupWelcomeConfigService;
import com.ruoyi.system.service.IpBlacklistService;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.Date;
import java.util.List;
 
/**
 * @program: ruoyiim
 * @description:
 * @create: 2025-08-21 19:12
 **/
@RestController
@RequestMapping("/system/basic")
public class BasicSetupController extends BaseController {
 
    @Autowired
    GroupWelcomeConfigService groupWelcomeConfigService;
 
    @Autowired
    IpBlacklistService ipBlacklistService;
 
 
    /**
     * 修改基础信息
     */
    @PostMapping("/update")
    public AjaxResult update(GroupWelcomeConfig vo) {
        GroupWelcomeConfig configServiceById = groupWelcomeConfigService.getById(vo.getId());
        if(ObjectUtil.isEmpty(configServiceById)){
            return AjaxResult.error("请联系管理员初始化配置");
        }
 
        configServiceById.setWebsiteName(vo.getWebsiteName());
        configServiceById.setGroupId(vo.getGroupId());
        configServiceById.setUserAccid(vo.getUserAccid());
        configServiceById.setWelcomeMessage(vo.getWelcomeMessage());
        configServiceById.setLegalInstitution(vo.getLegalInstitution());
        configServiceById.setCopyrightInfo(vo.getCopyrightInfo());
        configServiceById.setCodeUrl(vo.getCodeUrl());
        groupWelcomeConfigService.updateById(configServiceById);
        return AjaxResult.success("保存成功!");
    }
 
    /**
     * 查询基础信息
     */
    @GetMapping("/get")
    public AjaxResult get() {
        GroupWelcomeConfig groupWelcomeConfig = groupWelcomeConfigService.getOne(new LambdaQueryWrapper<>(GroupWelcomeConfig.class)
                .eq(GroupWelcomeConfig::getConfigurationName, "IM-BASICS").last(" limit 1"));
        return AjaxResult.success(groupWelcomeConfig);
    }
 
    /**
     * ip黑名单列表
     */
//    @PreAuthorize("@ss.hasPermi('im:group:list')")
    @GetMapping("/list")
    public TableDataInfo list(@RequestParam(value = "keyword", required = false) String keyword)
    {
        // 创建查询条件包装器
        LambdaQueryWrapper<IpBlacklist> queryWrapper = new LambdaQueryWrapper<>();
 
        // 只有当 keyword 不为空时才添加 OR 条件
        if (ObjectUtil.isNotEmpty(keyword)) {
            queryWrapper.and(wrapper -> wrapper.eq(IpBlacklist::getIpAddress,keyword)
            );
        }
 
        // 默认按创建时间倒序
        queryWrapper.orderByDesc(IpBlacklist::getCreateTime);
        startPage();
        List<IpBlacklist> list = ipBlacklistService.list(queryWrapper);
        return getDataTable(list);
    }
 
 
    /**
     * 新增ip黑名单
     */
    @PostMapping("/addIp")
    public AjaxResult addIp(@RequestParam("ip") String ip) {
 
        long count = ipBlacklistService.count(new LambdaQueryWrapper<>(IpBlacklist.class).eq(IpBlacklist::getIpAddress, ip));
        if(count > 0){
            return AjaxResult.error("ip已存在!");
        }
        IpBlacklist ipBlacklist = new IpBlacklist();
        ipBlacklist.setIpAddress(ip);
        ipBlacklist.setCreateTime(new Date());
        ipBlacklistService.save(ipBlacklist);
        return AjaxResult.success("添加成功");
    }
 
    /**
     * 删除ip黑名单
     */
    @PostMapping("/deleteIp")
    public AjaxResult addIp(@RequestParam("id") Integer id) {
 
        IpBlacklist ipBlacklist = ipBlacklistService.getById(id);
        if(ObjectUtil.isEmpty(ipBlacklist)){
            return AjaxResult.error("ip地址不存在!");
        }
        ipBlacklistService.removeById(id);
        return AjaxResult.success("删除成功");
    }
 
}