package com.xmzs.common.wechat.core; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xmzs.common.wechat.beans.BaseMsg; import com.xmzs.common.wechat.utils.MyHttpClient; import com.xmzs.common.wechat.utils.enums.parameters.BaseParaEnum; /** * 核心存储类,全局只保存一份,单例模式 * * @author https://github.com/yaphone * @date 创建时间:2017年4月23日 下午2:33:56 * @version 1.0 * */ public class Core { private static Core instance; private Core() { } public static Core getInstance() { if (instance == null) { synchronized (Core.class) { instance = new Core(); } } return instance; } boolean alive = false; private int memberCount = 0; private String indexUrl; private String userName; private String nickName; private List msgList = new ArrayList(); private JSONObject userSelf; // 登陆账号自身信息 private List memberList = new ArrayList(); // 好友+群聊+公众号+特殊账号 private List contactList = new ArrayList();// 好友 private List groupList = new ArrayList();; // 群 private Map groupMemeberMap = new HashMap(); // 群聊成员字典 private List publicUsersList = new ArrayList();;// 公众号/服务号 private List specialUsersList = new ArrayList();;// 特殊账号 private List groupIdList = new ArrayList(); // 群ID列表 private List groupNickNameList = new ArrayList(); // 群NickName列表 private Map userInfoMap = new HashMap(); Map loginInfo = new HashMap(); // CloseableHttpClient httpClient = HttpClients.createDefault(); MyHttpClient myHttpClient = MyHttpClient.getInstance(); String uuid = null; boolean useHotReload = false; String hotReloadDir = "itchat.pkl"; int receivingRetryCount = 5; private long lastNormalRetcodeTime; // 最后一次收到正常retcode的时间,秒为单位 /** * 请求参数 */ public Map getParamMap() { return new HashMap(1) { /** * */ private static final long serialVersionUID = 1L; { Map map = new HashMap(); for (BaseParaEnum baseRequest : BaseParaEnum.values()) { map.put(baseRequest.para(), getLoginInfo().get(baseRequest.value()).toString()); } put("BaseRequest", map); } }; } public boolean isAlive() { return alive; } public void setAlive(boolean alive) { this.alive = alive; } public List getMemberList() { return memberList; } public void setMemberList(List memberList) { this.memberList = memberList; } public Map getLoginInfo() { return loginInfo; } public void setLoginInfo(Map loginInfo) { this.loginInfo = loginInfo; } public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public int getMemberCount() { return memberCount; } public void setMemberCount(int memberCount) { this.memberCount = memberCount; } public boolean isUseHotReload() { return useHotReload; } public void setUseHotReload(boolean useHotReload) { this.useHotReload = useHotReload; } public String getHotReloadDir() { return hotReloadDir; } public void setHotReloadDir(String hotReloadDir) { this.hotReloadDir = hotReloadDir; } public int getReceivingRetryCount() { return receivingRetryCount; } public void setReceivingRetryCount(int receivingRetryCount) { this.receivingRetryCount = receivingRetryCount; } public MyHttpClient getMyHttpClient() { return myHttpClient; } public List getMsgList() { return msgList; } public void setMsgList(List msgList) { this.msgList = msgList; } public void setMyHttpClient(MyHttpClient myHttpClient) { this.myHttpClient = myHttpClient; } public List getGroupIdList() { return groupIdList; } public void setGroupIdList(List groupIdList) { this.groupIdList = groupIdList; } public List getContactList() { return contactList; } public void setContactList(List contactList) { this.contactList = contactList; } public List getGroupList() { return groupList; } public void setGroupList(List groupList) { this.groupList = groupList; } public List getPublicUsersList() { return publicUsersList; } public void setPublicUsersList(List publicUsersList) { this.publicUsersList = publicUsersList; } public List getSpecialUsersList() { return specialUsersList; } public void setSpecialUsersList(List specialUsersList) { this.specialUsersList = specialUsersList; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public JSONObject getUserSelf() { return userSelf; } public void setUserSelf(JSONObject userSelf) { this.userSelf = userSelf; } public Map getUserInfoMap() { return userInfoMap; } public void setUserInfoMap(Map userInfoMap) { this.userInfoMap = userInfoMap; } public synchronized long getLastNormalRetcodeTime() { return lastNormalRetcodeTime; } public synchronized void setLastNormalRetcodeTime(long lastNormalRetcodeTime) { this.lastNormalRetcodeTime = lastNormalRetcodeTime; } public List getGroupNickNameList() { return groupNickNameList; } public void setGroupNickNameList(List groupNickNameList) { this.groupNickNameList = groupNickNameList; } public Map getGroupMemeberMap() { return groupMemeberMap; } public void setGroupMemeberMap(Map groupMemeberMap) { this.groupMemeberMap = groupMemeberMap; } public String getIndexUrl() { return indexUrl; } public void setIndexUrl(String indexUrl) { this.indexUrl = indexUrl; } }