From 877f6b604605f1922e7dbd4ec27c0986f72529f4 Mon Sep 17 00:00:00 2001 From: Lqc Date: Wed, 10 Sep 2025 12:57:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=98=E5=BA=93=E6=9D=83=E9=99=90=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=A0=E9=99=A4=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aiol/controller/AiolRepoController.java | 75 ++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolRepoController.java b/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolRepoController.java index 46be4481..ef66bf37 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolRepoController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolRepoController.java @@ -37,6 +37,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.jeecgframework.poi.excel.ExcelExportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; @@ -213,6 +215,8 @@ public class AiolRepoController extends JeecgController> userList( + @RequestParam(required = false) String username, + @RequestParam(required = false) String employeeNumber) { + + // 创建查询条件 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + // 当用户名不为空时,添加用户名查询条件(模糊查询) + if (StringUtils.isNotBlank(username)) { + queryWrapper.like(SysUser::getUsername, username); + } + + // 当用户工号不为空时,添加工号查询条件(精确查询) + if (StringUtils.isNotBlank(employeeNumber)) { + queryWrapper.eq(SysUser::getWorkNo, employeeNumber); + } + + // 执行查询 + List userList = sysUserService.list(queryWrapper); + + // 返回结果 + return Result.ok(userList); + } + + + @PostMapping("addPermission") + @Operation(summary = "添加权限") + @Transactional + public Result addPermission(@RequestParam String userId, @RequestParam String repoId) { + AiolEntityPermission aiolEntityPermission = new AiolEntityPermission(); + aiolEntityPermission.setEntityId(repoId); + aiolEntityPermission.setEntityType("repo"); + aiolEntityPermission.setUserId(userId); + aiolEntityPermissionService.saveOrUpdate(aiolEntityPermission); + return Result.OK(); + } + + //获取有权限的用户 + @GetMapping("userListByRepoId/{repoId}") + @Operation(summary = "获取题库有权限的用户列表") + public Result> userListByRepoId(@PathVariable String repoId) { + // 获取用户有权限的题库ID列表 + List list = aiolEntityPermissionService.list(new QueryWrapper() + .eq("entity_id", repoId) + .eq("entity_type", "repo") + ); + if (list.isEmpty()) { + return Result.error("该题库下没有有权限用户或该题库不存在"); + } + List userIds = list.stream().map(AiolEntityPermission::getUserId).collect(Collectors.toList()); + // 根据ID列表查询用户 + return Result.ok(sysUserService.listByIds(userIds)); + } + + @DeleteMapping("deletePermission") + @Operation(summary = "删除权限") + @Transactional + public Result deletePermission(@RequestParam String userId, @RequestParam String repoId) { + AiolEntityPermission aiolEntityPermission = new AiolEntityPermission(); + aiolEntityPermission.setEntityId(repoId); + aiolEntityPermission.setEntityType("repo"); + aiolEntityPermission.setUserId(userId); + aiolEntityPermissionService.remove(new QueryWrapper<>(aiolEntityPermission)); + return Result.OK(); + } + + @GetMapping("/questionList/{repoId}") @Operation(summary = "查询题库下题目")