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>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-security</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -41,52 +41,89 @@ public class InitController {
|
|||
permissionDao.save(p1);
|
||||
|
||||
Permission p2 = new Permission();
|
||||
p2.setName("用户管理");
|
||||
p2.setIcon("user-filled");
|
||||
p2.setName("用户列表");
|
||||
p2.setIcon("user-list");
|
||||
p2.setUrl("/user/list");
|
||||
p2.setDescription("用户管理");
|
||||
p2.setSort(1);
|
||||
p2.setDescription("用户列表");
|
||||
p2.setSort(2);
|
||||
p2.setFrontpath("/user/list");
|
||||
p2.setParent(p1);
|
||||
permissionDao.save(p2);
|
||||
|
||||
Permission p3 = new Permission();
|
||||
p3.setName("角色管理");
|
||||
p3.setIcon("role");
|
||||
p3.setIcon("role-list");
|
||||
p3.setUrl("/role/list");
|
||||
p3.setDescription("角色管理");
|
||||
p3.setSort(2);
|
||||
p3.setSort(3);
|
||||
p3.setFrontpath("/role/list");
|
||||
p3.setParent(p1);
|
||||
permissionDao.save(p3);
|
||||
|
||||
Permission p4 = new Permission();
|
||||
p4.setName("权限管理");
|
||||
p4.setIcon("permission");
|
||||
p4.setIcon("permission-list");
|
||||
p4.setUrl("/permission/list");
|
||||
p4.setDescription("权限管理");
|
||||
p4.setSort(3);
|
||||
p4.setSort(4);
|
||||
p4.setFrontpath("/permission/list");
|
||||
p4.setParent(p1);
|
||||
permissionDao.save(p4);
|
||||
|
||||
/****************************************************************************************************************************************/
|
||||
|
||||
Permission p5 = new Permission();
|
||||
p5.setName("问题管理");
|
||||
p5.setIcon("question");
|
||||
p5.setUrl("/question/list");
|
||||
p5.setIcon("question-manager");
|
||||
p5.setDescription("问题管理");
|
||||
p5.setSort(4);
|
||||
p5.setSort(5);
|
||||
permissionDao.save(p5);
|
||||
|
||||
Permission p6 = new Permission();
|
||||
p6.setName("问题列表");
|
||||
p6.setIcon("question-list");
|
||||
p6.setUrl("/permission/list");
|
||||
p6.setDescription("权限管理");
|
||||
p6.setSort(3);
|
||||
p6.setFrontpath("/permission/list");
|
||||
p6.setParent(p1);
|
||||
permissionDao.save(p4);
|
||||
p6.setUrl("/question/list");
|
||||
p6.setDescription("问题列表");
|
||||
p6.setSort(6);
|
||||
p6.setFrontpath("/question/list");
|
||||
p6.setParent(p5);
|
||||
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(p3);
|
||||
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);
|
||||
|
||||
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.RoleDao;
|
||||
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.entity.*;
|
||||
import com.zhangmeng.online.exam.entity.User;
|
||||
|
|
@ -36,10 +37,25 @@ public class UserController {
|
|||
@Autowired
|
||||
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")
|
||||
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);
|
||||
User root = query.getResultList().get(0);
|
||||
|
|
@ -48,35 +64,35 @@ public class UserController {
|
|||
Set<Permission> permissions = role.getPermissions();
|
||||
for (Permission permission : permissions) {
|
||||
if (permission.getParent() == null) {//一级菜单
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", permission.getId());
|
||||
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())) {
|
||||
List<Map<String, Object>> children = (List<Map<String, Object>>) map.get("children");
|
||||
Map<String, Object> childMap = new HashMap<>();
|
||||
childMap.put("id", permission.getId());
|
||||
childMap.put("name", permission.getName());
|
||||
childMap.put("icon", permission.getIcon());
|
||||
childMap.put("url", permission.getUrl());
|
||||
childMap.put("description", permission.getDescription());
|
||||
childMap.put("sort", permission.getSort());
|
||||
Menu menu = getMenu(permission);
|
||||
list.add(menu);
|
||||
}
|
||||
}
|
||||
if (!list.isEmpty()) {
|
||||
for (Permission permission : permissions) {
|
||||
for (Menu map : list) {
|
||||
if (permission.getParent() != null && map.getId().equals(permission.getParent().getId())) {
|
||||
List<Menu> children = map.getChildren();
|
||||
Menu childMap = getMenu(permission);
|
||||
children.add(childMap);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
public static Result success(List<Map<String, Object>> list) {
|
||||
public static Result success(Object data) {
|
||||
Result result = new Result();
|
||||
result.setCode(SUCCESS);
|
||||
result.setMessage("success");
|
||||
result.setData(list);
|
||||
result.setData(data);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,25 @@ import java.util.Set;
|
|||
@Table(name = "role")
|
||||
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 description;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,7 @@ import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
|||
import lombok.*;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
|
|
@ -21,6 +20,38 @@ import java.util.Set;
|
|||
@Table(name = "user")
|
||||
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 password;
|
||||
|
|
|
|||
Loading…
Reference in New Issue