diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomsController.java index 81230b0..8108a8e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomsController.java @@ -37,7 +37,7 @@ public class RoomsController extends BaseController /** * 查询项目与任务房间列表 */ - @PreAuthorize("@ss.hasPermi('system:rooms:list')") + //@PreAuthorize("@ss.hasPermi('system:rooms:list')") @GetMapping("/list") public TableDataInfo list(Rooms rooms) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/UsersController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/UsersController.java deleted file mode 100644 index bc53412..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/UsersController.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.ruoyi.web.controller; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.system.domain.Users; -import com.ruoyi.system.service.IUsersService; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.common.core.page.TableDataInfo; - -/** - * 系统用户Controller - * - * @author ruoyi - * @date 2026-01-14 - */ -@RestController -@RequestMapping("/system/users") -public class UsersController extends BaseController -{ - @Autowired - private IUsersService usersService; - - /** - * 查询系统用户列表 - */ - @PreAuthorize("@ss.hasPermi('system:users:list')") - @GetMapping("/list") - public TableDataInfo list(Users users) - { - startPage(); - List list = usersService.selectUsersList(users); - return getDataTable(list); - } - - /** - * 导出系统用户列表 - */ - @PreAuthorize("@ss.hasPermi('system:users:export')") - @Log(title = "系统用户", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, Users users) - { - List list = usersService.selectUsersList(users); - ExcelUtil util = new ExcelUtil(Users.class); - util.exportExcel(response, list, "系统用户数据"); - } - - /** - * 获取系统用户详细信息 - */ - @PreAuthorize("@ss.hasPermi('system:users:query')") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return success(usersService.selectUsersById(id)); - } - - /** - * 新增系统用户 - */ - @PreAuthorize("@ss.hasPermi('system:users:add')") - @Log(title = "系统用户", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody Users users) - { - return toAjax(usersService.insertUsers(users)); - } - - /** - * 修改系统用户 - */ - @PreAuthorize("@ss.hasPermi('system:users:edit')") - @Log(title = "系统用户", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody Users users) - { - return toAjax(usersService.updateUsers(users)); - } - - /** - * 删除系统用户 - */ - @PreAuthorize("@ss.hasPermi('system:users:remove')") - @Log(title = "系统用户", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(usersService.deleteUsersByIds(ids)); - } -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Users.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Users.java deleted file mode 100644 index dd0cac5..0000000 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Users.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.ruoyi.system.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.core.domain.BaseEntity; - -/** - * 系统用户对象 users - * - * @author ruoyi - * @date 2026-01-14 - */ -public class Users extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键ID */ - private Long id; - - /** 登录账号 */ - @Excel(name = "登录账号") - private String username; - - /** 密码 (建议存哈希值) */ - @Excel(name = "密码 (建议存哈希值)") - private String password; - - /** 权限等级: 1=管理员(L1), 2=房主(L2), 3=操作员(L3) */ - @Excel(name = "权限等级: 1=管理员(L1), 2=房主(L2), 3=操作员(L3)") - private Long role; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - - public void setUsername(String username) - { - this.username = username; - } - - public String getUsername() - { - return username; - } - - public void setPassword(String password) - { - this.password = password; - } - - public String getPassword() - { - return password; - } - - public void setRole(Long role) - { - this.role = role; - } - - public Long getRole() - { - return role; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("username", getUsername()) - .append("password", getPassword()) - .append("role", getRole()) - .toString(); - } -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UsersMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UsersMapper.java deleted file mode 100644 index 71428ec..0000000 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UsersMapper.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.ruoyi.system.mapper; - -import java.util.List; - -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.system.domain.Users; - -/** - * 系统用户Mapper接口 - * - * @author ruoyi - * @date 2026-01-14 - */ -public interface UsersMapper -{ - /** - * 查询系统用户 - * - * @param id 系统用户主键 - * @return 系统用户 - */ - public Users selectUsersById(Long id); - - /** - * 查询系统用户列表 - * - * @param users 系统用户 - * @return 系统用户集合 - */ - public List selectUsersList(Users users); - - /** - * 新增系统用户 - * - * @param users 系统用户 - * @return 结果 - */ - public int insertUsers(Users users); - - /** - * 修改系统用户 - * - * @param users 系统用户 - * @return 结果 - */ - public int updateUsers(Users users); - - /** - * 删除系统用户 - * - * @param id 系统用户主键 - * @return 结果 - */ - public int deleteUsersById(Long id); - - /** - * 批量删除系统用户 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteUsersByIds(Long[] ids); - - SysUser selectUserByUserName(String userName); -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 0625d5e..067245b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -3,7 +3,6 @@ package com.ruoyi.system.service; import java.util.Date; import java.util.List; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.system.domain.Users; /** * 用户 业务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IUsersService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IUsersService.java deleted file mode 100644 index f3a00b4..0000000 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IUsersService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.system.service; - -import java.util.List; -import com.ruoyi.system.domain.Users; - -/** - * 系统用户Service接口 - * - * @author ruoyi - * @date 2026-01-14 - */ -public interface IUsersService -{ - /** - * 查询系统用户 - * - * @param id 系统用户主键 - * @return 系统用户 - */ - public Users selectUsersById(Long id); - - /** - * 查询系统用户列表 - * - * @param users 系统用户 - * @return 系统用户集合 - */ - public List selectUsersList(Users users); - - /** - * 新增系统用户 - * - * @param users 系统用户 - * @return 结果 - */ - public int insertUsers(Users users); - - /** - * 修改系统用户 - * - * @param users 系统用户 - * @return 结果 - */ - public int updateUsers(Users users); - - /** - * 批量删除系统用户 - * - * @param ids 需要删除的系统用户主键集合 - * @return 结果 - */ - public int deleteUsersByIds(Long[] ids); - - /** - * 删除系统用户信息 - * - * @param id 系统用户主键 - * @return 结果 - */ - public int deleteUsersById(Long id); -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomsServiceImpl.java index 467a8c7..ff2864f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomsServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomsServiceImpl.java @@ -1,6 +1,11 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.RoomsMapper; @@ -19,6 +24,9 @@ public class RoomsServiceImpl implements IRoomsService @Autowired private RoomsMapper roomsMapper; + @Autowired + private ISysUserService userService; + /** * 查询项目与任务房间 * @@ -52,6 +60,34 @@ public class RoomsServiceImpl implements IRoomsService @Override public int insertRooms(Rooms rooms) { + // 1. 从内存拿当前登录人的 ID + Long userId = SecurityUtils.getUserId(); + + // 2. 关键:去数据库查这个人的实时 userLevel 字段 + SysUser user = userService.selectUserById(userId); + String userLevel = user.getUserLevel(); + + // 3. 开始分类校验 + if (rooms.getParentId() == null) + { + // A. 创建大房间:必须是 "1" (管理员) + if (!"1".equals(userLevel)) + { + throw new ServiceException("只有管理员级别才能创建顶级大房间"); + } + } + else + { + // B. 创建子房间:必须是 "1" 或 "2" (主持人) + // 如果是 "3" (普通用户) 或 null,则拒绝 + if (!"1".equals(userLevel) && !"2".equals(userLevel)) + { + throw new ServiceException("您的权限不足(仅管理员和主持人可建子房间)"); + } + } + + // 4. 填充房主信息并入库 + rooms.setOwnerId(userId); return roomsMapper.insertRooms(rooms); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 93764ed..3f7c189 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -6,7 +6,6 @@ import java.util.List; import java.util.stream.Collectors; import javax.validation.Validator; -import com.ruoyi.system.domain.Users; import com.ruoyi.system.mapper.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UsersServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UsersServiceImpl.java deleted file mode 100644 index a3f6e83..0000000 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UsersServiceImpl.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.ruoyi.system.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.system.mapper.UsersMapper; -import com.ruoyi.system.domain.Users; -import com.ruoyi.system.service.IUsersService; - -/** - * 系统用户Service业务层处理 - * - * @author ruoyi - * @date 2026-01-14 - */ -@Service -public class UsersServiceImpl implements IUsersService -{ - @Autowired - private UsersMapper usersMapper; - - /** - * 查询系统用户 - * - * @param id 系统用户主键 - * @return 系统用户 - */ - @Override - public Users selectUsersById(Long id) - { - return usersMapper.selectUsersById(id); - } - - /** - * 查询系统用户列表 - * - * @param users 系统用户 - * @return 系统用户 - */ - @Override - public List selectUsersList(Users users) - { - return usersMapper.selectUsersList(users); - } - - /** - * 新增系统用户 - * - * @param users 系统用户 - * @return 结果 - */ - @Override - public int insertUsers(Users users) - { - return usersMapper.insertUsers(users); - } - - /** - * 修改系统用户 - * - * @param users 系统用户 - * @return 结果 - */ - @Override - public int updateUsers(Users users) - { - return usersMapper.updateUsers(users); - } - - /** - * 批量删除系统用户 - * - * @param ids 需要删除的系统用户主键 - * @return 结果 - */ - @Override - public int deleteUsersByIds(Long[] ids) - { - return usersMapper.deleteUsersByIds(ids); - } - - /** - * 删除系统用户信息 - * - * @param id 系统用户主键 - * @return 结果 - */ - @Override - public int deleteUsersById(Long id) - { - return usersMapper.deleteUsersById(id); - } -} diff --git a/ruoyi-system/src/main/resources/mapper/system/RoomsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/RoomsMapper.xml index 0288201..09c4a35 100644 --- a/ruoyi-system/src/main/resources/mapper/system/RoomsMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/RoomsMapper.xml @@ -1,9 +1,9 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -13,19 +13,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, parent_id, owner_id, name, k_anchor_time from rooms + select id, parent_id, owner_id, name, k_anchor_time from ry.rooms - + - - - and username like concat('%', #{username}, '%') - and password = #{password} - and role = #{role} - - - - - - - - - insert into users - - username, - password, - role, - - - #{username}, - #{password}, - #{role}, - - - - - update users - - username = #{username}, - password = #{password}, - role = #{role}, - - where id = #{id} - - - - delete from users where id = #{id} - - - - delete from users where id in - - #{id} - - - \ No newline at end of file diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js index 8695801..4ed6a9b 100644 --- a/ruoyi-ui/src/utils/request.js +++ b/ruoyi-ui/src/utils/request.js @@ -96,13 +96,13 @@ service.interceptors.response.use(res => { } return Promise.reject('无效的会话,或者会话已过期,请重新登录。') } else if (code === 500) { - Message({ message: msg, type: 'error' }) + Message({ message: msg, type: 'error', center: true }) return Promise.reject(new Error(msg)) } else if (code === 601) { - Message({ message: msg, type: 'warning' }) + Message({ message: msg, type: 'warning', center: true }) return Promise.reject('error') } else if (code !== 200) { - Notification.error({ title: msg }) + Message({ message: msg, type: 'error', center: true }) return Promise.reject('error') } else { return res.data diff --git a/ruoyi-ui/src/views/selectRoom/index.vue b/ruoyi-ui/src/views/selectRoom/index.vue index e4bd99f..e79005e 100644 --- a/ruoyi-ui/src/views/selectRoom/index.vue +++ b/ruoyi-ui/src/views/selectRoom/index.vue @@ -1,28 +1,21 @@ + + +/* 修正图标大小 */ +.el-message__icon { + font-size: 18px !important; +} +