权限改造后相关接口改动

This commit is contained in:
jinyu 2016-03-28 13:16:21 +08:00
parent 08ab083e57
commit 7f2c1ddaab
3 changed files with 458 additions and 276 deletions

View File

@ -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<AgentItem> 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<AgentItem> 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<AgentItem> 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<AgentItem> agentItems;
/**
* 授权的通讯录部门
*/
@JSONField(name = "department")
private List<DepartItem> departItems;
public List<AgentItem> getAgentItems() {
return agentItems;
}
public List<DepartItem> getDepartItems() {
return departItems;
}
// ---------- setter 应该全部去掉
public void setAgentItems(List<AgentItem> agentItems) {
this.agentItems = agentItems;
}
public void setDepartItems(List<DepartItem> 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<String> 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<String> getApiGroup() {
return apiGroup;
}
// ---------- setter 应该全部去掉
public void setAuthType(int authType) {
this.authType = authType;
}
public void setAppId(int appId) {
this.appId = appId;
}
public void setApiGroup(List<String> 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<AgentItem> 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<AgentItem> 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<AgentItem> 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<AgentItem> agentItems;
/**
* 授权的通讯录部门,<font color="red">新的权限体系将废弃</font>
*/
@JSONField(name = "department")
private List<DepartItem> departItems;
public List<AgentItem> getAgentItems() {
return agentItems;
}
public List<DepartItem> getDepartItems() {
return departItems;
}
// ---------- setter 应该全部去掉
public boolean isNewAuth() {
return isNewAuth;
}
public void setNewAuth(boolean isNewAuth) {
this.isNewAuth = isNewAuth;
}
public void setAgentItems(List<AgentItem> agentItems) {
this.agentItems = agentItems;
}
public void setDepartItems(List<DepartItem> 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表示是否有权限设置应用获取地理位置的开关,
* <font color="red">新的权限体系将废弃</font>
*/
@JSONField(name = "api_group")
private List<String> apiGroup;
/**
* 应用对应的权限,<font color="red">新的权限体系</font>
*/
@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<String> 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<String> 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() + "]";
}
}
}

View File

@ -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<String> allowUserIds;
/**
* 应用可见范围部门
*/
@JSONField(name = "allow_party")
private List<Integer> allowPartyIds;
/**
* 应用可见范围标签
*/
@JSONField(name = "allow_tag")
private List<Integer> allowTagIds;
/**
* 额外通讯录成员
*/
@JSONField(name = "extra_user")
private List<String> extraUserIds;
/**
* 额外通讯录部门
*/
@JSONField(name = "extra_party")
private List<Integer> extraPartyIds;
/**
* 额外通讯录标签
*/
@JSONField(name = "extra_tag")
private List<Integer> 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<String> getAllowUserIds() {
return allowUserIds;
}
public void setAllowUserIds(List<String> allowUserIds) {
this.allowUserIds = allowUserIds;
}
public List<Integer> getAllowPartyIds() {
return allowPartyIds;
}
public void setAllowPartyIds(List<Integer> allowPartyIds) {
this.allowPartyIds = allowPartyIds;
}
public List<Integer> getAllowTagIds() {
return allowTagIds;
}
public void setAllowTagIds(List<Integer> allowTagIds) {
this.allowTagIds = allowTagIds;
}
public List<String> getExtraUserIds() {
return extraUserIds;
}
public void setExtraUserIds(List<String> extraUserIds) {
this.extraUserIds = extraUserIds;
}
public List<Integer> getExtraPartyIds() {
return extraPartyIds;
}
public void setExtraPartyIds(List<Integer> extraPartyIds) {
this.extraPartyIds = extraPartyIds;
}
public List<Integer> getExtraTagIds() {
return extraTagIds;
}
public void setExtraTagIds(List<Integer> extraTagIds) {
this.extraTagIds = extraTagIds;
}
@Override
public String toString() {
return "PrivilegeInfo [level=" + level + ", allowUserIds=" + allowUserIds + ", allowPartyIds=" + allowPartyIds
+ ", allowTagIds=" + allowTagIds + ", extraUserIds=" + extraUserIds + ", extraPartyIds=" + extraPartyIds
+ ", extraTagIds=" + extraTagIds + "]";
}
}

View File

@ -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;
}
}