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 queryWrapper = new LambdaQueryWrapper<>(); // 只有当 keyword 不为空时才添加 OR 条件 if (ObjectUtil.isNotEmpty(keyword)) { queryWrapper.and(wrapper -> wrapper.eq(IpBlacklist::getIpAddress,keyword) ); } // 默认按创建时间倒序 queryWrapper.orderByDesc(IpBlacklist::getCreateTime); startPage(); List 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("删除成功"); } }