From 7f2c1ddaab9230afd42e1dbd57217d8f5d587cbf Mon Sep 17 00:00:00 2001 From: jinyu Date: Mon, 28 Mar 2016 13:16:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E6=94=B9=E9=80=A0=E5=90=8E?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../foxinmy/weixin4j/qy/model/OUserInfo.java | 577 +++++++++--------- .../weixin4j/qy/model/PrivilegeInfo.java | 122 ++++ .../weixin4j/qy/model/PrivilegeLevel.java | 35 ++ 3 files changed, 458 insertions(+), 276 deletions(-) create mode 100644 weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeInfo.java create mode 100644 weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeLevel.java diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/OUserInfo.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/OUserInfo.java index 1a49b6b8..c4d0a878 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/OUserInfo.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/OUserInfo.java @@ -1,276 +1,301 @@ -package com.foxinmy.weixin4j.qy.model; - -import java.io.Serializable; -import java.util.List; - -import com.alibaba.fastjson.annotation.JSONField; -import com.foxinmy.weixin4j.model.Token; -import com.foxinmy.weixin4j.qy.type.AgentAuthType; - -/** - * 企业号oauth授权登陆信息&第三方应用授权信息 - * - * @className OUserInfo - * @author jy - * @date 2015年6月12日 - * @since JDK 1.6 - * @see - */ -public class OUserInfo implements Serializable { - - private static final long serialVersionUID = -567063562050171293L; - /** - * 是否系统管理员 - */ - @JSONField(name = "is_sys") - private boolean isSysAdmin; - /** - * 是否内部管理员 - */ - @JSONField(name = "is_inner") - private boolean isInnerAdmin; - /** - * 登陆管理员信息 - */ - @JSONField(name = "user_info") - private User adminInfo; - /** - * 授权方企业信息 - */ - @JSONField(name = "corp_info") - private CorpInfo corpInfo; - /** - * 该管理员在该提供商中能使用的应用列表 - */ - @JSONField(name = "agent") - private List agentInfo; - /** - * 该管理员拥有的通讯录权限 - */ - @JSONField(name = "auth_info") - private AuthInfo authInfo; - /** - * 登录跳转的票据信息 - */ - @JSONField(name = "redirect_login_info") - private Token redirectLoginInfo; - - public boolean isSysAdmin() { - return isSysAdmin; - } - - public boolean isInnerAdmin() { - return isInnerAdmin; - } - - public User getAdminInfo() { - return adminInfo; - } - - public CorpInfo getCorpInfo() { - return corpInfo; - } - - public List getAgentInfo() { - return agentInfo; - } - - public AuthInfo getAuthInfo() { - return authInfo; - } - - public Token getRedirectLoginInfo() { - return redirectLoginInfo; - } - - // ---------- setter 应该全部去掉 - - public void setSysAdmin(boolean isSysAdmin) { - this.isSysAdmin = isSysAdmin; - } - - public void setInnerAdmin(boolean isInnerAdmin) { - this.isInnerAdmin = isInnerAdmin; - } - - public void setAdminInfo(User adminInfo) { - this.adminInfo = adminInfo; - } - - public void setCorpInfo(CorpInfo corpInfo) { - this.corpInfo = corpInfo; - } - - public void setAgentInfo(List agentInfo) { - this.agentInfo = agentInfo; - } - - public void setAuthInfo(AuthInfo authInfo) { - this.authInfo = authInfo; - } - - public void setRedirectLoginInfo(Token redirectLoginInfo) { - this.redirectLoginInfo = redirectLoginInfo; - } - - @Override - public String toString() { - return "OUserInfo [isSysAdmin=" + isSysAdmin + ", isInnerAdmin=" - + isInnerAdmin + ", adminInfo=" + adminInfo + ", corpInfo=" - + corpInfo + ", agentInfo=" + agentInfo + ", authInfo=" - + authInfo + ", redirectLoginInfo=" + redirectLoginInfo + "]"; - } - - /** - * 授权信息 - * - * @className AuthInfo - * @author jy - * @date 2015年6月22日 - * @since JDK 1.6 - * @see - */ - public static class AuthInfo implements Serializable { - - private static final long serialVersionUID = -4290240764958942370L; - /** - * 授权的应用信息 - */ - @JSONField(name = "agent") - private List agentItems; - /** - * 授权的通讯录部门 - */ - @JSONField(name = "department") - private List departItems; - - public List getAgentItems() { - return agentItems; - } - - public List getDepartItems() { - return departItems; - } - - // ---------- setter 应该全部去掉 - - public void setAgentItems(List agentItems) { - this.agentItems = agentItems; - } - - public void setDepartItems(List departItems) { - this.departItems = departItems; - } - - @Override - public String toString() { - return "AuthInfo [agentItems=" + agentItems + ", departItems=" - + departItems + "]"; - } - } - - /** - * 授权的应用信息 - * - * @className AgentItem - * @author jy - * @date 2015年6月22日 - * @since JDK 1.6 - * @see - */ - public static class AgentItem extends AgentOverview { - - private static final long serialVersionUID = -1188968391623633559L; - /** - * 管理员对应用的权限 - */ - @JSONField(name = "auth_type") - private int authType; - /** - * 服务商套件中的对应应用id - */ - @JSONField(name = "appid") - private int appId; - /** - * 授权方应用敏感权限组,目前仅有get_location,表示是否有权限设置应用获取地理位置的开关 - */ - @JSONField(name = "api_group") - private List apiGroup; - - public int getAuthType() { - return authType; - } - - @JSONField(serialize = false) - public AgentAuthType getFormatAuthType() { - if (authType == 0) { - return AgentAuthType.USE; - } else if (authType == 1) { - return AgentAuthType.MANAGE; - } - return null; - } - - public int getAppId() { - return appId; - } - - public List getApiGroup() { - return apiGroup; - } - - // ---------- setter 应该全部去掉 - - public void setAuthType(int authType) { - this.authType = authType; - } - - public void setAppId(int appId) { - this.appId = appId; - } - - public void setApiGroup(List apiGroup) { - this.apiGroup = apiGroup; - } - - @Override - public String toString() { - return "AgentItem [authType=" + authType + ", appId=" + appId - + ", apiGroup=" + apiGroup + ", " + super.toString() + "]"; - } - } - - /** - * 授权的通讯录部门 - * - * @className DepartItem - * @author jy - * @date 2015年6月22日 - * @since JDK 1.6 - * @see - */ - public static class DepartItem extends Party { - - private static final long serialVersionUID = 556556672204642407L; - - /** - * 是否具有该部门的写权限 - */ - private boolean writable; - - public boolean isWritable() { - return writable; - } - - // ---------- setter 应该全部去掉 - public void setWritable(boolean writable) { - this.writable = writable; - } - - @Override - public String toString() { - return "DepartItem [writable=" + writable + ", " + super.toString() - + "]"; - } - } -} +package com.foxinmy.weixin4j.qy.model; + +import java.io.Serializable; +import java.util.List; + +import com.alibaba.fastjson.annotation.JSONField; +import com.foxinmy.weixin4j.model.Token; +import com.foxinmy.weixin4j.qy.type.AgentAuthType; + +/** + * 企业号oauth授权登陆信息&第三方应用授权信息 + * + * @className OUserInfo + * @author jy + * @date 2015年6月12日 + * @since JDK 1.6 + * @see + */ +public class OUserInfo implements Serializable { + + private static final long serialVersionUID = -567063562050171293L; + /** + * 是否系统管理员 + */ + @JSONField(name = "is_sys") + private boolean isSysAdmin; + /** + * 是否内部管理员 + */ + @JSONField(name = "is_inner") + private boolean isInnerAdmin; + /** + * 登陆管理员信息 + */ + @JSONField(name = "user_info") + private User adminInfo; + /** + * 授权方企业信息 + */ + @JSONField(name = "corp_info") + private CorpInfo corpInfo; + /** + * 该管理员在该提供商中能使用的应用列表 + */ + @JSONField(name = "agent") + private List agentInfo; + /** + * 该管理员拥有的通讯录权限 + */ + @JSONField(name = "auth_info") + private AuthInfo authInfo; + /** + * 登录跳转的票据信息 + */ + @JSONField(name = "redirect_login_info") + private Token redirectLoginInfo; + + public boolean isSysAdmin() { + return isSysAdmin; + } + + public boolean isInnerAdmin() { + return isInnerAdmin; + } + + public User getAdminInfo() { + return adminInfo; + } + + public CorpInfo getCorpInfo() { + return corpInfo; + } + + public List getAgentInfo() { + return agentInfo; + } + + public AuthInfo getAuthInfo() { + return authInfo; + } + + public Token getRedirectLoginInfo() { + return redirectLoginInfo; + } + + // ---------- setter 应该全部去掉 + + public void setSysAdmin(boolean isSysAdmin) { + this.isSysAdmin = isSysAdmin; + } + + public void setInnerAdmin(boolean isInnerAdmin) { + this.isInnerAdmin = isInnerAdmin; + } + + public void setAdminInfo(User adminInfo) { + this.adminInfo = adminInfo; + } + + public void setCorpInfo(CorpInfo corpInfo) { + this.corpInfo = corpInfo; + } + + public void setAgentInfo(List agentInfo) { + this.agentInfo = agentInfo; + } + + public void setAuthInfo(AuthInfo authInfo) { + this.authInfo = authInfo; + } + + public void setRedirectLoginInfo(Token redirectLoginInfo) { + this.redirectLoginInfo = redirectLoginInfo; + } + + @Override + public String toString() { + return "OUserInfo [isSysAdmin=" + isSysAdmin + ", isInnerAdmin=" + isInnerAdmin + ", adminInfo=" + adminInfo + + ", corpInfo=" + corpInfo + ", agentInfo=" + agentInfo + ", authInfo=" + authInfo + + ", redirectLoginInfo=" + redirectLoginInfo + "]"; + } + + /** + * 授权信息 + * + * @className AuthInfo + * @author jy + * @date 2015年6月22日 + * @since JDK 1.6 + * @see + */ + public static class AuthInfo implements Serializable { + + private static final long serialVersionUID = -4290240764958942370L; + /** + * 是否采用了新的授权,没有该字段或者该字段为false表示是旧授权,true表示是新授权 + */ + @JSONField(name = "is_new_auth") + private boolean isNewAuth; + /** + * 授权的应用信息,新的权限体系其中通讯录权限以应用为节点 + */ + @JSONField(name = "agent") + private List agentItems; + /** + * 授权的通讯录部门,新的权限体系将废弃 + */ + @JSONField(name = "department") + private List departItems; + + public List getAgentItems() { + return agentItems; + } + + public List getDepartItems() { + return departItems; + } + + // ---------- setter 应该全部去掉 + + public boolean isNewAuth() { + return isNewAuth; + } + + public void setNewAuth(boolean isNewAuth) { + this.isNewAuth = isNewAuth; + } + + public void setAgentItems(List agentItems) { + this.agentItems = agentItems; + } + + public void setDepartItems(List departItems) { + this.departItems = departItems; + } + + @Override + public String toString() { + return "AuthInfo [isNewAuth=" + isNewAuth + ", agentItems=" + agentItems + ", departItems=" + departItems + + "]"; + } + } + + /** + * 授权的应用信息 + * + * @className AgentItem + * @author jy + * @date 2015年6月22日 + * @since JDK 1.6 + * @see + */ + public static class AgentItem extends AgentOverview { + + private static final long serialVersionUID = -1188968391623633559L; + /** + * 管理员对应用的权限 + */ + @JSONField(name = "auth_type") + private int authType; + /** + * 服务商套件中的对应应用id + */ + @JSONField(name = "appid") + private int appId; + /** + * 授权方应用敏感权限组,目前仅有get_location,表示是否有权限设置应用获取地理位置的开关, + * 新的权限体系将废弃 + */ + @JSONField(name = "api_group") + private List apiGroup; + /** + * 应用对应的权限,新的权限体系 + */ + @JSONField(name = "privilege") + private PrivilegeInfo privilege; + + public int getAuthType() { + return authType; + } + + @JSONField(serialize = false) + public AgentAuthType getFormatAuthType() { + if (authType == 0) { + return AgentAuthType.USE; + } else if (authType == 1) { + return AgentAuthType.MANAGE; + } + return null; + } + + public int getAppId() { + return appId; + } + + public List getApiGroup() { + return apiGroup; + } + + // ---------- setter 应该全部去掉 + + public PrivilegeInfo getPrivilege() { + return privilege; + } + + public void setPrivilege(PrivilegeInfo privilege) { + this.privilege = privilege; + } + + public void setAuthType(int authType) { + this.authType = authType; + } + + public void setAppId(int appId) { + this.appId = appId; + } + + public void setApiGroup(List apiGroup) { + this.apiGroup = apiGroup; + } + + @Override + public String toString() { + return "AgentItem [authType=" + authType + ", appId=" + appId + ", apiGroup=" + apiGroup + ", privilege=" + + privilege + ", " + super.toString() + "]"; + } + } + + /** + * 授权的通讯录部门 + * + * @className DepartItem + * @author jy + * @date 2015年6月22日 + * @since JDK 1.6 + * @see + */ + public static class DepartItem extends Party { + + private static final long serialVersionUID = 556556672204642407L; + + /** + * 是否具有该部门的写权限 + */ + private boolean writable; + + public boolean isWritable() { + return writable; + } + + // ---------- setter 应该全部去掉 + public void setWritable(boolean writable) { + this.writable = writable; + } + + @Override + public String toString() { + return "DepartItem [writable=" + writable + ", " + super.toString() + "]"; + } + } +} diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeInfo.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeInfo.java new file mode 100644 index 00000000..013415cc --- /dev/null +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeInfo.java @@ -0,0 +1,122 @@ +package com.foxinmy.weixin4j.qy.model; + +import java.io.Serializable; +import java.util.List; + +import com.alibaba.fastjson.annotation.JSONField; + +/** + * 权限信息 + * + * @className Privilege + * @author jy + * @date 2016年3月28日 + * @since JDK 1.6 + * @see + */ +public class PrivilegeInfo implements Serializable { + + private static final long serialVersionUID = 2689295767648714897L; + /** + * 权限级别 + */ + private int level; + /** + * 应用可见范围(成员) + */ + @JSONField(name = "allow_user") + private List allowUserIds; + /** + * 应用可见范围(部门) + */ + @JSONField(name = "allow_party") + private List allowPartyIds; + /** + * 应用可见范围(标签) + */ + @JSONField(name = "allow_tag") + private List allowTagIds; + /** + * 额外通讯录(成员) + */ + @JSONField(name = "extra_user") + private List extraUserIds; + /** + * 额外通讯录(部门) + */ + @JSONField(name = "extra_party") + private List extraPartyIds; + /** + * 额外通讯录(标签) + */ + @JSONField(name = "extra_tag") + private List extraTagIds; + + public int getLevel() { + return level; + } + + @JSONField(serialize = false) + public PrivilegeLevel getFormatLevel() { + return PrivilegeLevel.values()[level - 1]; + } + + public void setLevel(int level) { + this.level = level; + } + + public List getAllowUserIds() { + return allowUserIds; + } + + public void setAllowUserIds(List allowUserIds) { + this.allowUserIds = allowUserIds; + } + + public List getAllowPartyIds() { + return allowPartyIds; + } + + public void setAllowPartyIds(List allowPartyIds) { + this.allowPartyIds = allowPartyIds; + } + + public List getAllowTagIds() { + return allowTagIds; + } + + public void setAllowTagIds(List allowTagIds) { + this.allowTagIds = allowTagIds; + } + + public List getExtraUserIds() { + return extraUserIds; + } + + public void setExtraUserIds(List extraUserIds) { + this.extraUserIds = extraUserIds; + } + + public List getExtraPartyIds() { + return extraPartyIds; + } + + public void setExtraPartyIds(List extraPartyIds) { + this.extraPartyIds = extraPartyIds; + } + + public List getExtraTagIds() { + return extraTagIds; + } + + public void setExtraTagIds(List extraTagIds) { + this.extraTagIds = extraTagIds; + } + + @Override + public String toString() { + return "PrivilegeInfo [level=" + level + ", allowUserIds=" + allowUserIds + ", allowPartyIds=" + allowPartyIds + + ", allowTagIds=" + allowTagIds + ", extraUserIds=" + extraUserIds + ", extraPartyIds=" + extraPartyIds + + ", extraTagIds=" + extraTagIds + "]"; + } +} \ No newline at end of file diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeLevel.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeLevel.java new file mode 100644 index 00000000..b8515734 --- /dev/null +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/PrivilegeLevel.java @@ -0,0 +1,35 @@ +package com.foxinmy.weixin4j.qy.model; + +/** + * 权限级别 + * + * @className Privilege + * @author jy + * @date 2016年3月28日 + * @since JDK 1.6 + * @see + */ +public enum PrivilegeLevel { + /** + * 标识只读 + */ + IDENTIFYING_READABLE(1), + /** + * 信息只读 + */ + INFORMATION_READABLE(2), + /** + * 信息读写 + */ + INFORMATION_READABLE$WRITABLE(3); + + private int level; + + PrivilegeLevel(int level) { + this.level = level; + } + + public int getLevel() { + return this.level; + } +}