diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java index b169946c..79c54cd9 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java @@ -16,6 +16,8 @@ package top.charles7c.cnadmin.common.base; +import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api; + import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -76,7 +78,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @GetMapping public R> page(Q query, @Validated PageQuery pageQuery) { - this.checkPermission("list"); + this.checkPermission(Api.LIST); PageDataVO pageDataVO = baseService.page(query, pageQuery); return R.ok(pageDataVO); } @@ -94,7 +96,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @GetMapping("/tree") public R>> tree(Q query, SortQuery sortQuery) { - this.checkPermission("list"); + this.checkPermission(Api.LIST); List> list = baseService.tree(query, sortQuery, false); return R.ok(list); } @@ -112,7 +114,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @GetMapping("/list") public R> list(Q query, SortQuery sortQuery) { - this.checkPermission("list"); + this.checkPermission(Api.LIST); List list = baseService.list(query, sortQuery); return R.ok(list); } @@ -129,7 +131,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @GetMapping("/{id}") public R get(@PathVariable Long id) { - this.checkPermission("list"); + this.checkPermission(Api.LIST); D detail = baseService.get(id); return R.ok(detail); } @@ -145,7 +147,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @PostMapping public R add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody C request) { - this.checkPermission("add"); + this.checkPermission(Api.ADD); Long id = baseService.add(request); return R.ok("新增成功", id); } @@ -163,7 +165,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @PutMapping("/{id}") public R update(@Validated(ValidateGroup.Crud.Update.class) @RequestBody C request, @PathVariable Long id) { - this.checkPermission("update"); + this.checkPermission(Api.UPDATE); baseService.update(request, id); return R.ok("修改成功"); } @@ -180,7 +182,7 @@ public abstract class BaseController, V, D, Q, @ResponseBody @DeleteMapping("/{ids}") public R delete(@PathVariable List ids) { - this.checkPermission("delete"); + this.checkPermission(Api.DELETE); baseService.delete(ids); return R.ok("删除成功"); } @@ -198,20 +200,20 @@ public abstract class BaseController, V, D, Q, @Operation(summary = "导出数据") @GetMapping("/export") public void export(Q query, SortQuery sortQuery, HttpServletResponse response) { - this.checkPermission("export"); + this.checkPermission(Api.EXPORT); baseService.export(query, sortQuery, response); } /** - * 权限认证 + * 根据 API 类型进行权限验证 * - * @param subPermission - * 部分权限码 + * @param api + * API 类型 */ - private void checkPermission(String subPermission) { + private void checkPermission(Api api) { CrudRequestMapping crudRequestMapping = this.getClass().getDeclaredAnnotation(CrudRequestMapping.class); String path = crudRequestMapping.value(); String permissionPrefix = String.join(StringConsts.COLON, StrUtil.splitTrim(path, StringConsts.SLASH)); - StpUtil.checkPermission(String.format("%s:%s", permissionPrefix, subPermission)); + StpUtil.checkPermission(String.format("%s:%s", permissionPrefix, api.name().toLowerCase())); } } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/PageDataVO.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/PageDataVO.java index 68898c2d..5c26bbdf 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/PageDataVO.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/PageDataVO.java @@ -55,7 +55,7 @@ public class PageDataVO implements Serializable { * 总记录数 */ @Schema(description = "总记录数") - private Long total; + private int total; /** * 基于 MyBatis Plus 分页数据构建分页信息,并将源数据转换为指定类型数据 @@ -76,7 +76,7 @@ public class PageDataVO implements Serializable { } PageDataVO pageDataVO = new PageDataVO<>(); pageDataVO.setList(BeanUtil.copyToList(page.getRecords(), targetClass)); - pageDataVO.setTotal(page.getTotal()); + pageDataVO.setTotal((int) page.getTotal()); return pageDataVO; } @@ -95,7 +95,7 @@ public class PageDataVO implements Serializable { } PageDataVO pageDataVO = new PageDataVO<>(); pageDataVO.setList(page.getRecords()); - pageDataVO.setTotal(page.getTotal()); + pageDataVO.setTotal((int) page.getTotal()); return pageDataVO; } @@ -118,7 +118,7 @@ public class PageDataVO implements Serializable { return pageDataVO; } - pageDataVO.setTotal((long)list.size()); + pageDataVO.setTotal(list.size()); // 对列表数据进行分页 int fromIndex = (page - 1) * size; int toIndex = page * size + size; diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/UserMapper.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/UserMapper.java index 76e84851..978b4ed0 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/UserMapper.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/UserMapper.java @@ -54,4 +54,14 @@ public interface UserMapper extends BaseMapper { */ @Select("SELECT * FROM `sys_user` WHERE `username` = #{username}") UserDO selectByUsername(@Param("username") String username); + + /** + * 根据 ID 查询昵称 + * + * @param id + * ID + * @return 昵称 + */ + @Select("SELECT `nickname` FROM `sys_user` WHERE `id` = #{id}") + String selectNicknameById(@Param("id") Long id); } diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java index eaf95993..1c73d9af 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java @@ -248,7 +248,7 @@ public class UserServiceImpl extends BaseServiceImpl