From 5aa06a58251a777fa504c99fa7596afd82058393 Mon Sep 17 00:00:00 2001 From: didi12121 <1968967961@qq.com> Date: Fri, 15 Apr 2022 17:37:52 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=9C=A8=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E4=B8=AD=E8=8E=B7=E5=8F=96=E5=AE=A1=E6=89=B9=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E4=B8=AD=E6=8E=A7=E4=BB=B6=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E4=B8=AD=E6=B7=BB=E5=8A=A0date=5Frange?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=BD=93=E8=BF=94=E5=9B=9E=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=B8=BAdate=5Frange=E6=97=B6=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96=E5=88=B0=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/chanjar/weixin/cp/bean/oa/applydata/ContentValue.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/applydata/ContentValue.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/applydata/ContentValue.java index 6ae69c1895..e2d4761bd3 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/applydata/ContentValue.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/applydata/ContentValue.java @@ -42,6 +42,9 @@ public class ContentValue implements Serializable { private Vacation vacation; + @SerializedName("date_range") + private Attendance.DataRange dateRange; + @Data public static class Date implements Serializable { private static final long serialVersionUID = -6181554080062231138L; From 769d429db3b33cbdf8611e444ab3101087ca06bf Mon Sep 17 00:00:00 2001 From: didi12121 <1968967961@qq.com> Date: Sun, 17 Apr 2022 18:39:44 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=A4=96=E9=83=A8=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E4=BA=BA=E7=AE=A1=E7=90=86=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E8=81=8A=E5=A4=A9=E6=95=8F=E6=84=9F=E8=AF=8D?= =?UTF-8?q?=E7=9A=84api=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cp/api/WxCpExternalContactService.java | 25 ++++++++ .../impl/WxCpExternalContactServiceImpl.java | 64 +++++++++++++------ .../bean/external/WxCpInterceptRuleResp.java | 58 +++++++++++++++++ .../external/WxCpInterceptRuleResultResp.java | 30 +++++++++ .../weixin/cp/constant/WxCpApiPathConsts.java | 4 ++ 5 files changed, 161 insertions(+), 20 deletions(-) create mode 100644 weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java create mode 100644 weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResultResp.java diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java index ae6b59ed6b..ead16c223c 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java @@ -960,5 +960,30 @@ WxMediaUploadResult uploadAttachment(String mediaType, String fileType, Integer WxMediaUploadResult uploadAttachment(String mediaType, Integer attachmentType, File file) throws WxErrorException; + /** + * 新建敏感词规则 + * 企业和第三方应用可以通过此接口新建敏感词规则 + * 请求方式:POST(HTTPS) + * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_intercept_rule?access_token=ACCESS_TOKEN + * @param ruleResp + */ + WxCpInterceptRuleResultResp addInterceptRule(WxCpInterceptRuleResp ruleResp) throws WxErrorException; + /** + * 修改敏感词规则 + * 企业和第三方应用可以通过此接口修改敏感词规则 + * 请求方式:POST(HTTPS) + * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/update_intercept_rule?access_token=ACCESS_TOKEN + * @param ruleResp + */ + WxCpInterceptRuleResultResp updateInterceptRule(WxCpInterceptRuleResp ruleResp) throws WxErrorException; + /** + * 删除敏感词规则 + * 企业和第三方应用可以通过此接口修改敏感词规则 + * 请求方式:POST(HTTPS) + * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/del_intercept_rule?access_token=ACCESS_TOKEN + * @param rule_id 规则id + * @throws WxErrorException + */ + WxCpBaseResp delInterceptRule(String rule_id) throws WxErrorException; } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java index def24cf8bd..813356f0e6 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java @@ -2,10 +2,12 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; + import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.UUID; + import lombok.NonNull; import lombok.RequiredArgsConstructor; import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; @@ -111,7 +113,7 @@ public WxCpExternalContactInfo getExternalContact(String userId) throws WxErrorE @Override public WxCpExternalContactInfo getContactDetail(String userId, String cursor) throws WxErrorException { String params = userId; - if(StringUtils.isNotEmpty(cursor)){ + if (StringUtils.isNotEmpty(cursor)) { params = params + "&cursor=" + cursor; } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_CONTACT_DETAIL + params); @@ -130,11 +132,11 @@ public String convertToOpenid(@NotNull String externalUserId) throws WxErrorExce } @Override - public String unionidToExternalUserid(@NotNull String unionid,String openid) throws WxErrorException { + public String unionidToExternalUserid(@NotNull String unionid, String openid) throws WxErrorException { JsonObject json = new JsonObject(); json.addProperty("unionid", unionid); - if(StringUtils.isNotEmpty(openid)){ - json.addProperty("openid",openid); + if (StringUtils.isNotEmpty(openid)) { + json.addProperty("openid", openid); } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(UNIONID_TO_EXTERNAL_USERID); String responseContent = this.mainService.post(url, json.toString()); @@ -157,8 +159,8 @@ public WxCpExternalUserIdList unionidToExternalUserid3rd(@NotNull String unionid JsonObject json = new JsonObject(); json.addProperty("unionid", unionid); json.addProperty("openid", openid); - if(StringUtils.isNotEmpty(corpid)){ - json.addProperty("corpid",corpid); + if (StringUtils.isNotEmpty(corpid)) { + json.addProperty("corpid", corpid); } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(UNIONID_TO_EXTERNAL_USERID_3RD); String responseContent = this.mainService.post(url, json.toString()); @@ -188,7 +190,7 @@ public WxCpBaseResp finishExternalUserIdMigration(@NotNull String corpid) throws @Override public String opengidToChatid(@NotNull String opengid) throws WxErrorException { JsonObject json = new JsonObject(); - json.addProperty("opengid",opengid); + json.addProperty("opengid", opengid); final String url = this.mainService.getWxCpConfigStorage().getApiUrl(OPENID_TO_CHATID); String responseContent = this.mainService.post(url, json.toString()); JsonObject tmpJson = GsonParser.parse(responseContent); @@ -247,7 +249,7 @@ public List listFollowers() throws WxErrorException { @Override public WxCpUserExternalUnassignList listUnassignedList(Integer pageIndex, String cursor, Integer pageSize) throws WxErrorException { JsonObject json = new JsonObject(); - if(pageIndex != null){ + if (pageIndex != null) { json.addProperty("page_id", pageIndex); } json.addProperty("cursor", StringUtils.isEmpty(cursor) ? "" : cursor); @@ -518,20 +520,20 @@ public WxCpGetMomentTaskResult getMomentTaskResult(String jobId) throws WxErrorE @Override public WxCpGetMomentList getMomentList(Long startTime, Long endTime, String creator, Integer filterType, - String cursor, Integer limit) throws WxErrorException { + String cursor, Integer limit) throws WxErrorException { JsonObject json = new JsonObject(); json.addProperty("start_time", startTime); json.addProperty("end_time", endTime); if (!StringUtils.isEmpty(creator)) { json.addProperty("creator", creator); } - if (filterType!=null) { + if (filterType != null) { json.addProperty("filter_type", filterType); } if (!StringUtils.isEmpty(cursor)) { json.addProperty("cursor", cursor); } - if (limit!=null) { + if (limit != null) { json.addProperty("limit", limit); } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_MOMENT_LIST); @@ -547,7 +549,7 @@ public WxCpGetMomentTask getMomentTask(String momentId, String cursor, Integer l if (!StringUtils.isEmpty(cursor)) { json.addProperty("cursor", cursor); } - if (limit!=null) { + if (limit != null) { json.addProperty("limit", limit); } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_MOMENT_TASK); @@ -557,14 +559,14 @@ public WxCpGetMomentTask getMomentTask(String momentId, String cursor, Integer l @Override public WxCpGetMomentCustomerList getMomentCustomerList(String momentId, String userId, - String cursor, Integer limit) throws WxErrorException { + String cursor, Integer limit) throws WxErrorException { JsonObject json = new JsonObject(); json.addProperty("moment_id", momentId); json.addProperty("userid", userId); if (!StringUtils.isEmpty(cursor)) { json.addProperty("cursor", cursor); } - if (limit!=null) { + if (limit != null) { json.addProperty("limit", limit); } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_MOMENT_CUSTOMER_LIST); @@ -574,14 +576,14 @@ public WxCpGetMomentCustomerList getMomentCustomerList(String momentId, String u @Override public WxCpGetMomentSendResult getMomentSendResult(String momentId, String userId, - String cursor, Integer limit) throws WxErrorException { + String cursor, Integer limit) throws WxErrorException { JsonObject json = new JsonObject(); json.addProperty("moment_id", momentId); json.addProperty("userid", userId); if (!StringUtils.isEmpty(cursor)) { json.addProperty("cursor", cursor); } - if (limit!=null) { + if (limit != null) { json.addProperty("limit", limit); } final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_MOMENT_SEND_RESULT); @@ -790,8 +792,8 @@ public WxCpBaseResp delGroupWelcomeTemplate(@NotNull String templateId, String a * https://work.weixin.qq.com/api/doc/90000/90135/95096#获取商品图册列表 * * - * @param limit 返回的最大记录数,整型,最大值100,默认值50,超过最大值时取默认值 - * @param cursor 用于分页查询的游标,字符串类型,由上一次调用返回,首次调用可不填 + * @param limit 返回的最大记录数,整型,最大值100,默认值50,超过最大值时取默认值 + * @param cursor 用于分页查询的游标,字符串类型,由上一次调用返回,首次调用可不填 * @return wx cp base resp * @throws WxErrorException the wx error exception */ @@ -811,7 +813,7 @@ public WxCpProductAlbumListResult getProductAlbumList(Integer limit, String curs * https://work.weixin.qq.com/api/doc/90000/90135/95096#获取商品图册 * * - * @param productId 商品id + * @param productId 商品id * @return wx cp base resp * @throws WxErrorException the wx error exception */ @@ -826,7 +828,7 @@ public WxCpProductAlbumResult getProductAlbum(String productId) throws WxErrorEx @Override public WxMediaUploadResult uploadAttachment(String mediaType, String fileType, Integer attachmentType, - InputStream inputStream) throws WxErrorException, IOException { + InputStream inputStream) throws WxErrorException, IOException { return uploadAttachment(mediaType, attachmentType, FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), fileType)); } @@ -839,4 +841,26 @@ public WxMediaUploadResult uploadAttachment(String mediaType, Integer attachment return this.mainService.execute(MediaUploadRequestExecutor.create( this.mainService.getRequestHttp()), url, file); } + + @Override + public WxCpInterceptRuleResultResp addInterceptRule(WxCpInterceptRuleResp ruleResp) throws WxErrorException { + return WxCpInterceptRuleResultResp + .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(UPDATE_INTERCEPT_RULE), ruleResp.toJson())); + } + + @Override + public WxCpInterceptRuleResultResp updateInterceptRule(WxCpInterceptRuleResp ruleResp) throws WxErrorException { + return WxCpInterceptRuleResultResp + .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(UPDATE_INTERCEPT_RULE), ruleResp.toJson())); + } + + @Override + public WxCpBaseResp delInterceptRule(String rule_id) throws WxErrorException { + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("rule_id",rule_id); + return WxCpBaseResp + .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(UPDATE_INTERCEPT_RULE), jsonObject)); + } + + } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java new file mode 100644 index 0000000000..e7429ff145 --- /dev/null +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java @@ -0,0 +1,58 @@ +package me.chanjar.weixin.cp.bean.external; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; + +import java.util.Date; +import java.util.List; + +/** + * 新增敏感词规则请求参数封装实体类 + * + * @author didi + * @date 2022-04-17 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxCpInterceptRuleResp { + @SerializedName("rule_name") + private String ruleName; + @SerializedName("word_list") + private List wordList; + @SerializedName("semantics_list") + private List semanticsList; + @SerializedName("intercept_type") + private int interceptType; + @SerializedName("applicable_range") + private ApplicableRange applicableRange; + + @Data + public static class ApplicableRange { + @SerializedName("user_list") + private List userList; + @SerializedName("department_list") + private List departmentList; + public static ApplicableRange fromJson(String json) { + return WxCpGsonBuilder.create().fromJson(json, ApplicableRange.class); + } + + public String toJson() { + return WxCpGsonBuilder.create().toJson(this); + } + } + + public static WxCpInterceptRuleResp fromJson(String json) { + return WxCpGsonBuilder.create().fromJson(json, WxCpInterceptRuleResp.class); + } + + public String toJson() { + return WxCpGsonBuilder.create().toJson(this); + } + +} diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResultResp.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResultResp.java new file mode 100644 index 0000000000..2ce6c28f27 --- /dev/null +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResultResp.java @@ -0,0 +1,30 @@ +package me.chanjar.weixin.cp.bean.external; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import me.chanjar.weixin.cp.bean.WxCpBaseResp; +import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; + +import java.io.Serializable; + +/** + * 新建敏感词规则负返回结果 + * @author didi + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WxCpInterceptRuleResultResp extends WxCpBaseResp implements Serializable { + + @SerializedName("rule_id") + private String ruleId; + + public static WxCpInterceptRuleResultResp fromJson(String json) { + return WxCpGsonBuilder.create().fromJson(json, WxCpInterceptRuleResultResp.class); + } + + public String toJson() { + return WxCpGsonBuilder.create().toJson(this); + } + +} diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java index b3773eeaba..07fda35b1c 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java @@ -281,6 +281,10 @@ interface ExternalContact { String UPLOAD_ATTACHMENT = "/cgi-bin/media/upload_attachment"; + + String ADD_INTERCEPT_RULE = "/cgi-bin/externalcontact/add_intercept_rule"; + String UPDATE_INTERCEPT_RULE = "/cgi-bin/externalcontact/update_intercept_rule"; + } interface Kf { From c8e67fbf928a9a135f9784efac367669429a8dd0 Mon Sep 17 00:00:00 2001 From: didi12121 <1968967961@qq.com> Date: Sun, 17 Apr 2022 18:44:53 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/cp/api/WxCpExternalContactService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java index ead16c223c..85bef2ea71 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java @@ -961,27 +961,38 @@ WxMediaUploadResult uploadAttachment(String mediaType, Integer attachmentType, F throws WxErrorException; /** + *
    * 新建敏感词规则
    * 企业和第三方应用可以通过此接口新建敏感词规则
    * 请求方式:POST(HTTPS)
    * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_intercept_rule?access_token=ACCESS_TOKEN
+   * 
    * @param ruleResp
+   * @return WxCpInterceptRuleResultResp
+   * @throws WxErrorException
    */
   WxCpInterceptRuleResultResp addInterceptRule(WxCpInterceptRuleResp ruleResp) throws  WxErrorException;
   /**
+   * 
    * 修改敏感词规则
    * 企业和第三方应用可以通过此接口修改敏感词规则
    * 请求方式:POST(HTTPS)
    * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/update_intercept_rule?access_token=ACCESS_TOKEN
+   * 
    * @param ruleResp
+   * @return WxCpInterceptRuleResultResp
+   * @throws WxErrorException
    */
   WxCpInterceptRuleResultResp updateInterceptRule(WxCpInterceptRuleResp ruleResp) throws  WxErrorException;
   /**
+   * 
    * 删除敏感词规则
    * 企业和第三方应用可以通过此接口修改敏感词规则
    * 请求方式:POST(HTTPS)
    * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/del_intercept_rule?access_token=ACCESS_TOKEN
+   * 
    * @param rule_id 规则id
+   * @return WxCpBaseResp
    * @throws WxErrorException
    */
   WxCpBaseResp delInterceptRule(String rule_id) throws  WxErrorException;

From 39e649498fa91dd0fecdb3a579e850e8388e449c Mon Sep 17 00:00:00 2001
From: didi12121 <1968967961@qq.com>
Date: Sun, 17 Apr 2022 19:06:28 +0800
Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../chanjar/weixin/cp/api/WxCpExternalContactService.java | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java
index 85bef2ea71..a87079d5ae 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java
@@ -967,9 +967,6 @@ WxMediaUploadResult uploadAttachment(String mediaType, Integer attachmentType, F
    * 请求方式:POST(HTTPS)
    * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_intercept_rule?access_token=ACCESS_TOKEN
    * 
-   * @param ruleResp
-   * @return WxCpInterceptRuleResultResp
-   * @throws WxErrorException
    */
   WxCpInterceptRuleResultResp addInterceptRule(WxCpInterceptRuleResp ruleResp) throws  WxErrorException;
   /**
@@ -979,9 +976,6 @@ WxMediaUploadResult uploadAttachment(String mediaType, Integer attachmentType, F
    * 请求方式:POST(HTTPS)
    * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/update_intercept_rule?access_token=ACCESS_TOKEN
    * 
-   * @param ruleResp
-   * @return WxCpInterceptRuleResultResp
-   * @throws WxErrorException
    */
   WxCpInterceptRuleResultResp updateInterceptRule(WxCpInterceptRuleResp ruleResp) throws  WxErrorException;
   /**
@@ -992,8 +986,6 @@ WxMediaUploadResult uploadAttachment(String mediaType, Integer attachmentType, F
    * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/del_intercept_rule?access_token=ACCESS_TOKEN
    * 
    * @param rule_id 规则id
-   * @return WxCpBaseResp
-   * @throws WxErrorException
    */
   WxCpBaseResp delInterceptRule(String rule_id) throws  WxErrorException;
 

From 69ca6cacf778c0bea408cba5cd46f0cc665e3cfe Mon Sep 17 00:00:00 2001
From: zhaiyouliang <1968967961@qq.com>
Date: Mon, 18 Apr 2022 12:58:55 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../weixin/cp/api/impl/WxCpExternalContactServiceImpl.java    | 4 ++--
 .../weixin/cp/bean/external/WxCpInterceptRuleResp.java        | 3 +++
 .../java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java
index 813356f0e6..89fc6961d1 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java
@@ -845,7 +845,7 @@ public WxMediaUploadResult uploadAttachment(String mediaType, Integer attachment
   @Override
   public WxCpInterceptRuleResultResp addInterceptRule(WxCpInterceptRuleResp ruleResp) throws WxErrorException {
     return WxCpInterceptRuleResultResp
-      .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(UPDATE_INTERCEPT_RULE), ruleResp.toJson()));
+      .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(ADD_INTERCEPT_RULE), ruleResp.toJson()));
   }
 
   @Override
@@ -859,7 +859,7 @@ public WxCpBaseResp delInterceptRule(String rule_id) throws WxErrorException {
     JsonObject jsonObject = new JsonObject();
     jsonObject.addProperty("rule_id",rule_id);
     return WxCpBaseResp
-      .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(UPDATE_INTERCEPT_RULE), jsonObject));
+      .fromJson(this.mainService.post(this.mainService.getWxCpConfigStorage().getApiUrl(DEL_INTERCEPT_RULE), jsonObject));
   }
 
 
diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java
index e7429ff145..0c5f86c3c3 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/WxCpInterceptRuleResp.java
@@ -21,8 +21,11 @@
 @NoArgsConstructor
 @AllArgsConstructor
 public class WxCpInterceptRuleResp {
+
   @SerializedName("rule_name")
   private String ruleName;
+  @SerializedName("rule_id")
+  private String ruleId;
   @SerializedName("word_list")
   private List wordList;
   @SerializedName("semantics_list")
diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
index 07fda35b1c..cd43d3472d 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
@@ -284,6 +284,7 @@ interface ExternalContact {
 
     String ADD_INTERCEPT_RULE = "/cgi-bin/externalcontact/add_intercept_rule";
     String UPDATE_INTERCEPT_RULE = "/cgi-bin/externalcontact/update_intercept_rule";
+    String DEL_INTERCEPT_RULE = "/cgi-bin/externalcontact/del_intercept_rule";
 
   }