* 用户状态类,记录用户在平台使用系统中所有的状态。
*/
public class BitStateUtil {
public final static Integer OP_BIND_PHONE = 1 << 0; // 用户绑定手机状态码
public final static Integer OP_BIND_EMAIL = 1 << 1; // 用户绑定邮箱
public final static Integer OP_BASIC_INFO = 1 << 2;// 用户是否填写基本资料
public final static Integer OP_REAL_AUTH = 1 << 3;// 用户是否实名认证
public final static Integer OP_VIDEO_AUTH = 1 << 4;// 用户是否视频认证
public final static Integer OP_HAS_BIDREQUEST_PROCESS = 1 << 5;// 用户是否有一个借款正在处理流程当中
public final static Integer OP_BIND_BANKINFO = 1 << 6;// 用户是否绑定银行卡
public final static Integer OP_HAS_MONEYWITHDRAW_PROCESS = 1 << 7;// 用户是否有一个提现申请在处理中
/**
* @param states 所有状态值
* @param value 需要判断状态值
* @return 是否存在
*/
public static boolean hasState(Integer states, Integer value) {
return (states & value) != 0;
}
/**
* @param states 已有状态值
* @param value 需要添加状态值
* @return 新的状态值
*/
public static Integer addState(Integer states, Integer value) {
if (hasState(states, value)) {
return states;
}
return (states | value);
}
/**
* @param states 已有状态值
* @param value 需要删除状态值
* @return 新的状态值
*/
public static Integer removeState(Integer states, Integer value) {
if (!hasState(states, value)) {
return states;
}
return states ^ value;
}
}
网友评论