MenuAction.java

package com.mycim.webapp.actions.security;

import com.fa.sesa.i18n.I18nUtils;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.context.spring.SpringContext;
import com.mycim.server.security.service.SecurityService;
import com.mycim.webapp.actions.AbstractAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;

/**
 * @author Johnson.Wang
 * @version 6.0.0
 * @date 2019/8/20
 **/
public class MenuAction extends AbstractAction {

    private static SecurityService securityService = SpringContext.getBean(SecurityService.class);

    @Override
    public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                              HttpServletResponse response) {

        return null;
    }

    public Map initMenu() {
        long rootMenuRrn = securityService.getRootMenuRrn(LocalContext.getFacilityRrn());

        Map<String, Object> data = securityService
                .getUserAuthorizationMenu(LocalContext.getUserRrn(), LocalContext.getFacilityRrn(),
                                          I18nUtils.getCurrentLanguage());

        Map<String, Object> responseMsg = new HashMap<>();

        responseMsg.put("rootMenuRrn", rootMenuRrn);
        responseMsg.put("menuTree", data.get("menuData"));

        return responseMsg;
    }

}