@@ -0,0 +1,22 @@ | |||||
package me.chanjar.weixin.mp.api; | |||||
import me.chanjar.weixin.common.error.WxErrorException; | |||||
/** | |||||
* 评论数据管理. | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
* @date 2019-06-16 | |||||
*/ | |||||
public interface WxMpCommentService { | |||||
/** | |||||
* 打开已群发文章评论. | |||||
* https://api.weixin.qq.com/cgi-bin/comment/open?access_token=ACCESS_TOKEN | |||||
* 参数 是否必须 类型 说明 | |||||
* | |||||
* @param msgDataId 群发返回的msg_data_id | |||||
* @param index 多图文时,用来指定第几篇图文,从0开始,不带默认操作该msg_data_id的第一篇图文 | |||||
* @throws WxErrorException 异常 | |||||
*/ | |||||
void open(Integer msgDataId, Integer index) throws WxErrorException; | |||||
} |
@@ -526,4 +526,13 @@ public interface WxMpService { | |||||
void setAiOpenService(WxMpAiOpenService aiOpenService); | void setAiOpenService(WxMpAiOpenService aiOpenService); | ||||
void setMarketingService(WxMpMarketingService marketingService); | void setMarketingService(WxMpMarketingService marketingService); | ||||
/** | |||||
* 返回评论数据管理接口方法的实现类对象,以方便调用其各个接口. | |||||
* | |||||
* @return WxMpWifiService | |||||
*/ | |||||
WxMpCommentService getCommentService(); | |||||
void setCommentService(WxMpCommentService commentService); | |||||
} | } |
@@ -62,6 +62,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH | |||||
private WxMpAiOpenService aiOpenService = new WxMpAiOpenServiceImpl(this); | private WxMpAiOpenService aiOpenService = new WxMpAiOpenServiceImpl(this); | ||||
private WxMpWifiService wifiService = new WxMpWifiServiceImpl(this); | private WxMpWifiService wifiService = new WxMpWifiServiceImpl(this); | ||||
private WxMpMarketingService marketingService = new WxMpMarketingServiceImpl(this); | private WxMpMarketingService marketingService = new WxMpMarketingServiceImpl(this); | ||||
private WxMpCommentService commentService = new WxMpCommentServiceImpl(this); | |||||
private Map<String, WxMpConfigStorage> configStorageMap; | private Map<String, WxMpConfigStorage> configStorageMap; | ||||
@@ -608,4 +609,14 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH | |||||
public void setMarketingService(WxMpMarketingService marketingService) { | public void setMarketingService(WxMpMarketingService marketingService) { | ||||
this.marketingService = marketingService; | this.marketingService = marketingService; | ||||
} | } | ||||
@Override | |||||
public WxMpCommentService getCommentService() { | |||||
return this.commentService; | |||||
} | |||||
@Override | |||||
public void setCommentService(WxMpCommentService commentService) { | |||||
this.commentService = commentService; | |||||
} | |||||
} | } |
@@ -0,0 +1,27 @@ | |||||
package me.chanjar.weixin.mp.api.impl; | |||||
import com.google.gson.JsonObject; | |||||
import lombok.RequiredArgsConstructor; | |||||
import me.chanjar.weixin.common.error.WxErrorException; | |||||
import me.chanjar.weixin.mp.api.WxMpCommentService; | |||||
import me.chanjar.weixin.mp.api.WxMpService; | |||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl; | |||||
/** | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
* @date 2019-06-16 | |||||
*/ | |||||
@RequiredArgsConstructor | |||||
public class WxMpCommentServiceImpl implements WxMpCommentService { | |||||
private final WxMpService wxMpService; | |||||
@Override | |||||
public void open(Integer msgDataId, Integer index) throws WxErrorException { | |||||
JsonObject json = new JsonObject(); | |||||
json.addProperty("msg_data_id", msgDataId); | |||||
if (index != null) { | |||||
json.addProperty("index", index); | |||||
} | |||||
this.wxMpService.post(WxMpApiUrl.Comment.OPEN, json.toString()); | |||||
} | |||||
} |
@@ -807,7 +807,6 @@ public interface WxMpApiUrl { | |||||
} | } | ||||
} | } | ||||
@AllArgsConstructor | @AllArgsConstructor | ||||
enum User implements WxMpApiUrl { | enum User implements WxMpApiUrl { | ||||
/** | /** | ||||
@@ -839,4 +838,20 @@ public interface WxMpApiUrl { | |||||
return buildUrl(config.getHostConfig(), prefix, path); | return buildUrl(config.getHostConfig(), prefix, path); | ||||
} | } | ||||
} | } | ||||
@AllArgsConstructor | |||||
enum Comment implements WxMpApiUrl { | |||||
/** | |||||
* 打开已群发文章评论. | |||||
*/ | |||||
OPEN(API_DEFAULT_HOST_URL, "/cgi-bin/comment/open"); | |||||
private String prefix; | |||||
private String path; | |||||
@Override | |||||
public String getUrl(WxMpConfigStorage config) { | |||||
return buildUrl(config.getHostConfig(), prefix, path); | |||||
} | |||||
} | |||||
} | } |
@@ -0,0 +1,28 @@ | |||||
package me.chanjar.weixin.mp.api.impl; | |||||
import com.google.inject.Inject; | |||||
import me.chanjar.weixin.common.error.WxErrorException; | |||||
import me.chanjar.weixin.mp.api.WxMpService; | |||||
import me.chanjar.weixin.mp.api.test.ApiTestModule; | |||||
import org.testng.annotations.Guice; | |||||
import org.testng.annotations.Test; | |||||
/** | |||||
* 测试类. | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
* @date 2019-06-16 | |||||
*/ | |||||
@Test | |||||
@Guice(modules = ApiTestModule.class) | |||||
public class WxMpCommentServiceImplTest { | |||||
@Inject | |||||
private WxMpService wxService; | |||||
@Test | |||||
public void testOpen() throws WxErrorException { | |||||
this.wxService.getCommentService().open(1, null); | |||||
this.wxService.getCommentService().open(1, 0); | |||||
} | |||||
} |