| | |
| | | private static final AtomicLong sequence = new AtomicLong(0); |
| | | private static String lastTimestamp = ""; |
| | | |
| | | //全局用户实时坐在部门 |
| | | public static Map<String, String> contextUserDept = new HashMap<>(); |
| | | |
| | | /** |
| | | * 生成顺序ID:年月日时分秒毫秒(17位) + 序列号(4位) = 21位 |
| | | * |
| | |
| | | } |
| | | |
| | | public static String getLoginUserName() { |
| | | return ShiroUtils.getUserName() ; |
| | | SysUser user = ShiroUtils.getSysUser(); |
| | | return null == user ? "系统" : user.getUserName(); |
| | | } |
| | | |
| | | public static SysUser getLoginUser() { |
| | | return ShiroUtils.getSysUser(); |
| | | } |
| | | |
| | | public static String subDeptId(SysUser user) { |
| | | if (null == user) { |
| | | user = getLoginUser(); |
| | | } |
| | | |
| | | if (null == user) { |
| | | return getCompanyId() + "001"; |
| | | } |
| | | |
| | | //从全局获取,如果有则取全局的默认,如果没有则取自己所属 |
| | | if (null != contextUserDept.get(user.getLoginName())) { |
| | | return contextUserDept.get(user.getLoginName()); |
| | | } |
| | | |
| | | if (null == user.getDeptId()) { |
| | | return user.getCompanyId(); |
| | | } |
| | | return user.getDeptId().toString(); |
| | | } |
| | | |
| | | public static void updateSubDept(String userId, String deptId) { |
| | | if (null == deptId) return; |
| | | contextUserDept.put(userId, deptId); |
| | | } |
| | | } |