From 17b8d077f7efe3db20344987cdad9da9d9ab3de6 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 03 十一月 2023 15:21:11 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
springboot-vue3/src/main/java/com/example/springboot/controller/RolePermissionController.java | 187 ++++++++++++++++++++++++++++++++++------------
1 files changed, 137 insertions(+), 50 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/RolePermissionController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/RolePermissionController.java
index 58f1785..32044f9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/RolePermissionController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/RolePermissionController.java
@@ -1,10 +1,9 @@
package com.example.springboot.controller;
-import com.example.springboot.entity.Permission;
-import com.example.springboot.entity.Role;
-import com.example.springboot.entity.RolePermission;
+import com.example.springboot.entity.*;
import com.example.springboot.entity.vo.Result;
import com.example.springboot.entity.vo.RolePermissionVo;
+import com.example.springboot.mapper.RolePermissionMapper;
import com.example.springboot.service.PermissionService;
import com.example.springboot.service.RolePermissionService;
import com.example.springboot.service.RoleService;
@@ -14,11 +13,13 @@
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
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.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
@RestController
@Slf4j
@@ -32,50 +33,136 @@
@Autowired
private PermissionService permissionService;
- @ApiOperation(value = "娣诲姞鎴栬�呮洿鏂拌鑹插拰鏉冮檺鍏崇郴")
- @PostMapping("/saveOrUpdate")
- @RequiresPermissions({"rolePermission:add"})
- @RequiresRoles({"admin"})
- public Result saveOrUpdate(@RequestBody RolePermission rolePermission) {
- Integer count = rolePermissionService.lambdaQuery()
- .eq(RolePermission::getRoleId, rolePermission.getRoleId())
- .eq(RolePermission::getPermissionId, rolePermission.getPermissionId())
- .ne(rolePermission.getId() != null, RolePermission::getId, rolePermission.getId())
- .count();
- if (count > 0) return Result.fail("鎺堟潈宸插瓨鍦�");
- rolePermissionService.saveOrUpdate(rolePermission);
- return Result.success();
- }
- @ApiOperation(value = "鏍规嵁id鍒犻櫎瑙掕壊鍜屾潈闄愬叧绯�")
- @PostMapping("/removeById")
- @RequiresPermissions({"rolePermission:delete"})
- @RequiresRoles({"admin"})
- public Result removeById(@RequestBody RolePermissionVo rolePermissionVO) {
- rolePermissionService.removeById(rolePermissionVO.getId());
- return Result.success();
- }
- @ApiOperation(value = "鍒嗛〉鏌ヨ瑙掕壊鍜屾潈闄愬叧绯�")
- @GetMapping("/selectPage")
- @RequiresRoles({"admin"})
- @RequiresPermissions({"rolePermission:select"})
- public Result selectPage(RolePermissionVo rolePermissionVO) {
- return Result.success(rolePermissionService.selectPage(rolePermissionVO));
- }
-
- @ApiOperation(value = "鏍规嵁id鏌ヨ瑙掕壊鍜屾潈闄愬叧绯�")
- @GetMapping("/getById")
- @RequiresRoles({"admin"})
- @RequiresPermissions({"rolePermission:select"})
- public Result getById(RolePermissionVo rolePermissionVO) {
- RolePermission rolePermission = rolePermissionService.getById(rolePermissionVO.getId());
- if (rolePermission != null) {
- Role role = roleService.getById(rolePermission.getRoleId());
- Permission permission = permissionService.getById(rolePermission.getPermissionId());
- rolePermission.setRole(role);
- rolePermission.setPermission(permission);
+ @ApiOperation(value = "娣诲姞鎴栬�呮洿鏂拌鑹插拰鏉冮檺鍏崇郴")
+ @PostMapping("/saveOrUpdate")
+ @RequiresPermissions({"rolePermission:add"})
+ @RequiresRoles({"admin"})
+ public Result saveOrUpdate(@RequestBody RolePermission rolePermission) {
+ Integer count = rolePermissionService.lambdaQuery()
+ .eq(RolePermission::getRoleId, rolePermission.getRoleId())
+ .eq(RolePermission::getPermissionId, rolePermission.getPermissionId())
+ .ne(rolePermission.getId() != null, RolePermission::getId, rolePermission.getId())
+ .count();
+ if (count > 0) return Result.fail("鎺堟潈宸插瓨鍦�");
+ rolePermissionService.saveOrUpdate(rolePermission);
+ return Result.success();
}
- return Result.success(rolePermission);
+
+ @ApiOperation(value = "鏍规嵁id鍒犻櫎瑙掕壊鍜屾潈闄愬叧绯�")
+ @PostMapping("/removeById")
+ @RequiresPermissions({"rolePermission:delete"})
+ @RequiresRoles({"admin"})
+ public Result removeById(@RequestBody RolePermissionVo rolePermissionVO) {
+ rolePermissionService.removeById(rolePermissionVO.getId());
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鍒嗛〉鏌ヨ瑙掕壊鍜屾潈闄愬叧绯�")
+ @GetMapping("/selectPage")
+ @RequiresRoles({"admin"})
+ @RequiresPermissions({"rolePermission:select"})
+ public Result selectPage(RolePermissionVo rolePermissionVO) {
+ return Result.success(rolePermissionService.selectPage(rolePermissionVO));
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ瑙掕壊鍜屾潈闄愬叧绯�")
+ @GetMapping("/getById")
+ @RequiresRoles({"admin"})
+ @RequiresPermissions({"rolePermission:select"})
+ public Result getById(RolePermissionVo rolePermissionVO) {
+ RolePermission rolePermission = rolePermissionService.getById(rolePermissionVO.getId());
+ if (rolePermission != null) {
+ Role role = roleService.getById(rolePermission.getRoleId());
+ Permission permission = permissionService.getById(rolePermission.getPermissionId());
+ rolePermission.setRole(role);
+ rolePermission.setPermission(permission);
+ }
+ return Result.success(rolePermission);
+
+
+
+
+
+ }
+ @Autowired
+ private JdbcTemplate jdbcTemplate;
+
+ @Autowired RolePermissionMapper RolePermissionMapper;
+ ;
+
+
+ @GetMapping("/getByRoleId")
+ public com.example.springboot.common.Result selectquanxian(@RequestParam("roleId") int roleId) {
+ List<Map<String, Object>> resultSet = RolePermissionMapper.selectquanxian(roleId);
+
+ List<Map<String, Object>> permissions = new ArrayList<>();
+ for (Map<String, Object> result : resultSet) {
+
+ Long role_id2 = (Long) result.get("role_id");
+ int state = (int) result.get("state");
+ Long permission_id = (Long) result.get("permission_id"); // 娉ㄦ剰杩欓噷鐨勭被鍨嬫槸Long
+ String permissionName = (String) result.get("name");
+
+ Map<String, Object> permission = new HashMap<>();
+ permission.put("roleId", role_id2.intValue());
+ permission.put("name", permissionName);
+ permission.put("permission_id", permission_id.intValue()); // 灏哃ong绫诲瀷杞崲涓篿nt绫诲瀷
+ permission.put("state", state);
+ permissions.add(permission);
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("permissionList", permissions);
+ return com.example.springboot.common.Result.success(map);
}
+
+
+ @PostMapping("/savePermissions")
+ public Result savePermissions(@RequestBody Map<String, Object> requestBody) {
+ try {
+ // 鑾峰彇鏉冮檺鏁版嵁鍒楄〃
+ List<Map<String, Object>> permissions = (List<Map<String, Object>>) requestBody.get("permissions");
+ // 閬嶅巻鎺ユ敹鍒扮殑鏉冮檺鏁版嵁
+ for (Map<String, Object> permission : permissions) {
+ // 鑾峰彇鏉冮檺椤圭殑roleId銆乶ame銆乻tate鍜宲ermission_id
+ int roleId = (int) permission.get("roleId");
+ String name = (String) permission.get("name");
+ int state = (int) permission.get("state");
+ int permissionId = (int) permission.get("permission_id");
+
+ // 鏍规嵁roleId鍜宲ermissionId鏌ヨ鏄惁宸插瓨鍦ㄨ鏉冮檺璁板綍
+ boolean exists = RolePermissionMapper.checkExists(roleId, permissionId);
+
+ if (exists) {
+ // 濡傛灉宸插瓨鍦ㄨ鏉冮檺璁板綍锛屽垯鏇存柊鐘舵��
+ RolePermissionMapper.updateState(roleId, permissionId, state);
+ } else {
+ // 濡傛灉涓嶅瓨鍦ㄨ鏉冮檺璁板綍锛屽垯鏂板涓�鏉℃潈闄愯褰�
+ RolePermissionMapper.insert(roleId, permissionId, state);
+ }
+ }
+
+ return Result.success(); // 鎴愬姛淇濆瓨鏉冮檺鍚庤繑鍥炵粨鏋�
+ } catch (Exception e) {
+ e.printStackTrace();
+ return Result.fail("淇濆瓨鏉冮檺澶辫触"); // 淇濆瓨鏉冮檺澶辫触鏃惰繑鍥為敊璇俊鎭�
+ }
+ }
+
+
+
+
+
+
+
}
+
+
+
+
+
+
+
+
--
Gitblit v1.8.0