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 c35a135c..d82a9e32 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 5f2ece51..27371ef8 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(Listactions) 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 69fced90..470ebae9 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 00000000..900453b6 --- /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 00000000..3d18b1eb --- /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}}]}"); + } +}