fixed: role的edit接口返回permissionIds

This commit is contained in:
none 2023-02-24 23:25:14 +08:00
parent e7128852ad
commit de0279f250
5 changed files with 32 additions and 5 deletions

View File

@ -1,7 +1,6 @@
package xyz.playedu.api.controller.backend; package xyz.playedu.api.controller.backend;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import xyz.playedu.api.constant.BPermissionConstant; import xyz.playedu.api.constant.BPermissionConstant;
@ -43,8 +42,10 @@ public class AdminRoleController {
@GetMapping("/create") @GetMapping("/create")
public JsonResponse create() { public JsonResponse create() {
List<AdminPermission> permissions = permissionService.listOrderBySortAsc(); List<AdminPermission> permissions = permissionService.listOrderBySortAsc();
HashMap<String, Object> data = new HashMap<>(); HashMap<String, Object> data = new HashMap<>();
data.put("permissions", permissions); data.put("permissions", permissions);
return JsonResponse.data(data); return JsonResponse.data(data);
} }
@ -59,7 +60,13 @@ public class AdminRoleController {
@GetMapping("/{id}") @GetMapping("/{id}")
public JsonResponse edit(@PathVariable(name = "id") Integer id) throws NotFoundException { public JsonResponse edit(@PathVariable(name = "id") Integer id) throws NotFoundException {
AdminRole role = roleService.findOrFail(id); AdminRole role = roleService.findOrFail(id);
return JsonResponse.data(role); List<Integer> permissionIds = roleService.getPermissionIdsByRoleId(role.getId());
HashMap<String, Object> data = new HashMap<>();
data.put("role", role);
data.put("permission_ids", permissionIds);
return JsonResponse.data(data);
} }
@BackendPermissionMiddleware(slug = BPermissionConstant.ADMIN_ROLE) @BackendPermissionMiddleware(slug = BPermissionConstant.ADMIN_ROLE)

View File

@ -18,4 +18,6 @@ public interface AdminRolePermissionService extends IService<AdminRolePermission
void removeByRoleId(Integer roleId); void removeByRoleId(Integer roleId);
List<Integer> getPermissionIdsByRoleIds(List<Integer> roleIds); List<Integer> getPermissionIdsByRoleIds(List<Integer> roleIds);
List<Integer> getPermissionIdsByRoleId(Integer roleId);
} }

View File

@ -4,6 +4,8 @@ import xyz.playedu.api.domain.AdminRole;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.exception.NotFoundException;
import java.util.List;
/** /**
* @author tengteng * @author tengteng
* @description 针对表admin_roles的数据库操作Service * @description 针对表admin_roles的数据库操作Service
@ -13,7 +15,7 @@ public interface AdminRoleService extends IService<AdminRole> {
AdminRole getBySlug(String slug); AdminRole getBySlug(String slug);
AdminRole createWithPermissionIds(String name, Integer[] permissionIds); void createWithPermissionIds(String name, Integer[] permissionIds);
void relatePermissions(AdminRole role, Integer[] permissionIds); void relatePermissions(AdminRole role, Integer[] permissionIds);
@ -25,4 +27,6 @@ public interface AdminRoleService extends IService<AdminRole> {
void removeWithPermissions(AdminRole role); void removeWithPermissions(AdminRole role);
List<Integer> getPermissionIdsByRoleId(Integer roleId);
} }

View File

@ -32,6 +32,16 @@ public class AdminRolePermissionServiceImpl extends ServiceImpl<AdminRolePermiss
} }
return ids; return ids;
} }
@Override
public List<Integer> getPermissionIdsByRoleId(Integer roleId) {
List<AdminRolePermission> rolePermissions = list(query().getWrapper().eq("role_id", roleId));
List<Integer> ids = new ArrayList<>();
for (AdminRolePermission rolePermission : rolePermissions) {
ids.add(rolePermission.getPermId());
}
return ids;
}
} }

View File

@ -34,7 +34,7 @@ public class AdminRoleServiceImpl extends ServiceImpl<AdminRoleMapper, AdminRole
@Override @Override
@Transactional @Transactional
public AdminRole createWithPermissionIds(String name, Integer[] permissionIds) { public void createWithPermissionIds(String name, Integer[] permissionIds) {
AdminRole role = new AdminRole(); AdminRole role = new AdminRole();
role.setName(name); role.setName(name);
@ -46,7 +46,6 @@ public class AdminRoleServiceImpl extends ServiceImpl<AdminRoleMapper, AdminRole
relatePermissions(role, permissionIds); relatePermissions(role, permissionIds);
return role;
} }
@Override @Override
@ -99,6 +98,11 @@ public class AdminRoleServiceImpl extends ServiceImpl<AdminRoleMapper, AdminRole
rolePermissionService.removeByRoleId(role.getId()); rolePermissionService.removeByRoleId(role.getId());
removeById(role.getId()); removeById(role.getId());
} }
@Override
public List<Integer> getPermissionIdsByRoleId(Integer roleId) {
return rolePermissionService.getPermissionIdsByRoleId(roleId);
}
} }