Quellcode durchsuchen

自定义菜单功能

lideyin vor 5 Jahren
Ursprung
Commit
395125642d

+ 14 - 3
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/RolePrivilegeController.java

@@ -371,7 +371,7 @@ public class RolePrivilegeController extends ControllerSupport {
 	 */
 	@ApiOperation(value = "查询学生端菜单")
 	@GetMapping("getStudentClientMenu")
-	public List<PrivilegeDomain> getStudentClientMenu(
+	public List<CustomPrivilegeDomain> getStudentClientMenu(
 			@RequestParam(required = false) Long rootOrgId) {
 
 		if (null == rootOrgId) {
@@ -409,7 +409,7 @@ public class RolePrivilegeController extends ControllerSupport {
 		List<PrivilegeEntity> privilegeList = privilegeRepo
 				.findAllByGroupIdOrderByWeightDesc(privilegeGroup.getId());
 
-		List<PrivilegeDomain> privilegeInfoList = Lists.newArrayList();
+		List<CustomPrivilegeDomain> privilegeInfoList = Lists.newArrayList();
 
 		for (PrivilegeEntity cur : privilegeList) {
 			boolean hasPrivilege = undefined ? true : (pList!=null && pList.contains(cur.getId()));
@@ -418,7 +418,7 @@ public class RolePrivilegeController extends ControllerSupport {
 				continue;
 			}
 
-			PrivilegeDomain privilegeInfo = new PrivilegeDomain();
+			CustomPrivilegeDomain privilegeInfo = new CustomPrivilegeDomain();
 			privilegeInfo.setHasPrivilege(hasPrivilege);
 			privilegeInfo.setCode(cur.getCode());
 			privilegeInfo.setCreationTime(cur.getCreationTime());
@@ -436,6 +436,17 @@ public class RolePrivilegeController extends ControllerSupport {
 			privilegeInfo.setExt4(cur.getExt4());
 			privilegeInfo.setExt5(cur.getExt5());
 
+			//如果未自定义过菜单,则routeCode和权限编码一致
+			String routeCode;
+			if (undefined) {
+				routeCode=cur.getCode();
+			}
+			//如果自定义过菜单,则特殊处理
+			else{
+				routeCode= cur.getCode().replace("_"+rootOrgId,"");
+			}
+			privilegeInfo.setRouteCode(routeCode);
+
 			privilegeInfoList.add(privilegeInfo);
 
 		}

+ 30 - 0
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/bean/CustomPrivilegeDomain.java

@@ -0,0 +1,30 @@
+package cn.com.qmth.examcloud.core.basic.api.controller.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import cn.com.qmth.examcloud.web.helpers.tree.TreeNode;
+
+import java.util.Date;
+
+/**
+ * @Description 可自定义的PrivilegeDomain
+ * @Author lideyin
+ * @Date 2020/5/12 17:16
+ * @Version 1.0
+ */
+public class CustomPrivilegeDomain extends PrivilegeDomain {
+
+	private static final long serialVersionUID = -8828760710678965127L;
+
+	/**
+	 * 路由编码码
+	 */
+	private String routeCode;
+
+	public String getRouteCode() {
+		return routeCode;
+	}
+
+	public void setRouteCode(String routeCode) {
+		this.routeCode = routeCode;
+	}
+}