
com.jeecg.qywx.api.user.JwUserAPI Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jeewx-api Show documentation
Show all versions of jeewx-api Show documentation
JEEWX-API(微信极速SDK、同时支持微信公众号\企业微信\支付窗\小程序\微博).
The newest version!
package com.jeecg.qywx.api.user;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jeecg.qywx.api.base.JwAccessTokenAPI;
import com.jeecg.qywx.api.base.JwParamesAPI;
import com.jeecg.qywx.api.core.common.AccessToken;
import com.jeecg.qywx.api.core.util.HttpUtil;
import com.jeecg.qywx.api.user.vo.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 企业微信--yqj
*
* @author yqj
*
*/
public class JwUserAPI {
private static final Logger logger = LoggerFactory.getLogger(JwUserAPI.class);
//1 创建成员
private static String user_create_url = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=ACCESS_TOKEN";
//2 更新成员
private static String user_update_url = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=ACCESS_TOKEN";
//3 删除成员
private static String user_delete_url = "https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token=ACCESS_TOKEN&userid=USERID";
//4 批量删除成员
private static String user_delete_all_url = "https://qyapi.weixin.qq.com/cgi-bin/user/batchdelete?access_token=ACCESS_TOKEN";
//5 获取成员
private static String user_get_url_byuserid = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID";
//6 获取部门下的成员
private static String user_get_dep_all_url = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD&status=STATUS";
//7 获取部门成员(详情)
private static String user_get_url = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD&status=STATUS";
//8 手机号获取userid
private static String user_get_userid = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token=ACCESS_TOKEN";
//9 根据网页授权登录获取到的code来获取用户详情
private static String user_get_userinfo = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?code=CODE&access_token=ACCESS_TOKEN";
// 获取企业成员的userid与对应的部门ID列表
private static String user_get_id_list = "https://qyapi.weixin.qq.com/cgi-bin/user/list_id?access_token=ACCESS_TOKEN";
//1创建成员
/**
* 创建成员
* @param user 用户实例
* 参数 必须 说明
* access_token 是 调用接口凭证
* userid 是 成员UserID。对应管理端的帐号,企业内必须唯一。长度为1~64个字节
* name 是 成员名称。长度为1~64个字节
* department 否 成员所属部门id列表
* position 否 职位信息。长度为0~64个字节
* mobile 否 手机号码。企业内必须唯一,mobile/weixinid/email三者不能同时为空
* gender 否 性别。1表示男性,2表示女性
* email 否 邮箱。长度为0~64个字节。企业内必须唯一
* weixinid 否 微信号。企业内必须唯一。(注意:是微信号,不是微信的名字)
* avatar_mediaid否 成员头像的mediaid,通过多媒体接口上传图片获得的mediaid
* extattr 否 扩展属性。扩展属性需要在WEB管理端创建后才生效,否则忽略未知属性的赋值
* @param accessToken 有效的access_token
* @return 0表示成功,其他值表示失败
*/
public static int createUser(User user, String accessToken){
int result = 0;
logger.info("[CREATEUSER] createUser param:user:{},accessToken:{}", user,accessToken);
// 拼装获取成员列表的url
String url = user_create_url.replace("ACCESS_TOKEN", accessToken);
// 将成员对象转换成json字符串
String jsonUser = JSONObject.toJSONString(user);
logger.info("[CREATEUSER] createUser param:jsonUser:{}", jsonUser);
// 调用接口创建用户
JSONObject jsonObject = HttpUtil.sendPost(url, jsonUser);
logger.info("[CREATEUSER] createUser response:{}", jsonObject.toJSONString());
// 调用接口创建用户
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
//2更新成员
/**
*
* @param user 用户实例
* @param accessToken 有效的access_token
* @return 0表示成功,其他值表示失败
*/
public static int updateUser(User user, String accessToken){
int result=0;
logger.info("[UPDATEUSER] updateUser param:user:{},accessToken:{}", user,accessToken);
// 拼装更新成员列表的url
String url = user_update_url.replace("ACCESS_TOKEN", accessToken);
// 将成员对象转换成json字符串
String jsonUser = JSONObject.toJSONString(user);
logger.info("[UPDATEUSER] updateUser param:jsonUser:{}", jsonUser);
// 调用接口更新用户
JSONObject jsonObject = HttpUtil.sendPost(url, jsonUser);
logger.info("[UPDATEUSER] updateUser response:{}", jsonObject.toJSONString());
// 调用接口更新成员
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
//3删除成员
/**
*
* @param userid 用户成员ID
* @param accessToken 有效的access_token
* @return 0表示成功,其他值表示失败
*/
public static int deleteUser(String userid, String accessToken){
int result=0;
logger.info("[DELETEUSER] deleteUser param:userid:{},accessToken:{}", userid,accessToken);
// 拼装删除成员列表的url
String url = user_delete_url.replace("ACCESS_TOKEN", accessToken).replace("USERID", userid);
// 将成员对象转换成json字符串
logger.info("[DELETEUSER] deleteUser param:userid:{}", userid);
// 调用接口删除用户
JSONObject jsonObject = HttpUtil.sendPost(url);
logger.info("[DELETEUSER] deleteUser response:{}", jsonObject.toJSONString());
// 调用接口删除成员
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
//4批量删除成员
/**
* 注意转换
* @param useridlist 所有用户成员ID
* @param accessToken 有效的access_token
* @return 0表示成功,其他值表示失败
*/
public static int batchDeleteUsers(String[] useridlist, String accessToken){
int result=0;
logger.info("[BATCHDELETEUSERS] batchDeleteUsers param:useridlist:{},accessToken:{}", useridlist,accessToken);
// 拼装批量删除成员列表的url
String url = user_delete_all_url.replace("ACCESS_TOKEN", accessToken);
// 将成员对象转换成json字符串
Map paramtermap=new HashMap();
paramtermap.put("useridlist", useridlist);
String jsonUserids = JSONObject.toJSONString(paramtermap);
logger.info("[BATCHDELETEUSERS] batchDeleteUsers param:useridlist:{}", paramtermap);
// 调用接口批量删除
JSONObject jsonObject = HttpUtil.sendPost(url,jsonUserids);
logger.info("[BATCHDELETEUSERS] batchDeleteUsers response:{}", jsonObject.toJSONString());
// 调用接口批量删除
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
//5获取成员
public static User getUserByUserid(String userid, String accessToken){
logger.info("[GETUSERBYUSERID] getUserByUserid param:userid:{},accessToken:{}", userid,accessToken);
// 拼装获取成员的url
String url = user_get_url_byuserid.replace("ACCESS_TOKEN", accessToken).replace("USERID", userid);
// 调用接口获取成员
JSONObject jsonObject = HttpUtil.sendPost(url);
logger.info("[GETUSERBYUSERID] getUserByUserid response:{}", jsonObject.toJSONString());
//把对象转换成user
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
if(errcode==0){
User user = JSONObject.toJavaObject(jsonObject, User.class);
return user;
}
}
return null;
}
//6获取部门成员
public static List getUsersByDepartid(String department_id,String fetch_child,String status , String accessToken){
logger.info("[GETUSERSBYDEPARTID] getUsersByDepartid param:department_id:{},fetch_child:{},status:{},accessToken:{}", department_id,fetch_child,status,accessToken);
// 拼装获取部门成员的列表的url
String url = user_get_dep_all_url.replace("ACCESS_TOKEN", accessToken).replace("DEPARTMENT_ID", department_id);
if(fetch_child!=null){
url = url.replace("FETCH_CHILD", fetch_child);
}
if(status!=null){
url = url.replace("STATUS", status);
}
// 调用接口获取部门成员
JSONObject jsonObject = HttpUtil.sendPost(url);
logger.info("[GETUSERSBYDEPARTID] getUsersByDepartid response:{}", jsonObject.toJSONString());
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
if(errcode==0){
// List users = JSONArray.toJavaObject(jsonObject.getJSONArray("userlist"), List.class);
// List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy