浏览代码

重构统计接口代码

master
BinaryWang 8 年前
父节点
当前提交
a1d5b3d0dc
共有 7 个文件被更改,包括 112 次插入63 次删除
  1. +17
    -54
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpDataCubeServiceImpl.java
  2. +15
    -1
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeArticleResult.java
  3. +14
    -2
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeArticleTotal.java
  4. +15
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeInterfaceResult.java
  5. +15
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeMsgResult.java
  6. +18
    -3
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeUserCumulate.java
  7. +18
    -3
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeUserSummary.java

+ 17
- 54
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpDataCubeServiceImpl.java 查看文件

@@ -9,8 +9,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;


import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpDataCubeService; import me.chanjar.weixin.mp.api.WxMpDataCubeService;
@@ -21,7 +19,6 @@ import me.chanjar.weixin.mp.bean.datacube.WxDataCubeInterfaceResult;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeMsgResult; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeMsgResult;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* Created by Binary Wang on 2016/8/23. * Created by Binary Wang on 2016/8/23.
@@ -48,9 +45,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeUserSummary>>() {
}.getType());
return WxDataCubeUserSummary.fromJson(responseContent);
} }


@Override @Override
@@ -61,9 +56,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeUserCumulate>>() {
}.getType());
return WxDataCubeUserCumulate.fromJson(responseContent);
} }


@Override @Override
@@ -74,9 +67,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleResult>>() {
}.getType());
return WxDataCubeArticleResult.fromJson(responseContent);
} }


@Override @Override
@@ -87,9 +78,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleTotal>>() {
}.getType());
return WxDataCubeArticleTotal.fromJson(responseContent);
} }


@Override @Override
@@ -100,9 +89,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleResult>>() {
}.getType());
return WxDataCubeArticleResult.fromJson(responseContent);
} }


@Override @Override
@@ -113,9 +100,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleResult>>() {
}.getType());
return WxDataCubeArticleResult.fromJson(responseContent);
} }


@Override @Override
@@ -126,9 +111,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleResult>>() {
}.getType());
return WxDataCubeArticleResult.fromJson(responseContent);
} }


@Override @Override
@@ -139,9 +122,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleResult>>() {
}.getType());
return WxDataCubeArticleResult.fromJson(responseContent);
} }


@Override @Override
@@ -153,9 +134,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -167,9 +146,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -181,9 +158,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -195,9 +170,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -209,9 +182,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -223,9 +194,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -237,9 +206,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
return WxDataCubeMsgResult.fromJson(responseContent);
} }


@Override @Override
@@ -251,9 +218,7 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeInterfaceResult>>() {
}.getType());
return WxDataCubeInterfaceResult.fromJson(responseContent);
} }


@Override @Override
@@ -265,8 +230,6 @@ public class WxMpDataCubeServiceImpl implements WxMpDataCubeService {
param.addProperty("end_date", this.dateFormat.format(endDate)); param.addProperty("end_date", this.dateFormat.format(endDate));
String responseContent = this.wxMpService.post(url, param.toString()); String responseContent = this.wxMpService.post(url, param.toString());
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent); this.log.debug("\nurl:{}\nparams:{}\nresponse:{}",url, param, responseContent);
return WxMpGsonBuilder.INSTANCE.create().fromJson(new JsonParser().parse(responseContent).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeInterfaceResult>>() {
}.getType());
return WxDataCubeInterfaceResult.fromJson(responseContent);
} }
} }

+ 15
- 1
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeArticleResult.java 查看文件

@@ -1,6 +1,12 @@
package me.chanjar.weixin.mp.bean.datacube; package me.chanjar.weixin.mp.bean.datacube;


import java.util.List;

import com.google.gson.JsonParser;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;

