浏览代码

#1271 企业微信标签创建接口支持传入id参数

master
Binary Wang 5 年前
父节点
当前提交
e7a0d6a597
共有 2 个文件被更改,包括 47 次插入4 次删除
  1. +31
    -0
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpTagService.java
  2. +16
    -4
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpTagServiceImpl.java

+ 31
- 0
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpTagService.java 查看文件

@@ -18,11 +18,29 @@ import java.util.List;
*/
public interface WxCpTagService {

/**
* 创建标签.
* <pre>
* 请求地址:https://qyapi.weixin.qq.com/cgi-bin/tag/create?access_token=ACCESS_TOKEN
* 文档地址:https://work.weixin.qq.com/api/doc#90000/90135/90210
* </pre>
*
* @param name 标签名称,长度限制为32个字以内(汉字或英文字母),标签名不可与其他标签重名。
* @param id 标签id,非负整型,指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。
* @return 标签id
* @throws WxErrorException .
*/
String create(String name, Integer id) throws WxErrorException;

/**
* 创建标签.
*
* @param tagName 标签名
* @return 标签id
* @throws WxErrorException .
* @deprecated 建议使用 {@link #create(String, Integer)},其中后面的参数可以为空
*/
@Deprecated
String create(String tagName) throws WxErrorException;

/**
@@ -30,6 +48,7 @@ public interface WxCpTagService {
*
* @param tagId 标签id
* @param tagName 标签名
* @throws WxErrorException .
*/
void update(String tagId, String tagName) throws WxErrorException;

@@ -37,11 +56,15 @@ public interface WxCpTagService {
* 删除标签.
*
* @param tagId 标签id
* @throws WxErrorException .
*/
void delete(String tagId) throws WxErrorException;

/**
* 获得标签列表.
*
* @return 标签列表
* @throws WxErrorException .
*/
List<WxCpTag> listAll() throws WxErrorException;

@@ -49,6 +72,8 @@ public interface WxCpTagService {
* 获取标签成员.
*
* @param tagId 标签ID
* @return 成员列表
* @throws WxErrorException .
*/
List<WxCpUser> listUsersByTagId(String tagId) throws WxErrorException;

@@ -57,6 +82,8 @@ public interface WxCpTagService {
* 对应: http://qydev.weixin.qq.com/wiki/index.php?title=管理标签 中的get接口
*
* @param tagId 标签id
* @return .
* @throws WxErrorException .
*/
WxCpTagGetResult get(String tagId) throws WxErrorException;

@@ -66,6 +93,8 @@ public interface WxCpTagService {
* @param tagId 标签id
* @param userIds 用户ID 列表
* @param partyIds 企业部门ID列表
* @return .
* @throws WxErrorException .
*/
WxCpTagAddOrRemoveUsersResult addUsers2Tag(String tagId, List<String> userIds, List<String> partyIds) throws WxErrorException;

@@ -75,6 +104,8 @@ public interface WxCpTagService {
* @param tagId 标签id
* @param userIds 用户id列表
* @param partyIds 企业部门ID列表
* @return .
* @throws WxErrorException .
*/
WxCpTagAddOrRemoveUsersResult removeUsersFromTag(String tagId, List<String> userIds, List<String> partyIds) throws WxErrorException;



+ 16
- 4
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpTagServiceImpl.java 查看文件

@@ -10,14 +10,11 @@ import me.chanjar.weixin.cp.bean.WxCpTag;
import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult;
import me.chanjar.weixin.cp.bean.WxCpTagGetResult;
import me.chanjar.weixin.cp.bean.WxCpUser;
import me.chanjar.weixin.cp.constant.WxCpApiPathConsts;
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;

import java.util.List;

import static me.chanjar.weixin.cp.constant.WxCpApiPathConsts.Tag.*;
import static me.chanjar.weixin.cp.constant.WxCpApiPathConsts.Tag.TAG_CREATE;
import static me.chanjar.weixin.cp.constant.WxCpApiPathConsts.Tag.TAG_UPDATE;

/**
* <pre>
@@ -31,12 +28,27 @@ import static me.chanjar.weixin.cp.constant.WxCpApiPathConsts.Tag.TAG_UPDATE;
public class WxCpTagServiceImpl implements WxCpTagService {
private final WxCpService mainService;

@Override
public String create(String name, Integer id) throws WxErrorException {
JsonObject o = new JsonObject();
o.addProperty("tagname", name);

if (id != null) {
o.addProperty("tagid", id);
}
return this.create(o);
}

@Override
public String create(String tagName) throws WxErrorException {
JsonObject o = new JsonObject();
o.addProperty("tagname", tagName);
return this.create(o);
}

private String create(JsonObject param) throws WxErrorException {
String url = this.mainService.getWxCpConfigStorage().getApiUrl(TAG_CREATE);
String responseContent = this.mainService.post(url, o.toString());
String responseContent = this.mainService.post(url, param.toString());
JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
return tmpJsonElement.getAsJsonObject().get("tagid").getAsString();
}


正在加载...
取消
保存