diff --git a/src/main/java/com/zhangmeng/online/exam/controller/InitController.java b/src/main/java/com/zhangmeng/online/exam/controller/InitController.java new file mode 100644 index 0000000..aef2aec --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/controller/InitController.java @@ -0,0 +1,91 @@ +package com.zhangmeng.online.exam.controller; + +import com.zhangmeng.online.exam.dao.PermissionDao; +import com.zhangmeng.online.exam.dao.RoleDao; +import com.zhangmeng.online.exam.dao.UserDao; +import com.zhangmeng.online.exam.entity.Permission; +import com.zhangmeng.online.exam.entity.Role; +import com.zhangmeng.online.exam.entity.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashSet; + +/** + * @author zm + * @date 2025/3/3 16:06 + * @version: 1.0 + */ +@RestController +@RequestMapping("/init") +public class InitController { + + @Autowired + private UserDao userDao; + + @Autowired + private RoleDao roleDao; + + @Autowired + private PermissionDao permissionDao; + + @RequestMapping("/data") + public void initData(){ + + Permission p1 = new Permission(); + p1.setName("用户管理"); + p1.setIcon("user"); + p1.setDescription("用户管理"); + p1.setSort(1); + permissionDao.save(p1); + + Permission p2 = new Permission(); + p2.setName("用户管理"); + p2.setIcon("user-filled"); + p2.setUrl("/user/list"); + p2.setDescription("用户管理"); + p2.setSort(1); + p2.setFrontpath("/user/list"); + p2.setParent(p1); + permissionDao.save(p2); + + Permission p3 = new Permission(); + p3.setName("角色管理"); + p3.setIcon("role"); + p3.setUrl("/role/list"); + p3.setDescription("角色管理"); + p3.setSort(2); + p3.setFrontpath("/role/list"); + p3.setParent(p1); + permissionDao.save(p3); + + Permission p4 = new Permission(); + p4.setName("权限管理"); + p4.setIcon("permission"); + p4.setUrl("/permission/list"); + p4.setDescription("权限管理"); + p4.setSort(3); + p4.setFrontpath("/permission/list"); + p4.setParent(p1); + permissionDao.save(p4); + + Role role = new Role(); + role.setName("管理员"); + role.setDescription("管理员"); + role.getPermissions().add(p1); + role.getPermissions().add(p2); + role.getPermissions().add(p3); + role.getPermissions().add(p4); + roleDao.save(role); + + User admin = new User(); + admin.setUsername("admin"); + admin.setPassword("123456"); + admin.setEmail("admin@admin.com"); + admin.setPhone("13800138000"); + admin.getRoles().add(role); + userDao.save(admin); + + } +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Permission.java b/src/main/java/com/zhangmeng/online/exam/entity/Permission.java index e37823f..ffcc7cd 100644 --- a/src/main/java/com/zhangmeng/online/exam/entity/Permission.java +++ b/src/main/java/com/zhangmeng/online/exam/entity/Permission.java @@ -6,10 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.ManyToMany; -import javax.persistence.Table; +import javax.persistence.*; import java.util.HashSet; import java.util.Set; @@ -43,4 +40,9 @@ public class Permission extends BaseEntity { @ManyToMany(mappedBy = "permissions") private Set roles = new HashSet<>(); + @ManyToOne(fetch = FetchType.LAZY) + private Permission parent; + + + }