2025年3月6日17:45:43
parent
90e06a7305
commit
e202d57987
5
pom.xml
5
pom.xml
|
|
@ -61,6 +61,11 @@
|
||||||
<artifactId>spring-boot-starter-freemarker</artifactId>
|
<artifactId>spring-boot-starter-freemarker</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||||
|
<!-- <artifactId>spring-boot-starter-security</artifactId>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
||||||
|
|
@ -41,52 +41,89 @@ public class InitController {
|
||||||
permissionDao.save(p1);
|
permissionDao.save(p1);
|
||||||
|
|
||||||
Permission p2 = new Permission();
|
Permission p2 = new Permission();
|
||||||
p2.setName("用户管理");
|
p2.setName("用户列表");
|
||||||
p2.setIcon("user-filled");
|
p2.setIcon("user-list");
|
||||||
p2.setUrl("/user/list");
|
p2.setUrl("/user/list");
|
||||||
p2.setDescription("用户管理");
|
p2.setDescription("用户列表");
|
||||||
p2.setSort(1);
|
p2.setSort(2);
|
||||||
p2.setFrontpath("/user/list");
|
p2.setFrontpath("/user/list");
|
||||||
p2.setParent(p1);
|
p2.setParent(p1);
|
||||||
permissionDao.save(p2);
|
permissionDao.save(p2);
|
||||||
|
|
||||||
Permission p3 = new Permission();
|
Permission p3 = new Permission();
|
||||||
p3.setName("角色管理");
|
p3.setName("角色管理");
|
||||||
p3.setIcon("role");
|
p3.setIcon("role-list");
|
||||||
p3.setUrl("/role/list");
|
p3.setUrl("/role/list");
|
||||||
p3.setDescription("角色管理");
|
p3.setDescription("角色管理");
|
||||||
p3.setSort(2);
|
p3.setSort(3);
|
||||||
p3.setFrontpath("/role/list");
|
p3.setFrontpath("/role/list");
|
||||||
p3.setParent(p1);
|
p3.setParent(p1);
|
||||||
permissionDao.save(p3);
|
permissionDao.save(p3);
|
||||||
|
|
||||||
Permission p4 = new Permission();
|
Permission p4 = new Permission();
|
||||||
p4.setName("权限管理");
|
p4.setName("权限管理");
|
||||||
p4.setIcon("permission");
|
p4.setIcon("permission-list");
|
||||||
p4.setUrl("/permission/list");
|
p4.setUrl("/permission/list");
|
||||||
p4.setDescription("权限管理");
|
p4.setDescription("权限管理");
|
||||||
p4.setSort(3);
|
p4.setSort(4);
|
||||||
p4.setFrontpath("/permission/list");
|
p4.setFrontpath("/permission/list");
|
||||||
p4.setParent(p1);
|
p4.setParent(p1);
|
||||||
permissionDao.save(p4);
|
permissionDao.save(p4);
|
||||||
|
|
||||||
|
/****************************************************************************************************************************************/
|
||||||
|
|
||||||
Permission p5 = new Permission();
|
Permission p5 = new Permission();
|
||||||
p5.setName("问题管理");
|
p5.setName("问题管理");
|
||||||
p5.setIcon("question");
|
p5.setIcon("question-manager");
|
||||||
p5.setUrl("/question/list");
|
|
||||||
p5.setDescription("问题管理");
|
p5.setDescription("问题管理");
|
||||||
p5.setSort(4);
|
p5.setSort(5);
|
||||||
permissionDao.save(p5);
|
permissionDao.save(p5);
|
||||||
|
|
||||||
Permission p6 = new Permission();
|
Permission p6 = new Permission();
|
||||||
p6.setName("问题列表");
|
p6.setName("问题列表");
|
||||||
p6.setIcon("question-list");
|
p6.setIcon("question-list");
|
||||||
p6.setUrl("/permission/list");
|
p6.setUrl("/question/list");
|
||||||
p6.setDescription("权限管理");
|
p6.setDescription("问题列表");
|
||||||
p6.setSort(3);
|
p6.setSort(6);
|
||||||
p6.setFrontpath("/permission/list");
|
p6.setFrontpath("/question/list");
|
||||||
p6.setParent(p1);
|
p6.setParent(p5);
|
||||||
permissionDao.save(p4);
|
permissionDao.save(p6);
|
||||||
|
|
||||||
|
|
||||||
|
Permission p7 = new Permission();
|
||||||
|
p7.setName("职业管理");
|
||||||
|
p7.setIcon("profession-manager");
|
||||||
|
p7.setDescription("问题管理");
|
||||||
|
p7.setSort(7);
|
||||||
|
permissionDao.save(p7);
|
||||||
|
|
||||||
|
Permission p8 = new Permission();
|
||||||
|
p8.setName("职业列表");
|
||||||
|
p8.setIcon("profession-list");
|
||||||
|
p8.setUrl("/profession/list");
|
||||||
|
p8.setDescription("职业列表");
|
||||||
|
p8.setSort(8);
|
||||||
|
p8.setFrontpath("/profession/list");
|
||||||
|
p8.setParent(p7);
|
||||||
|
permissionDao.save(p8);
|
||||||
|
|
||||||
|
Permission p9 = new Permission();
|
||||||
|
p9.setName("学科管理");
|
||||||
|
p9.setIcon("subject-manager");
|
||||||
|
p9.setDescription("学科管理");
|
||||||
|
p9.setSort(9);
|
||||||
|
permissionDao.save(p9);
|
||||||
|
|
||||||
|
|
||||||
|
Permission p10 = new Permission();
|
||||||
|
p10.setName("学科列表");
|
||||||
|
p10.setIcon("subject-list");
|
||||||
|
p10.setUrl("/subject/list");
|
||||||
|
p10.setDescription("学科列表");
|
||||||
|
p10.setSort(10);
|
||||||
|
p10.setFrontpath("/subject/list");
|
||||||
|
p10.setParent(p9);
|
||||||
|
permissionDao.save(p10);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -97,6 +134,12 @@ public class InitController {
|
||||||
role.getPermissions().add(p2);
|
role.getPermissions().add(p2);
|
||||||
role.getPermissions().add(p3);
|
role.getPermissions().add(p3);
|
||||||
role.getPermissions().add(p4);
|
role.getPermissions().add(p4);
|
||||||
|
role.getPermissions().add(p5);
|
||||||
|
role.getPermissions().add(p6);
|
||||||
|
role.getPermissions().add(p7);
|
||||||
|
role.getPermissions().add(p8);
|
||||||
|
role.getPermissions().add(p9);
|
||||||
|
role.getPermissions().add(p10);
|
||||||
roleDao.save(role);
|
roleDao.save(role);
|
||||||
|
|
||||||
User admin = new User();
|
User admin = new User();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.zhangmeng.online.exam.controller;
|
||||||
|
|
||||||
|
import com.zhangmeng.online.exam.dao.RoleDao;
|
||||||
|
import com.zhangmeng.online.exam.dto.Result;
|
||||||
|
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.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author zm
|
||||||
|
* @date 2025/3/6 17:27
|
||||||
|
* @version: 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/role")
|
||||||
|
public class RoleController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RoleDao roleDao;
|
||||||
|
|
||||||
|
@RequestMapping("/list")
|
||||||
|
public Result list() {
|
||||||
|
|
||||||
|
List<Role> list = roleDao.findAll();
|
||||||
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||||
|
for (Role role : list) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("id", role.getId());
|
||||||
|
map.put("name", role.getName());
|
||||||
|
map.put("desc", role.getDescription());
|
||||||
|
map.put("type_name", role.getType().name());
|
||||||
|
resultList.add(map);
|
||||||
|
}
|
||||||
|
return Result.success(resultList);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package com.zhangmeng.online.exam.controller;
|
||||||
import com.zhangmeng.online.exam.dao.PermissionDao;
|
import com.zhangmeng.online.exam.dao.PermissionDao;
|
||||||
import com.zhangmeng.online.exam.dao.RoleDao;
|
import com.zhangmeng.online.exam.dao.RoleDao;
|
||||||
import com.zhangmeng.online.exam.dao.UserDao;
|
import com.zhangmeng.online.exam.dao.UserDao;
|
||||||
|
import com.zhangmeng.online.exam.dto.Menu;
|
||||||
import com.zhangmeng.online.exam.dto.Result;
|
import com.zhangmeng.online.exam.dto.Result;
|
||||||
import com.zhangmeng.online.exam.entity.*;
|
import com.zhangmeng.online.exam.entity.*;
|
||||||
import com.zhangmeng.online.exam.entity.User;
|
import com.zhangmeng.online.exam.entity.User;
|
||||||
|
|
@ -36,10 +37,25 @@ public class UserController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private EntityManager entityManager;
|
private EntityManager entityManager;
|
||||||
|
|
||||||
|
@GetMapping("/list")
|
||||||
|
public Result userList() {
|
||||||
|
List<User> list = userDao.findAll();
|
||||||
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||||
|
for (User user : list) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("id", user.getId());
|
||||||
|
map.put("username", user.getUsername());
|
||||||
|
map.put("email", user.getEmail());
|
||||||
|
map.put("phone", user.getPhone());
|
||||||
|
resultList.add(map);
|
||||||
|
}
|
||||||
|
return Result.success(resultList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/menu")
|
@GetMapping("/menu")
|
||||||
public Result menuList() {
|
public Result menuList() {
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
List<Menu> list = new ArrayList<>();
|
||||||
|
|
||||||
TypedQuery<User> query = entityManager.createQuery("select obj from User obj where obj.id = 1", User.class);
|
TypedQuery<User> query = entityManager.createQuery("select obj from User obj where obj.id = 1", User.class);
|
||||||
User root = query.getResultList().get(0);
|
User root = query.getResultList().get(0);
|
||||||
|
|
@ -48,35 +64,35 @@ public class UserController {
|
||||||
Set<Permission> permissions = role.getPermissions();
|
Set<Permission> permissions = role.getPermissions();
|
||||||
for (Permission permission : permissions) {
|
for (Permission permission : permissions) {
|
||||||
if (permission.getParent() == null) {//一级菜单
|
if (permission.getParent() == null) {//一级菜单
|
||||||
Map<String, Object> map = new HashMap<>();
|
Menu menu = getMenu(permission);
|
||||||
map.put("id", permission.getId());
|
list.add(menu);
|
||||||
map.put("name", permission.getName());
|
|
||||||
map.put("icon", permission.getIcon());
|
|
||||||
map.put("url", permission.getUrl());
|
|
||||||
map.put("description", permission.getDescription());
|
|
||||||
map.put("sort", permission.getSort());
|
|
||||||
map.put("children", new ArrayList<>());
|
|
||||||
list.add(map);
|
|
||||||
} else {
|
|
||||||
if (list.isEmpty()) {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
for (Map<String, Object> map : list) {
|
}
|
||||||
if (map.get("id").equals(permission.getParent().getId())) {
|
if (!list.isEmpty()) {
|
||||||
List<Map<String, Object>> children = (List<Map<String, Object>>) map.get("children");
|
for (Permission permission : permissions) {
|
||||||
Map<String, Object> childMap = new HashMap<>();
|
for (Menu map : list) {
|
||||||
childMap.put("id", permission.getId());
|
if (permission.getParent() != null && map.getId().equals(permission.getParent().getId())) {
|
||||||
childMap.put("name", permission.getName());
|
List<Menu> children = map.getChildren();
|
||||||
childMap.put("icon", permission.getIcon());
|
Menu childMap = getMenu(permission);
|
||||||
childMap.put("url", permission.getUrl());
|
|
||||||
childMap.put("description", permission.getDescription());
|
|
||||||
childMap.put("sort", permission.getSort());
|
|
||||||
children.add(childMap);
|
children.add(childMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Result.success(list);
|
return Result.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Menu getMenu(Permission permission) {
|
||||||
|
Menu childMap = new Menu();
|
||||||
|
childMap.setId(permission.getId());
|
||||||
|
childMap.setName(permission.getName());
|
||||||
|
childMap.setIcon(permission.getIcon());
|
||||||
|
childMap.setUrl(permission.getUrl());
|
||||||
|
childMap.setDescription(permission.getDescription());
|
||||||
|
childMap.setSort(permission.getSort());
|
||||||
|
childMap.setChildren(new ArrayList<>());
|
||||||
|
return childMap;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.zhangmeng.online.exam.dto;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author zm
|
||||||
|
* @date 2025/3/6 16:12
|
||||||
|
* @version: 1.0
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class Menu {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String name;
|
||||||
|
private String icon;
|
||||||
|
private String url;
|
||||||
|
private String description;
|
||||||
|
private Integer sort;
|
||||||
|
private List<Menu> children;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -36,11 +36,11 @@ public class Result {
|
||||||
this.data = data;
|
this.data = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Result success(List<Map<String, Object>> list) {
|
public static Result success(Object data) {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
result.setCode(SUCCESS);
|
result.setCode(SUCCESS);
|
||||||
result.setMessage("success");
|
result.setMessage("success");
|
||||||
result.setData(list);
|
result.setData(data);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,25 @@ import java.util.Set;
|
||||||
@Table(name = "role")
|
@Table(name = "role")
|
||||||
public class Role extends BaseEntity<Long> {
|
public class Role extends BaseEntity<Long> {
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public enum Type {
|
||||||
|
|
||||||
|
STUDENT("学生"),//学生
|
||||||
|
TEACHER("教师"),//教师
|
||||||
|
ADMIN("管理员");//管理员
|
||||||
|
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
Type(String desc) {
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Column(name = "type")
|
||||||
|
@Enumerated(EnumType.ORDINAL)
|
||||||
|
private Type type;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
private String description;
|
private String description;
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@ import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.util.HashSet;
|
import java.util.*;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zm
|
* @author zm
|
||||||
|
|
@ -21,6 +20,38 @@ import java.util.Set;
|
||||||
@Table(name = "user")
|
@Table(name = "user")
|
||||||
public class User extends BaseEntity<Long> {
|
public class User extends BaseEntity<Long> {
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public enum Status {
|
||||||
|
DISABLED("已停用"),
|
||||||
|
VALID("正常"),
|
||||||
|
LOCKED("锁定");
|
||||||
|
|
||||||
|
Status(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String description;//描述
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Map<String,Object>> enumListMap(){
|
||||||
|
User.Status[] values = User.Status.values();
|
||||||
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
|
for (User.Status value : values) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
String description = value.getDescription();
|
||||||
|
map.put("description",description);
|
||||||
|
map.put("value",value);
|
||||||
|
list.add(map);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Status status;
|
||||||
|
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
private String password;
|
private String password;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue