2025年3月5日17:17:01 实体更新

master
qmstyle 2025-03-05 17:40:17 +08:00
parent bebf64ed58
commit 6326c3e7d9
4 changed files with 48 additions and 55 deletions

View File

@ -43,41 +43,40 @@ public class UserController {
TypedQuery<User> query = entityManager.createQuery("select obj from User obj where obj.id = 1", User.class);
User root = query.getResultList().get(0);
// Set<Role> roles = root.getRoles();
// for (Role role : roles) {
// 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());
// children.add(childMap);
// }
// }
// }
// }
// }
Set<Role> roles = root.getRoles();
for (Role role : roles) {
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());
children.add(childMap);
}
}
}
}
}
return Result.success(list);
}
}

View File

@ -1,10 +1,7 @@
package com.zhangmeng.online.exam.entity;
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.*;
import javax.persistence.*;
import java.util.HashSet;
@ -16,10 +13,11 @@ import java.util.Set;
* @version: 1.0
*/
@NoArgsConstructor
@Data
@ToString(exclude = {"roles"})
@Getter
@Setter
@AllArgsConstructor
@Entity
@EqualsAndHashCode(callSuper = false)
@Table(name = "permission")
public class Permission extends BaseEntity<Long> {
@ -37,7 +35,7 @@ public class Permission extends BaseEntity<Long> {
@Column(name = "frontpath")
private String frontpath;
@ManyToMany(mappedBy = "permissions")
@ManyToMany(mappedBy = "permissions",targetEntity = Role.class)
private Set<Role> roles = new HashSet<>();
@ManyToOne(fetch = FetchType.LAZY)

View File

@ -1,10 +1,7 @@
package com.zhangmeng.online.exam.entity;
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.*;
import javax.persistence.*;
import java.util.HashSet;
@ -16,10 +13,11 @@ import java.util.Set;
* @version: 1.0
*/
@NoArgsConstructor
@Data
@ToString(exclude = {"users","permissions"})
@Getter
@Setter
@AllArgsConstructor
@Entity
@EqualsAndHashCode(callSuper = false)
@Table(name = "role")
public class Role extends BaseEntity<Long> {
@ -27,7 +25,7 @@ public class Role extends BaseEntity<Long> {
private String description;
@ManyToMany(mappedBy = "roles")
@ManyToMany(mappedBy = "roles",targetEntity = User.class)
private Set<User> users = new HashSet<>();
@ManyToMany(fetch = FetchType.LAZY)

View File

@ -1,10 +1,7 @@
package com.zhangmeng.online.exam.entity;
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.*;
import javax.persistence.*;
import java.util.HashSet;
@ -16,10 +13,11 @@ import java.util.Set;
* @version: 1.0
*/
@NoArgsConstructor
@Data
@ToString(exclude = {"roles"})
@Getter
@Setter
@AllArgsConstructor
@Entity
@EqualsAndHashCode(callSuper = false)
@Table(name = "user")
public class User extends BaseEntity<Long> {