import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* 图文分析数据接口返回结果对象 * 图文分析数据接口返回结果对象
@@ -9,6 +15,8 @@ import com.google.gson.annotations.SerializedName;
*/ */
public class WxDataCubeArticleResult extends WxDataCubeBaseResult { public class WxDataCubeArticleResult extends WxDataCubeBaseResult {


private static final JsonParser JSON_PARSER = new JsonParser();

/** /**
* ref_hour * ref_hour
* 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时 * 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时
@@ -203,5 +211,11 @@ public class WxDataCubeArticleResult extends WxDataCubeBaseResult {
public void setUserSource(Integer userSource) { public void setUserSource(Integer userSource) {
this.userSource = userSource; this.userSource = userSource;
} }

public static List<WxDataCubeArticleResult> fromJson(String json) {
return WxMpGsonBuilder.INSTANCE.create().fromJson(
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleResult>>() {
}.getType());
}
} }

+ 14
- 2
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeArticleTotal.java 查看文件

@@ -1,8 +1,12 @@
package me.chanjar.weixin.mp.bean.datacube; package me.chanjar.weixin.mp.bean.datacube;


import java.util.List;

import com.google.gson.JsonParser;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;


import java.util.List;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* 图文分析数据接口返回结果对象 * 图文分析数据接口返回结果对象
@@ -11,6 +15,8 @@ import java.util.List;
*/ */
public class WxDataCubeArticleTotal extends WxDataCubeBaseResult { public class WxDataCubeArticleTotal extends WxDataCubeBaseResult {


private static final JsonParser JSON_PARSER = new JsonParser();

/** /**
* msgid * msgid
* 请注意:这里的msgid实际上是由msgid(图文消息id,这也就是群发接口调用后返回的msg_data_id)和index(消息次序索引)组成, 例如12003_3, 其中12003是msgid,即一次群发的消息的id; 3为index,假设该次群发的图文消息共5个文章(因为可能为多图文),3表示5个中的第3个 * 请注意:这里的msgid实际上是由msgid(图文消息id,这也就是群发接口调用后返回的msg_data_id)和index(消息次序索引)组成, 例如12003_3, 其中12003是msgid,即一次群发的消息的id; 3为index,假设该次群发的图文消息共5个文章(因为可能为多图文),3表示5个中的第3个
@@ -55,5 +61,11 @@ public class WxDataCubeArticleTotal extends WxDataCubeBaseResult {
public void setDetails(List<WxDataCubeArticleTotalDetail> details) { public void setDetails(List<WxDataCubeArticleTotalDetail> details) {
this.details = details; this.details = details;
} }

public static List<WxDataCubeArticleTotal> fromJson(String json) {
return WxMpGsonBuilder.INSTANCE.create().fromJson(
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeArticleTotal>>() {
}.getType());
}
} }

+ 15
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeInterfaceResult.java 查看文件

@@ -1,6 +1,12 @@
package me.chanjar.weixin.mp.bean.datacube; package me.chanjar.weixin.mp.bean.datacube;


import java.util.List;

import com.google.gson.JsonParser;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;

import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* 接口分析数据接口返回结果对象 * 接口分析数据接口返回结果对象
@@ -9,6 +15,8 @@ import com.google.gson.annotations.SerializedName;
*/ */
public class WxDataCubeInterfaceResult extends WxDataCubeBaseResult { public class WxDataCubeInterfaceResult extends WxDataCubeBaseResult {


private static final JsonParser JSON_PARSER = new JsonParser();

/** /**
* ref_hour * ref_hour
* 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时 * 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时
@@ -83,5 +91,12 @@ public class WxDataCubeInterfaceResult extends WxDataCubeBaseResult {
public void setMaxTimeCost(Integer maxTimeCost) { public void setMaxTimeCost(Integer maxTimeCost) {
this.maxTimeCost = maxTimeCost; this.maxTimeCost = maxTimeCost;
} }

public static List<WxDataCubeInterfaceResult> fromJson(String json) {
return WxMpGsonBuilder.INSTANCE.create().fromJson(
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeInterfaceResult>>() {
}.getType());
}
} }

+ 15
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeMsgResult.java 查看文件

@@ -1,6 +1,12 @@
package me.chanjar.weixin.mp.bean.datacube; package me.chanjar.weixin.mp.bean.datacube;


import java.util.List;

import com.google.gson.JsonParser;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;

import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* 消息分析数据接口返回结果对象 * 消息分析数据接口返回结果对象
@@ -9,6 +15,8 @@ import com.google.gson.annotations.SerializedName;
*/ */
public class WxDataCubeMsgResult extends WxDataCubeBaseResult { public class WxDataCubeMsgResult extends WxDataCubeBaseResult {


private static final JsonParser JSON_PARSER = new JsonParser();

/** /**
* ref_hour * ref_hour
* 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时 * 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时
@@ -114,4 +122,11 @@ public class WxDataCubeMsgResult extends WxDataCubeBaseResult {
this.oriPageReadUser = oriPageReadUser; this.oriPageReadUser = oriPageReadUser;
} }


public static List<WxDataCubeMsgResult> fromJson(String json) {
return WxMpGsonBuilder.INSTANCE.create().fromJson(
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeMsgResult>>() {
}.getType());
}

} }

+ 18
- 3
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeUserCumulate.java 查看文件

@@ -1,19 +1,27 @@
package me.chanjar.weixin.mp.bean.datacube; package me.chanjar.weixin.mp.bean.datacube;


import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;


import java.io.Serializable;
import java.util.Date;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;

import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* <pre> * <pre>
* 累计用户数据接口的返回JSON数据包 * 累计用户数据接口的返回JSON数据包
* http://mp.weixin.qq.com/wiki/3/ecfed6e1a0a03b5f35e5efac98e864b7.html
* 详情查看文档:<a href="http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141082&token=&lang=zh_CN">用户分析数据接口</a>
* </pre> * </pre>
*/ */
public class WxDataCubeUserCumulate implements Serializable { public class WxDataCubeUserCumulate implements Serializable {


private static final JsonParser JSON_PARSER = new JsonParser();

private static final long serialVersionUID = -3570981300225093657L; private static final long serialVersionUID = -3570981300225093657L;


private Date refDate; private Date refDate;
@@ -40,4 +48,11 @@ public class WxDataCubeUserCumulate implements Serializable {
public String toString() { public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
} }

public static List<WxDataCubeUserCumulate> fromJson(String json) {
return WxMpGsonBuilder.INSTANCE.create().fromJson(
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeUserCumulate>>() {
}.getType());
}
} }

+ 18
- 3
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/datacube/WxDataCubeUserSummary.java 查看文件

@@ -1,20 +1,28 @@
package me.chanjar.weixin.mp.bean.datacube; package me.chanjar.weixin.mp.bean.datacube;


import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;


import java.io.Serializable;
import java.util.Date;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;

import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;


/** /**
* <pre> * <pre>
* 用户增减数据接口的返回JSON数据包 * 用户增减数据接口的返回JSON数据包
* http://mp.weixin.qq.com/wiki/3/ecfed6e1a0a03b5f35e5efac98e864b7.html
* 详情查看文档:<a href="http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141082&token=&lang=zh_CN">用户分析数据接口</a>
* </pre> * </pre>
*/ */
public class WxDataCubeUserSummary implements Serializable { public class WxDataCubeUserSummary implements Serializable {
private static final long serialVersionUID = -2336654489906694173L; private static final long serialVersionUID = -2336654489906694173L;


private static final JsonParser JSON_PARSER = new JsonParser();

private Date refDate; private Date refDate;


private Integer userSource; private Integer userSource;
@@ -59,4 +67,11 @@ public class WxDataCubeUserSummary implements Serializable {
public String toString() { public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
} }

public static List<WxDataCubeUserSummary> fromJson(String json) {
return WxMpGsonBuilder.INSTANCE.create().fromJson(
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
new TypeToken<List<WxDataCubeUserSummary>>() {
}.getType());
}
} }

正在加载...
取消
保存