package com.sobey.cmop.mvc.constant; import java.util.Map; import com.google.common.collect.Maps; /** * Account 模块的常量 * * @author liukai * */ public class AccountConstant { /** * 默认密码:111111 */ public static final String DEFAULT_PASSWORD = "111111"; /** * 定义一个userId为0的常量,用以区分 通过邮件 还是 页面审批的情景. * * <pre> * 1. userId = 0 表示页面审批,取当前用户的ID. * 2. userId > 0 表示邮件审批,取userId. * </pre> * */ public static final Integer FROM_PAGE_USER_ID = 0; /** * 加密方式 : SHA-1 */ public static final String HASH_ALGORITHM = "SHA-1"; /** * 迭代次数 : 1024 */ public static final int HASH_INTERATIONS = 1024; /** * salt的数组大小 : 8 */ public static final int SALT_SIZE = 8; /** * 默认的Group类型 * * <pre> * 1.admin 超级管理员 * 2.apply 申请人 * 3.audit 审批人 * 4.om_a 运维人A * 5.om_B 运维人B * </pre> * * @author liukai * */ public enum DefaultGroups implements ICommonEnum { admin(1), apply(2), audit(3), om_a(4), om_b(5); public static final Map<Integer, String> map = Maps.newLinkedHashMap(); static { for (DefaultGroups e : DefaultGroups.values()) { map.put(e.code, e.name()); } } public static String get(Integer code) { return map.get(code); } private int code; private DefaultGroups(int code) { this.code = code; } @Override public Integer toInteger() { return this.code; } @Override public String toString() { return String.valueOf(this.code); } } /** * 用户状态 * * <pre> * 1:enabled 有效 * 0:disabled 无效 * </pre> * * @author liukai * */ public enum UserStatus implements ICommonEnum { DISABLED(0), ENABLED(1); public static final Map<Integer, String> map = Maps.newLinkedHashMap(); // 构造器只能私有private,绝对不允许有public构造器. static { for (UserStatus e : UserStatus.values()) { map.put(e.code, e.name()); } } // 该方法根据传入的参数,返回enum中的文本. 实现该方法后 // Map集合,将enum中的值迭代至Map集合中,key为enum的输入参数.value为enum的值.最后用Map集合的get方法获得获得value // 也可以直接用 .map方法返回一个HashMap的返回值 public static String get(Integer code) { return map.get(code); } private int code; private UserStatus(int code) { this.code = code; } // 覆写toString 方法,在该方法中返回从构造函数中传入的参数 @Override public Integer toInteger() { return this.code; } // 同toString方法,不过返回的是Integer类型.可查看toInteger的说明得到更详细的信息 @Override public String toString() { return String.valueOf(this.code); } } /** * 用户类型 * * <pre> * 1-管理员 admin * 2-申请人 apply * 3-审核人 audit * 4-运维人 operation * </pre> * * @author liukai * */ public enum UserTypes implements ICommonEnum { admin(1), apply(2), audit(3), operation(4); public static final Map<Integer, String> map = Maps.newLinkedHashMap(); static { for (UserTypes e : UserTypes.values()) { map.put(e.code, e.name()); } } public static String get(Integer code) { return map.get(code); } private int code; private UserTypes(int code) { this.code = code; } @Override public Integer toInteger() { return this.code; } @Override public String toString() { return String.valueOf(this.code); } } }