package com.vci.starter.web.constant; import com.vci.starter.web.pagemodel.SessionInfo; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.util.VciDateUtil; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; /** * 系统变量 * @author weidy */ public class VciSystemVarConstants { /** * 初始化的时候放入数据 */ 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_IP_SECRET,"当前用户的机器密级"); SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_GROUPOID,"当前用户的部门的主键"); // SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_GROUPNUM,"当前用户所属部门编号"); SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_GROUPNAME,"当前用户所属部门名称"); SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_EMAIL,"当前用户邮件地址"); SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_ROLENAME,"当前用户所属角色名称"); SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_BUSINESS_UNIT,"当前用户所属业务单元主键"); SYSTEM_VAR_KEYNAMEMAP.put(CURRENTUSER_BUSINESS_UNIT_NAME,"当前用户所属业务单元"); } /** * 当前用户主键 */ 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#"; /** * 当前用户的IP密级 */ 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_GROUPNUM = "#CURRENTUSER.GROUPNUM#"; /** * 当前用户的部门主键 */ 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 = {CURRENTUSER_OID,CURRENTUSER_ID,CURRENTDATE,CURRENTTIME,CURRENTDATETIME,CURRENTUSER_GROUPOID,CURRENTUSER_NAME,CURRENTUSER_SECRETGRADE, CURRENTUSER_GROUPNAME,CURRENTUSER_EMAIL,CURRENTUSER_ROLENAME,CURRENTUSER_IP_SECRET,CURRENTUSER_BUSINESS_UNIT,CURRENTUSER_BUSINESS_UNIT_NAME}; /** * 系统变量对应的中文 */ public static final Map SYSTEM_VAR_KEYNAMEMAP = new HashMap(); /** * 获取系统的变量的值 * @return 变量的值 */ 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(VciDateUtil.DateFormat)); systemVarMap.put(CURRENTTIME,VciDateUtil.getNowString(VciDateUtil.TimeFormat)); 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, Optional.ofNullable(sessionInfo.getRolesName().values()).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.joining(","))); systemVarMap.put(CURRENTUSER_IP_SECRET,sessionInfo.getIpSecret()); systemVarMap.put(CURRENTUSER_BUSINESS_UNIT,sessionInfo.getOrgsOid()); systemVarMap.put(CURRENTUSER_BUSINESS_UNIT_NAME,sessionInfo.getOrgsName()); } return systemVarMap; } }