mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-06-27 23:52:58 +08:00
优化权限结构
This commit is contained in:
parent
acb8b79edd
commit
82c53ed87f
@ -63,6 +63,7 @@ sa-token:
|
||||
is-share: false
|
||||
jwt-secret-key: "playeduxyz"
|
||||
token-prefix: "Bearer"
|
||||
is-log: false
|
||||
|
||||
playedu:
|
||||
core:
|
||||
|
@ -40,6 +40,7 @@ public class BPermissionConstant {
|
||||
public static final String USER_LEARN_DESTROY = "user-learn-destroy";
|
||||
|
||||
public static final String COURSE = "course";
|
||||
public static final String COURSE_CUD = "course-cud";
|
||||
public static final String COURSE_USER = "course-user";
|
||||
public static final String COURSE_USER_DESTROY = "course-user-destroy";
|
||||
|
||||
|
@ -29,7 +29,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface AdminPermissionService extends IService<AdminPermission> {
|
||||
|
||||
HashMap<String, Boolean> allSlugs();
|
||||
HashMap<String, Integer> allSlugs();
|
||||
|
||||
List<AdminPermission> listOrderBySortAsc();
|
||||
|
||||
|
@ -37,11 +37,11 @@ public class AdminPermissionServiceImpl extends ServiceImpl<AdminPermissionMappe
|
||||
implements AdminPermissionService {
|
||||
|
||||
@Override
|
||||
public HashMap<String, Boolean> allSlugs() {
|
||||
public HashMap<String, Integer> allSlugs() {
|
||||
List<AdminPermission> data = list();
|
||||
HashMap<String, Boolean> map = new HashMap<>();
|
||||
HashMap<String, Integer> map = new HashMap<>();
|
||||
for (AdminPermission permission : data) {
|
||||
map.put(permission.getSlug(), true);
|
||||
map.put(permission.getSlug(), permission.getId());
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
@ -37,76 +37,19 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
BPermissionConstant.TYPE_ACTION,
|
||||
new HashMap<>() {
|
||||
{
|
||||
// 管理员
|
||||
put(
|
||||
"管理员",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("列表");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.ADMIN_USER_INDEX);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(10);
|
||||
setName("新增|编辑|删除");
|
||||
setSlug(BPermissionConstant.ADMIN_USER_CUD);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 管理员角色
|
||||
put(
|
||||
"管理员角色",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("新增|编辑|删除");
|
||||
setSlug(BPermissionConstant.ADMIN_ROLE);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 管理员日志
|
||||
put(
|
||||
"管理员日志",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("列表");
|
||||
setSlug(BPermissionConstant.ADMIN_LOG);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 部门
|
||||
put(
|
||||
"部门",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("新增|编辑|删除");
|
||||
setSlug(BPermissionConstant.DEPARTMENT_CUD);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(10);
|
||||
setName("学员学习");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.DEPARTMENT_USER_LEARN);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 资源分类
|
||||
// 分类管理
|
||||
put(
|
||||
"分类管理",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("列表");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.RESOURCE_CATEGORY_MENU);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
@ -116,24 +59,15 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
.RESOURCE_CATEGORY);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(10);
|
||||
setName("左侧菜单");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.RESOURCE_CATEGORY_MENU);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 资源分类
|
||||
// 资源管理
|
||||
put(
|
||||
"资源管理",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(10);
|
||||
setName("左侧菜单");
|
||||
setSort(30);
|
||||
setName("列表");
|
||||
setSlug(BPermissionConstant.RESOURCE_MENU);
|
||||
}
|
||||
},
|
||||
@ -173,20 +107,41 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(40);
|
||||
setName("学习");
|
||||
setName("学习进度-查看");
|
||||
setSlug(BPermissionConstant.USER_LEARN);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(50);
|
||||
setName("学习-删除");
|
||||
setName("学习进度-记录删除");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.USER_LEARN_DESTROY);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 部门
|
||||
put(
|
||||
"部门",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("新增|编辑|删除");
|
||||
setSlug(BPermissionConstant.DEPARTMENT_CUD);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(10);
|
||||
setName("查看部门学员学习进度");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.DEPARTMENT_USER_LEARN);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 线上课
|
||||
put(
|
||||
"线上课",
|
||||
@ -194,10 +149,17 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("新增|编辑|删除");
|
||||
setName("列表");
|
||||
setSlug(BPermissionConstant.COURSE);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(5);
|
||||
setName("新增|编辑|删除");
|
||||
setSlug(BPermissionConstant.COURSE_CUD);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(10);
|
||||
@ -215,23 +177,9 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
}
|
||||
},
|
||||
});
|
||||
// 其它
|
||||
put(
|
||||
"其它",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setName("修改登录密码");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.PASSWORD_CHANGE);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 系统配置
|
||||
put(
|
||||
"系统配置",
|
||||
"系统",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
@ -240,14 +188,48 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
setSlug(BPermissionConstant.SYSTEM_CONFIG);
|
||||
}
|
||||
},
|
||||
});
|
||||
// 其它
|
||||
put(
|
||||
"其它权限",
|
||||
new AdminPermission[] {
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(0);
|
||||
setSort(10);
|
||||
setName("管理员日志");
|
||||
setSlug(BPermissionConstant.ADMIN_LOG);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(15);
|
||||
setName("管理员角色");
|
||||
setSlug(BPermissionConstant.ADMIN_ROLE);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(20);
|
||||
setName("管理员-列表");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.ADMIN_USER_INDEX);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(25);
|
||||
setName("管理员-新增|编辑|删除");
|
||||
setSlug(BPermissionConstant.ADMIN_USER_CUD);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(30);
|
||||
setName("修改登录密码");
|
||||
setSlug(
|
||||
BPermissionConstant
|
||||
.PASSWORD_CHANGE);
|
||||
}
|
||||
},
|
||||
new AdminPermission() {
|
||||
{
|
||||
setSort(35);
|
||||
setName("文件上传");
|
||||
setSlug(BPermissionConstant.UPLOAD);
|
||||
}
|
||||
@ -312,7 +294,7 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
HashMap<String, Boolean> slugs = permissionService.allSlugs();
|
||||
HashMap<String, Integer> slugs = permissionService.allSlugs();
|
||||
List<AdminPermission> list = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
|
||||
@ -320,25 +302,28 @@ public class AdminPermissionCheck implements CommandLineRunner {
|
||||
(typeValue, group) -> {
|
||||
group.forEach(
|
||||
(groupNameValue, item) -> {
|
||||
for (int i = 0; i < item.length; i++) {
|
||||
AdminPermission permissionItem = item[i];
|
||||
|
||||
if (slugs.get(permissionItem.getSlug()) != null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 不存在
|
||||
list.add(
|
||||
for (AdminPermission permissionItem : item) {
|
||||
AdminPermission newPermissionItem =
|
||||
new AdminPermission() {
|
||||
{
|
||||
setType(typeValue);
|
||||
setGroupName(groupNameValue);
|
||||
setSort(permissionItem.getSort());
|
||||
setName(permissionItem.getName());
|
||||
setSlug(permissionItem.getSlug());
|
||||
setCreatedAt(now);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Integer existsId = slugs.get(permissionItem.getSlug());
|
||||
if (existsId != null && existsId > 0) {
|
||||
newPermissionItem.setId(existsId);
|
||||
permissionService.updateById(newPermissionItem);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 不存在
|
||||
newPermissionItem.setCreatedAt(now);
|
||||
newPermissionItem.setSlug(permissionItem.getSlug());
|
||||
list.add(newPermissionItem);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user