Commit 112e597a sunke

菜单重构

1 个父辈 7abd1e25
......@@ -2,6 +2,7 @@ package com.neotel.smfcore.core.api;
import com.google.common.collect.Lists;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.init.MenuInit;
import com.neotel.smfcore.core.api.listener.ISmfApiListener;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
......@@ -77,7 +78,6 @@ public class SmfApi {
fetchInListUrl = dataCache.getConfigCache("api.fetchInListUrl",fetchInListUrl);
fetchOrderUrl = dataCache.getConfigCache("api.fetchOrderUrl",fetchOrderUrl);
}
/**
......@@ -201,4 +201,7 @@ public class SmfApi {
return false;
}
public String getApiName(){
return apiName;
}
}
package com.neotel.smfcore.custom.haman;
import com.neotel.smfcore.common.init.MenuInit;
import com.neotel.smfcore.core.api.SmfApi;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
/**
* @author sunke
* @date 2022/12/14 4:01 PM
*/
@Component
public class HamanMenu {
@Autowired
MenuInit menuInit;
@Autowired
SmfApi smfApi;
@PostConstruct
public void init(){
String[] menus = new String[]{
"lockMaterial",
"workOrder",
"singleOuput",
"tacticsOuput",
"inList",
"sluggishMaterials",
"expireMaterials",
"outSetting",
"componentParts",
"barcode",
"barcodeSetting",
"taskLog",
"message",
"inOutData",
"inventory",
"orderSetting",
"bunker",
"storagePos",
"sysSetting",
"translation",
"shelfSetting",
"peoples",
"role",
"about"
};
menuInit.labelMenu("haman", menus);
String apiName = smfApi.getApiName();
if(Strings.isNotBlank(apiName)){
menuInit.showMenu(apiName);
}
}
}
......@@ -23,10 +23,7 @@ import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.*;
/**
* @author Zheng Jie
......@@ -106,6 +103,15 @@ public class Menu extends BasePo implements Serializable {
@Transient
private Menu parentMenu;
/**
* 定制菜单标识
*/
private Set<String> clients = new HashSet<>();
public void addClientLabel(String clientLabel){
clients.add(clientLabel);
}
public Boolean getHasChildren() {
if(subCount==0){
return false;
......@@ -145,7 +151,7 @@ public class Menu extends BasePo implements Serializable {
this.icon = icon;
this.titleKey=path;
}
public Menu ( final String permission, final String title, final Integer menuSort, final String pid ) {
public Menu (final String permission, final String title, final Integer menuSort, final String pid ) {
this.children = new ArrayList<Menu>();
this.type = 2;
......@@ -164,19 +170,51 @@ public class Menu extends BasePo implements Serializable {
this.titleKey=path;
}
/**
* 此方法用于构建权限菜单,type=2
*/
public static Menu CreatePerMenu( final String permission, final String title, final String pid ) {
Menu menu=new Menu(new ArrayList<Menu>(),2,permission,title,999,"","",pid,0,false,false,false,"","","",null);
* 创建功能菜单
*/
public static Menu createFunctionMenu(Menu parentMenu, final String title, final Integer menuSort, final String path, final String component, final String icon) {
Menu menu = new Menu();
menu.setChildren(new ArrayList<Menu>());
menu.setType(1);
menu.setPermission(path);
menu.setTitle(title);
menu.setMenuSort(menuSort);
menu.setPath(path);
menu.setComponent(component);
menu.setPid("");
menu.setSubCount(0);
menu.setIFrame(false);
menu.setCache(false);
menu.setHidden(false);
menu.setComponentName("");
menu.setIcon(icon);
menu.setTitleKey("");
menu.setParentMenu(parentMenu);
return menu;
}
/**
* 此方法用户创建只用于显示的一级菜单,type=0
*/
public static Menu CreatePMenu( final String title, final Integer menuSort, final String path, final Integer subCount, final String icon, Menu parentMenu ) {
public static Menu CreatePMenu(final String title, final Integer menuSort, final String path, final String icon, Menu parentMenu ) {
String titleKey=path;
Menu menu = new Menu(new ArrayList<Menu>(), 0, "", title, menuSort, path, "", "", subCount, false, false, false, title, icon,titleKey,parentMenu);
Menu menu = new Menu();
menu.setChildren(new ArrayList<Menu>());
menu.setType(0);
menu.setPermission("");
menu.setTitle(title);
menu.setMenuSort(menuSort);
menu.setPath(path);
menu.setComponent("");
menu.setPid("");
menu.setSubCount(1);
menu.setIFrame(false);
menu.setCache(false);
menu.setHidden(false);
menu.setComponentName(title);
menu.setIcon(icon);
menu.setTitleKey(titleKey);
menu.setParentMenu(parentMenu);
return menu;
}
......
......@@ -2,7 +2,7 @@ server:
port: 8800
api:
name:
name: haman
inCheckUrl:
outNotifyUrl:
inNotifyUrl:
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!