package com.vci.ubcs.starter.web.constant; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import java.util.*; import java.util.stream.Collectors; public class VciSystemVarConstants { public static final String CURRENTUSER_OID = "#CURRENTUSER.OID#"; public static final String CURRENTUSER_ID = "#CURRENTUSER.ID#"; public static final String CURRENTTIME = "#CURRENTTIME#"; public static final String CURRENTDATE = "#CURRENTDATE#"; public static final String CURRENTDATETIME = "#CURRENTDATETIME#"; public static final String CURRENTUSER_NAME = "#CURRENTUSER_NAME#"; public static final String CURRENTUSER_SECRETGRADE = "#CURRENTUSER.SECRETGRADE#"; public static final String CURRENTUSER_IP_SECRET = "#CURRENTUSER.IPSECRET#"; public static final String CURRENTUSER_BUSINESS_UNIT = "#CURRENTUSER.BUSINESSUNIT#"; public static final String CURRENTUSER_BUSINESS_UNIT_NAME = "#CURRENTUSER.BUSINESSUNITNAME#"; public static final String CURRENTUSER_GROUPOID = "#CURRENTUSER.GROUPOID#"; public static final String CURRENTUSER_GROUPNAME = "#CURRENTUSER.GROUPNAME#"; public static final String CURRENTUSER_EMAIL = "#CURRENTUSER.EMAIL#"; public static final String CURRENTUSER_ROLENAME = "#CURRENTUSER.ROLENAME#"; public static final String[] SYSTEM_VAR_KEYS = new String[]{"#CURRENTUSER.OID#", "#CURRENTUSER.ID#", "#CURRENTDATE#", "#CURRENTTIME#", "#CURRENTDATETIME#", "#CURRENTUSER.GROUPOID#", "#CURRENTUSER_NAME#", "#CURRENTUSER.SECRETGRADE#", "#CURRENTUSER.GROUPNAME#", "#CURRENTUSER.EMAIL#", "#CURRENTUSER.ROLENAME#", "#CURRENTUSER.IPSECRET#", "#CURRENTUSER.BUSINESSUNIT#", "#CURRENTUSER.BUSINESSUNITNAME#"}; public static final Map SYSTEM_VAR_KEYNAMEMAP = new HashMap(); public VciSystemVarConstants() { SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTTIME#", "当前时间"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTDATE#", "当前日期"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTDATETIME#", "当前日期时间"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.OID#", "当前用户主键"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.ID#", "当前用户账户"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER_NAME#", "当前用户姓名"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.SECRETGRADE#", "当前用户密级"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.IPSECRET#", "当前用户的机器密级"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.GROUPOID#", "当前用户的部门的主键"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.GROUPNAME#", "当前用户所属部门名称"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.EMAIL#", "当前用户邮件地址"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.ROLENAME#", "当前用户所属角色名称"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.BUSINESSUNIT#", "当前用户所属业务单元主键"); SYSTEM_VAR_KEYNAMEMAP.put("#CURRENTUSER.BUSINESSUNITNAME#", "当前用户所属业务单元"); } public static Map getSystemVarValueMap() { Map systemVarMap = new HashMap(); SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); if (sessionInfo != null) { systemVarMap.put("#CURRENTUSER.OID#", sessionInfo.getUserOid()); systemVarMap.put("#CURRENTUSER.ID#", sessionInfo.getUserId()); systemVarMap.put("#CURRENTUSER_NAME#", sessionInfo.getUserName()); systemVarMap.put("#CURRENTDATETIME#", VciDateUtil.getNowString()); systemVarMap.put("#CURRENTDATE#", VciDateUtil.getNowString("yyyy-MM-dd")); systemVarMap.put("#CURRENTTIME#", VciDateUtil.getNowString("HH:mm:ss")); systemVarMap.put("#CURRENTUSER.SECRETGRADE#", sessionInfo.getUserSecret()); systemVarMap.put("#CURRENTUSER.GROUPNAME#", sessionInfo.getDeptName()); systemVarMap.put("#CURRENTUSER.GROUPOID#", sessionInfo.getDeptOid()); systemVarMap.put("#CURRENTUSER.EMAIL#", sessionInfo.getEmail()); systemVarMap.put("#CURRENTUSER.ROLENAME#", (String) ((Collection) Optional.ofNullable(sessionInfo.getRolesName().values()).orElseGet(() -> { return new ArrayList(); })).stream().collect(Collectors.joining(","))); systemVarMap.put("#CURRENTUSER.IPSECRET#", sessionInfo.getIpSecret()); systemVarMap.put("#CURRENTUSER.BUSINESSUNIT#", sessionInfo.getOrgsOid()); systemVarMap.put("#CURRENTUSER.BUSINESSUNITNAME#", sessionInfo.getOrgsName()); } return systemVarMap; } }