package com.gustz.dove.cli.sdk.base.util; import com.sinovatech.rd.wcsb.cli.api.service.dict.UserStatusDict; import com.sinovatech.rd.wcsb.cpcli.api.addrbook.vo.CpUser; /** * TODO: CP user helper * * @author ZHENFENG ZHANG * @since [ Aug 24, 2015 ] */ public abstract class CpUserHelper { /** * Current CP user attribute key */ public static final String CURR_CP_USER_AKEY = "curr_cp_user"; private static final ThreadLocal<CpUser> CURR_USER_TL = new ThreadLocal<CpUser>(); public static void setDev(String userId) { String flag = ""; CpUser cpUser = new CpUser(); cpUser.setUserId("adm123"); if (userId == null || userId.isEmpty()) { cpUser.setUserId(userId); flag = "_" + userId; } cpUser.setWeixinId("wx_id123"); cpUser.setStatus(UserStatusDict.SUBSCRIBE); cpUser.setName("超级管理员" + flag); cpUser.setDeviceCode("device_code" + flag); // CURR_USER_TL.set(cpUser); } public static void set(CpUser vo) { if (vo == null) { throw new IllegalArgumentException("Arg 'CpUser' is null."); } final String userId = vo.getUserId(); final String deviceCode = vo.getDeviceCode(); // if (isBlank(userId) || isBlank(deviceCode)) { throw new IllegalArgumentException("当前用户的编码/设备编码异常!"); } CURR_USER_TL.set(vo); } public static CpUser getCurrCpUser() { return CURR_USER_TL.get(); } public static String getUserId() { return getCurrCpUser().getUserId(); } public static UserStatusDict getStatus() { return getCurrCpUser().getStatus(); } public static String getDeviceCode() { return getCurrCpUser().getDeviceCode(); } public static String getRealName() { return getCurrCpUser().getName(); } public static String getLoginName() { return getCurrCpUser().getLoginName(); } public static String getPosition() { return getCurrCpUser().getPosition(); } public static String getMobile() { return getCurrCpUser().getMobile(); } public static String getEmail() { return getCurrCpUser().getEmail(); } public static String getWeixinId() { return getCurrCpUser().getWeixinId(); } public static void clear() { CURR_USER_TL.remove(); } public static boolean isBlank(String str) { if (str == null) { return true; } str = str.trim(); return (str.isEmpty() || "null".equalsIgnoreCase(str)); } }