1. 创建缓存容器
public class SmsServiceDetailMap { private static Map<String,ByxSmsServiceDetail> map = new ConcurrentHashMap<String,ByxSmsServiceDetail>(); //私有化构造器 private SmsServiceDetailMap(){ }; //声明公共方法 public static Map<String,ByxSmsServiceDetail> getSmsServiceDetailMap(){ return map; } }
2. 缓存常用配置项
public interface SmsServiceDetailMapKey { /**253验证码通知短信api账号key**/ public static final String SMS_TYPE_VERIFY_NOTICE_253_API_ACCOUNT_KEY = "VerifyNotice253ApiAccountKey"; /**253语音通知短信api账号key**/ public static final String SMS_TYPE_VOICE_NOTICE_253_API_ACCOUNT_KEY = "VoiceNotice253ApiAccountKey"; /**253会员营销短信api账号key**/ public static final String SMS_TYPE_MEMBER_253_API_ACCOUNT_KEY = "Member253ApiAccountKey"; /**建周验证码通知短信api账号key**/ public static final String SMS_TYPE_VERIFY_NOTICE_JZ_API_ACCOUNT_KEY = "VerifyNotice253ApiAccountKey"; /**建周语音通知短信api账号key**/ public static final String SMS_TYPE_VOICE_NOTICE_JZ_API_ACCOUNT_KEY = "VoiceNotice253ApiAccountKey"; /**建周会员营销短信api账号key**/ public static final String SMS_TYPE_MEMBER_JZ_API_ACCOUNT_KEY = "Member253ApiAccountKey"; }
3.缓存增删改查操作
public class SmsServiceDetailCacheUtil { /** * 根据smsServiceDetailId去缓存中查 * @param smsServiceDetailId * @return */ public static ByxSmsServiceDetail getBySmsServiceDetailId(Long smsServiceDetailId){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); Collection<ByxSmsServiceDetail> values = smsServiceDetailMap.values(); for(ByxSmsServiceDetail smsServiceDetail:values){ if(smsServiceDetailId==smsServiceDetail.getSmsServiceDetailId()){ return smsServiceDetail; } } return null; } /** * 获取 253验证码通知短信配置 * @return */ public static ByxSmsServiceDetail getVerifyNotice253(){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); ByxSmsServiceDetail byxSmsServiceDetail = smsServiceDetailMap.get(SmsServiceDetailMapKey.SMS_TYPE_VERIFY_NOTICE_253_API_ACCOUNT_KEY); return byxSmsServiceDetail; } /** * 获取 JZ验证码通知短信配置 * @return */ public static ByxSmsServiceDetail getVerifyNoticeJZ(){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); ByxSmsServiceDetail byxSmsServiceDetail = smsServiceDetailMap.get(SmsServiceDetailMapKey.SMS_TYPE_VERIFY_NOTICE_JZ_API_ACCOUNT_KEY); return byxSmsServiceDetail; } /** * 获取 253语音通知短信配置 * @return */ public static ByxSmsServiceDetail getVoiceNotice253(){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); ByxSmsServiceDetail byxSmsServiceDetail = smsServiceDetailMap.get(SmsServiceDetailMapKey.SMS_TYPE_VOICE_NOTICE_253_API_ACCOUNT_KEY); return byxSmsServiceDetail; } /** * 获取 JZ语音通知短信配置 * @return */ public static ByxSmsServiceDetail getVoiceNoticeJZ(){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); ByxSmsServiceDetail byxSmsServiceDetail = smsServiceDetailMap.get(SmsServiceDetailMapKey.SMS_TYPE_VOICE_NOTICE_JZ_API_ACCOUNT_KEY); return byxSmsServiceDetail; } /** * 获取 253会员营销短信配置 * @return */ public static ByxSmsServiceDetail getMember253(){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); ByxSmsServiceDetail byxSmsServiceDetail = smsServiceDetailMap.get(SmsServiceDetailMapKey.SMS_TYPE_MEMBER_253_API_ACCOUNT_KEY); return byxSmsServiceDetail; } /** * 获取 JZ会员营销短信配置 * @return */ public static ByxSmsServiceDetail getMemberJZ(){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); ByxSmsServiceDetail byxSmsServiceDetail = smsServiceDetailMap.get(SmsServiceDetailMapKey.SMS_TYPE_MEMBER_JZ_API_ACCOUNT_KEY); return byxSmsServiceDetail; } /** * 添加 JZ验证码通知短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> addVerifyNoticeJZ(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.put(SmsServiceDetailMapKey.SMS_TYPE_VERIFY_NOTICE_JZ_API_ACCOUNT_KEY, byxSmsServiceDetail); return smsServiceDetailMap; } /** * 移除JZ验证码通知短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> removeVerifyNoticeJZ(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.remove(SmsServiceDetailMapKey.SMS_TYPE_VERIFY_NOTICE_JZ_API_ACCOUNT_KEY); return smsServiceDetailMap; } /** * 添加 253验证码通知短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> addVerifyNotice253(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.put(SmsServiceDetailMapKey.SMS_TYPE_VERIFY_NOTICE_253_API_ACCOUNT_KEY, byxSmsServiceDetail); return smsServiceDetailMap; } /** * 移除253验证码通知短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> removeVerifyNotice253(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.remove(SmsServiceDetailMapKey.SMS_TYPE_VERIFY_NOTICE_253_API_ACCOUNT_KEY); return smsServiceDetailMap; } /** * 添加 JZ语音短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> addVoiceNoticeJZ(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.put(SmsServiceDetailMapKey.SMS_TYPE_VOICE_NOTICE_JZ_API_ACCOUNT_KEY, byxSmsServiceDetail); return smsServiceDetailMap; } /** * 移除JZ语音短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> removeVoiceNoticeJZ(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.remove(SmsServiceDetailMapKey.SMS_TYPE_VOICE_NOTICE_JZ_API_ACCOUNT_KEY); return smsServiceDetailMap; } /** * 添加 253语音短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> addVoiceNotice253(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.put(SmsServiceDetailMapKey.SMS_TYPE_VOICE_NOTICE_253_API_ACCOUNT_KEY, byxSmsServiceDetail); return smsServiceDetailMap; } /** * 移除253语音短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> removeVoiceNotice253(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.remove(SmsServiceDetailMapKey.SMS_TYPE_VOICE_NOTICE_253_API_ACCOUNT_KEY); return smsServiceDetailMap; } /** * 添加 JZ会员营销短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> addMemberJZ(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.put(SmsServiceDetailMapKey.SMS_TYPE_MEMBER_JZ_API_ACCOUNT_KEY, byxSmsServiceDetail); return smsServiceDetailMap; } /** * 移除JZ会员营销短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> removeMemberJZ(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.remove(SmsServiceDetailMapKey.SMS_TYPE_MEMBER_JZ_API_ACCOUNT_KEY); return smsServiceDetailMap; } /** * 添加 253会员营销短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> addMember253(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.put(SmsServiceDetailMapKey.SMS_TYPE_MEMBER_253_API_ACCOUNT_KEY, byxSmsServiceDetail); return smsServiceDetailMap; } /** * 移除253会员营销短信配置 * @param byxSmsServiceDetail * @return */ public static Map<String, ByxSmsServiceDetail> removeMember253(ByxSmsServiceDetail byxSmsServiceDetail){ Map<String, ByxSmsServiceDetail> smsServiceDetailMap = SmsServiceDetailMap.getSmsServiceDetailMap(); smsServiceDetailMap.remove(SmsServiceDetailMapKey.SMS_TYPE_MEMBER_253_API_ACCOUNT_KEY); return smsServiceDetailMap; } }