Skip to content

Commit cd3237d

Browse files
committed
Merge pull request #198 from ajffdnt/develop
增加企业号异步任务接口
2 parents 8935048 + afaa0a3 commit cd3237d

File tree

2 files changed

+67
-18
lines changed

2 files changed

+67
-18
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpService.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,4 +556,26 @@ WxMediaUploadResult mediaUpload(String mediaType, String fileType, InputStream i
556556
* @param sessionManager
557557
*/
558558
void setSessionManager(WxSessionManager sessionManager);
559+
560+
/**
561+
* 上传部门列表覆盖企业号上的部门信息
562+
* @param mediaId
563+
* @throws WxErrorException
564+
*/
565+
String replaceParty(String mediaId) throws WxErrorException;
566+
567+
/**
568+
* 上传用户列表覆盖企业号上的用户信息
569+
* @param mediaId
570+
* @throws WxErrorException
571+
*/
572+
String replaceUser(String mediaId) throws WxErrorException;
573+
574+
/**
575+
* 获取异步任务结果
576+
* @param joinId
577+
* @return
578+
* @throws WxErrorException
579+
*/
580+
String getTaskResult(String joinId) throws WxErrorException;
559581
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package me.chanjar.weixin.cp.api;
22

3-
import com.google.gson.JsonArray;
4-
import com.google.gson.JsonElement;
5-
import com.google.gson.JsonObject;
6-
import com.google.gson.JsonPrimitive;
7-
import com.google.gson.internal.Streams;
8-
import com.google.gson.reflect.TypeToken;
9-
import com.google.gson.stream.JsonReader;
10-
import com.sun.media.sound.SoftTuning;
3+
import java.io.File;
4+
import java.io.IOException;
5+
import java.io.InputStream;
6+
import java.io.StringReader;
7+
import java.math.BigDecimal;
8+
import java.security.NoSuchAlgorithmException;
9+
import java.util.List;
10+
import java.util.UUID;
11+
1112
import me.chanjar.weixin.common.bean.WxAccessToken;
1213
import me.chanjar.weixin.common.bean.WxJsapiSignature;
1314
import me.chanjar.weixin.common.bean.WxMenu;
@@ -21,13 +22,19 @@
2122
import me.chanjar.weixin.common.util.StringUtils;
2223
import me.chanjar.weixin.common.util.crypto.SHA1;
2324
import me.chanjar.weixin.common.util.fs.FileUtils;
24-
import me.chanjar.weixin.common.util.http.*;
25+
import me.chanjar.weixin.common.util.http.MediaDownloadRequestExecutor;
26+
import me.chanjar.weixin.common.util.http.MediaUploadRequestExecutor;
27+
import me.chanjar.weixin.common.util.http.RequestExecutor;
28+
import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor;
29+
import me.chanjar.weixin.common.util.http.SimplePostRequestExecutor;
30+
import me.chanjar.weixin.common.util.http.URIUtil;
2531
import me.chanjar.weixin.common.util.json.GsonHelper;
2632
import me.chanjar.weixin.cp.bean.WxCpDepart;
2733
import me.chanjar.weixin.cp.bean.WxCpMessage;
2834
import me.chanjar.weixin.cp.bean.WxCpTag;
2935
import me.chanjar.weixin.cp.bean.WxCpUser;
3036
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
37+
3138
import org.apache.http.HttpHost;
3239
import org.apache.http.auth.AuthScope;
3340
import org.apache.http.auth.UsernamePasswordCredentials;
@@ -43,14 +50,13 @@
4350
import org.slf4j.Logger;
4451
import org.slf4j.LoggerFactory;
4552

46-
import java.io.File;
47-
import java.io.IOException;
48-
import java.io.InputStream;
49-
import java.io.StringReader;
50-
import java.math.BigDecimal;
51-
import java.security.NoSuchAlgorithmException;
52-
import java.util.List;
53-
import java.util.UUID;
53+
import com.google.gson.JsonArray;
54+
import com.google.gson.JsonElement;
55+
import com.google.gson.JsonObject;
56+
import com.google.gson.JsonPrimitive;
57+
import com.google.gson.internal.Streams;
58+
import com.google.gson.reflect.TypeToken;
59+
import com.google.gson.stream.JsonReader;
5460

5561
public class WxCpServiceImpl implements WxCpService {
5662

@@ -243,7 +249,6 @@ public WxMediaUploadResult mediaUpload(String mediaType, File file) throws WxErr
243249

244250
public File mediaDownload(String media_id) throws WxErrorException {
245251
String url = "https://qyapi.weixin.qq.com/cgi-bin/media/get";
246-
247252
return execute(new MediaDownloadRequestExecutor(wxCpConfigStorage.getTmpDirFile()), url, "media_id=" + media_id);
248253
}
249254

@@ -650,6 +655,28 @@ public void setSessionManager(WxSessionManager sessionManager) {
650655
this.sessionManager = sessionManager;
651656
}
652657

658+
@Override
659+
public String replaceParty(String mediaId) throws WxErrorException {
660+
String url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty";
661+
JsonObject jsonObject = new JsonObject();
662+
jsonObject.addProperty("media_id", mediaId);
663+
return post(url, jsonObject.toString());
664+
}
665+
666+
@Override
667+
public String replaceUser(String mediaId) throws WxErrorException {
668+
String url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser";
669+
JsonObject jsonObject = new JsonObject();
670+
jsonObject.addProperty("media_id", mediaId);
671+
return post(url, jsonObject.toString());
672+
}
673+
674+
@Override
675+
public String getTaskResult(String joinId) throws WxErrorException {
676+
String url = "https://qyapi.weixin.qq.com/cgi-bin/batch/getresult?jobid="+joinId;
677+
return get(url, null);
678+
}
679+
653680
public File getTmpDirFile() {
654681
return tmpDirFile;
655682
}

0 commit comments

Comments
 (0)