From bebf64ed587ffd9ef04a7efa21a0309c63af7d75 Mon Sep 17 00:00:00 2001 From: qmstyle Date: Wed, 5 Mar 2025 17:20:22 +0800 Subject: [PATCH] =?UTF-8?q?2025=E5=B9=B43=E6=9C=885=E6=97=A517:17:01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exam/controller/UserController.java | 83 ++++++++++++++++ ...{OptionDao.java => QuestionOptionDao.java} | 4 +- .../com/zhangmeng/online/exam/dto/Result.java | 94 +++++++++++++++++++ .../online/exam/entity/Question.java | 2 +- .../{Option.java => QuestionOption.java} | 4 +- .../zhangmeng/online/exam/entity/User.java | 4 +- src/main/resources/application.yml | 2 +- 7 files changed, 185 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/zhangmeng/online/exam/controller/UserController.java rename src/main/java/com/zhangmeng/online/exam/dao/{OptionDao.java => QuestionOptionDao.java} (55%) create mode 100644 src/main/java/com/zhangmeng/online/exam/dto/Result.java rename src/main/java/com/zhangmeng/online/exam/entity/{Option.java => QuestionOption.java} (90%) diff --git a/src/main/java/com/zhangmeng/online/exam/controller/UserController.java b/src/main/java/com/zhangmeng/online/exam/controller/UserController.java new file mode 100644 index 0000000..68114a5 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/controller/UserController.java @@ -0,0 +1,83 @@ +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.Result; +import com.zhangmeng.online.exam.entity.*; +import com.zhangmeng.online.exam.entity.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.persistence.EntityManager; +import javax.persistence.TypedQuery; +import java.util.*; + +/** + * @author zm + * @date 2025/3/5 15:45 + * @version: 1.0 + */ +@RestController +@RequestMapping("/user") +public class UserController { + + @Autowired + private UserDao userDao; + + @Autowired + private RoleDao roleDao; + + @Autowired + private PermissionDao permissionDao; + + @Autowired + private EntityManager entityManager; + + + @GetMapping("/menu") + public Result menuList() { + List> list = new ArrayList<>(); + + TypedQuery query = entityManager.createQuery("select obj from User obj where obj.id = 1", User.class); + User root = query.getResultList().get(0); + +// Set roles = root.getRoles(); +// for (Role role : roles) { +// Set permissions = role.getPermissions(); +// for (Permission permission : permissions) { +// if (permission.getParent() == null) {//一级菜单 +// Map 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 map : list) { +// if (map.get("id").equals(permission.getParent().getId())) { +// List> children = (List>) map.get("children"); +// Map 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); + } +} \ No newline at end of file diff --git a/src/main/java/com/zhangmeng/online/exam/dao/OptionDao.java b/src/main/java/com/zhangmeng/online/exam/dao/QuestionOptionDao.java similarity index 55% rename from src/main/java/com/zhangmeng/online/exam/dao/OptionDao.java rename to src/main/java/com/zhangmeng/online/exam/dao/QuestionOptionDao.java index b05b7d5..aa547b8 100644 --- a/src/main/java/com/zhangmeng/online/exam/dao/OptionDao.java +++ b/src/main/java/com/zhangmeng/online/exam/dao/QuestionOptionDao.java @@ -1,6 +1,6 @@ package com.zhangmeng.online.exam.dao; -import com.zhangmeng.online.exam.entity.Option; +import com.zhangmeng.online.exam.entity.QuestionOption; import org.springframework.data.jpa.repository.JpaRepository; /** @@ -8,5 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository; * @date 2025/2/28 16:14 * @version: 1.0 */ -public interface OptionDao extends JpaRepository { +public interface QuestionOptionDao extends JpaRepository { } diff --git a/src/main/java/com/zhangmeng/online/exam/dto/Result.java b/src/main/java/com/zhangmeng/online/exam/dto/Result.java new file mode 100644 index 0000000..ca4bc09 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dto/Result.java @@ -0,0 +1,94 @@ +package com.zhangmeng.online.exam.dto; + +import java.util.List; +import java.util.Map; + +/** + * @author zm + * @date 2025/3/5 15:47 + * @version: 1.0 + */ +public class Result { + + + public static final int SUCCESS = 200; + + public static final int ERROR = 500; + + private int code; + + private int pageNum; + + private int pageSize; + + private long total; + + private String message; + + private Object data; + + public Result() { + } + + public Result(int code, String message, Object data) { + this.code = code; + this.message = message; + this.data = data; + } + + public static Result success(List> list) { + Result result = new Result(); + result.setCode(SUCCESS); + result.setMessage("success"); + result.setData(list); + return result; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public int getPageNum() { + return pageNum; + } + + public void setPageNum(int pageNum) { + this.pageNum = pageNum; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + } +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Question.java b/src/main/java/com/zhangmeng/online/exam/entity/Question.java index 212facd..bbfa9e2 100644 --- a/src/main/java/com/zhangmeng/online/exam/entity/Question.java +++ b/src/main/java/com/zhangmeng/online/exam/entity/Question.java @@ -37,7 +37,7 @@ public class Question extends BaseEntity { private Type type; @OneToMany(mappedBy = "question") - private List