diff --git a/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/appinfo/ActionGetPublishableAppInfo.java b/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/appinfo/ActionGetPublishableAppInfo.java index b16480df9cfad4b28c80315ade1ddb96e625b227..af71bb98f543ab9beb5fa1a8fa561c5062ed7ef3 100644 --- a/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/appinfo/ActionGetPublishableAppInfo.java +++ b/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/appinfo/ActionGetPublishableAppInfo.java @@ -1,11 +1,5 @@ package com.x.cms.assemble.control.jaxrs.appinfo; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import javax.servlet.http.HttpServletRequest; - import com.x.base.core.project.cache.Cache; import com.x.base.core.project.cache.CacheManager; import com.x.base.core.project.http.ActionResult; @@ -13,71 +7,59 @@ import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.tools.ListTools; +import com.x.cms.assemble.control.Business; +import com.x.cms.core.entity.AppInfoConfig; +import org.apache.hadoop.yarn.webapp.hamlet2.Hamlet; +import javax.servlet.http.HttpServletRequest; +import java.nio.Buffer; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * @author sword + */ public class ActionGetPublishableAppInfo extends BaseAction { private static Logger logger = LoggerFactory.getLogger(ActionGetPublishableAppInfo.class); protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String appId ) throws Exception { ActionResult result = new ActionResult<>(); + Business business = new Business(null); List wos = new ArrayList<>(); - List wos_out = new ArrayList<>(); - Boolean isXAdmin = false; - Boolean check = true; + Boolean isXAdmin = business.isManager(effectivePerson); Boolean isAnonymous = effectivePerson.isAnonymous(); String personName = effectivePerson.getDistinguishedName(); - try { - isXAdmin = userManagerService.isManager( effectivePerson ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionAppInfoProcess(e, "系统在检查用户是否是平台管理员时发生异常。Name:" + personName); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - Cache.CacheKey cacheKey = new Cache.CacheKey( this.getClass(), personName, appId, isXAdmin ); Optional optional = CacheManager.get(cacheCategory, cacheKey); if (optional.isPresent()) { result.setData((Wo)optional.get()); } else { - if (check) { - if ( isXAdmin ) { // 如果用户管理系统管理,则获取所有的栏目和分类信息 - try { - wos = listPublishAbleAppInfoByPermission( personName, isAnonymous, null, "all", "全部", isXAdmin, 1000 ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionAppInfoProcess(e, - "系统在根据用户权限查询所有可见的分类信息时发生异常。Name:" + personName); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } else { - try { - wos_out = listPublishAbleAppInfoByPermission( personName, isAnonymous, null, "all", "全部", isXAdmin, 1000 ); - for( Wo wo : wos_out ) { - if( ListTools.isNotEmpty( wo.getWrapOutCategoryList() )) { - wos.add( wo ); - } - } - } catch (Exception e) { - check = false; - Exception exception = new ExceptionAppInfoProcess(e, - "系统在根据用户权限查询所有可见的分类信息时发生异常。Name:" + personName); - result.error(exception); - logger.error(e, effectivePerson, request, null); + if ( isXAdmin ) { + wos = listPublishAbleAppInfoByPermission( personName, isAnonymous, null, "all", "全部", isXAdmin, 1000 ); + } else { + List wos_out = listPublishAbleAppInfoByPermission( personName, isAnonymous, null, "all", "全部", isXAdmin, 1000 ); + for( Wo wo : wos_out ) { + if( ListTools.isNotEmpty( wo.getWrapOutCategoryList() )) { + wos.add( wo ); } } } - if (check) { - if(ListTools.isNotEmpty( wos)) { - for( Wo wo : wos ) { - if( wo.getId().equalsIgnoreCase( appId )) { - CacheManager.put(cacheCategory, cacheKey, wo); - result.setData( wo ); - break; + if(ListTools.isNotEmpty(wos)) { + for( Wo wo : wos ) { + if( wo.getId().equalsIgnoreCase( appId )) { + AppInfoConfig appInfoConfig = appInfoServiceAdv.getConfigObject(appId); + if( appInfoConfig != null ){ + wo.setConfig( appInfoConfig.getConfig() ); + }else{ + wo.setConfig( "{}" ); } + CacheManager.put(cacheCategory, cacheKey, wo); + result.setData( wo ); + break; } } } @@ -85,4 +67,4 @@ public class ActionGetPublishableAppInfo extends BaseAction { return result; } -} \ No newline at end of file +}