diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMarketingService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMarketingService.java index c35a135ce..d82a9e328 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMarketingService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMarketingService.java @@ -11,16 +11,14 @@ import java.util.Date; import java.util.List; /** - *
- * 微信营销接口 - *+ * 微信营销接口. * * @author 007 */ public interface WxMpMarketingService { /** *
- * 创建数据源
+ * 创建数据源.
* 接口调用请求说明
* https://wximg.qq.com/wxp/pdftool/get.html?id=rkalQXDBM&pa=39
*
@@ -33,7 +31,7 @@ public interface WxMpMarketingService {
/**
*
- * 获取数据源信息
+ * 获取数据源信息.
*
*
* @param userActionSetId 数据源唯一ID
@@ -41,7 +39,7 @@ public interface WxMpMarketingService {
List
- * 获取朋友圈销售线索数据接口
+ * 获取朋友圈销售线索数据接口.
* 接口调用请求说明
*
* http请求方式: POST
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImpl.java
index 5f2ece51f..27371ef8f 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImpl.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImpl.java
@@ -50,15 +50,11 @@ public class WxMpMarketingServiceImpl implements WxMpMarketingService {
@Override
public void addUserAction(List actions) throws WxErrorException {
- JsonArray json = new JsonArray();
- for (WxMpUserAction action : actions) {
- json.add(action.toJsonObject());
- }
- wxMpService.post(USER_ACTIONS_ADD, json.toString());
+ wxMpService.post(USER_ACTIONS_ADD, WxMpUserAction.listToJson(actions));
}
@Override
- public WxMpAdLeadResult getAdLeads(Date beginDate, Date endDate, List filtering, Integer page, Integer page_size) throws WxErrorException, IOException {
+ public WxMpAdLeadResult getAdLeads(Date beginDate, Date endDate, List filtering, Integer page, Integer pageSize) throws WxErrorException, IOException {
Date today = new Date();
if (beginDate == null) {
beginDate = today;
@@ -72,7 +68,7 @@ public class WxMpMarketingServiceImpl implements WxMpMarketingService {
dateRange.addProperty("end_date", DateFormatUtils.format(endDate, "yyyy-MM-dd"));
params += "&date_range=" + URLEncoder.encode(dateRange.toString(), StandardCharsets.UTF_8.name());
params += "&page=" + page;
- params += "&page_size=" + page_size;
+ params += "&pageSize=" + pageSize;
if (filtering != null) {
JsonArray filterJson = new JsonArray();
for (WxMpAdLeadFilter filter : filtering) {
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserAction.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserAction.java
index 69fced907..470ebae98 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserAction.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserAction.java
@@ -1,39 +1,69 @@
package me.chanjar.weixin.mp.bean.marketing;
+import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
import lombok.Data;
+import lombok.NoArgsConstructor;
import java.io.Serializable;
+import java.util.List;
/**
* @author 007
*/
@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
public class WxMpUserAction implements Serializable {
private static final long serialVersionUID = 7042393762652152209L;
+
private Long userActionSetId;
private String url;
- private Boolean actionTime;
+ private Integer actionTime;
private String actionType;
private String clickId;
private Integer actionParam;
- public JsonObject toJsonObject() {
+ private JsonObject toJsonObject() {
JsonObject json = new JsonObject();
json.addProperty("user_action_set_id", this.userActionSetId);
json.addProperty("url", this.url);
json.addProperty("action_time", this.actionTime);
+ json.addProperty("action_type", this.actionType);
+
if (this.clickId != null) {
JsonObject traceJson = new JsonObject();
traceJson.addProperty("click_id", this.clickId);
json.add("trace", traceJson);
}
+
if (this.actionParam != null) {
JsonObject actionParamJson = new JsonObject();
actionParamJson.addProperty("value", actionParam);
json.add("action_param", actionParamJson);
}
+
return json;
}
+
+ /**
+ * list对象转换为json字符串
+ *
+ * @param actions .
+ * @return .
+ */
+ public static String listToJson(List actions) {
+ JsonArray array = new JsonArray();
+ for (WxMpUserAction action : actions) {
+ array.add(action.toJsonObject());
+ }
+
+ JsonObject result = new JsonObject();
+ result.add("actions", array);
+ return result.toString();
+ }
}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImplTest.java
new file mode 100644
index 000000000..900453b66
--- /dev/null
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMarketingServiceImplTest.java
@@ -0,0 +1,30 @@
+package me.chanjar.weixin.mp.api.impl;
+
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.*;
+
+/**
+ * 测试类.
+ *
+ * @author Binary Wang
+ * @date 2019-07-14
+ */
+public class WxMpMarketingServiceImplTest {
+
+ @Test
+ public void testAddUserActionSets() {
+ }
+
+ @Test
+ public void testGetUserActionSets() {
+ }
+
+ @Test
+ public void testAddUserAction() {
+ }
+
+ @Test
+ public void testGetAdLeads() {
+ }
+}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserActionTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserActionTest.java
new file mode 100644
index 000000000..3d18b1ebb
--- /dev/null
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/marketing/WxMpUserActionTest.java
@@ -0,0 +1,28 @@
+package me.chanjar.weixin.mp.bean.marketing;
+
+import com.google.common.collect.Lists;
+import org.testng.annotations.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * 老板加点注释吧.
+ *
+ * @author Binary Wang
+ * @date 2019-07-14
+ */
+public class WxMpUserActionTest {
+
+ @Test
+ public void testListToJson() {
+ assertThat(WxMpUserAction.listToJson(Lists.newArrayList(WxMpUserAction.builder()
+ .actionParam(1)
+ .actionTime(122)
+ .actionType("haha")
+ .clickId("111")
+ .url("1222")
+ .userActionSetId(111L)
+ .build()
+ ))).isEqualTo("{\"actions\":[{\"user_action_set_id\":111,\"url\":\"1222\",\"action_time\":122,\"action_type\":\"haha\",\"trace\":{\"click_id\":\"111\"},\"action_param\":{\"value\":1}}]}");
+ }
+}