package com.yanzuoguang.wxxcx.cloudbase.getstatistics; import com.alibaba.fastjson.TypeReference; import com.yanzuoguang.util.helper.HttpHelper; import com.yanzuoguang.util.helper.JsonHelper; import com.yanzuoguang.wxxcx.base.*; /*** * @description:对该类的描述(该类的功能) * * @author:heyanou */ public class WxGetStatisticsDataRequest implements WxXcxRequestUrl, WxXcxRequestUrlPara, WxXcxRequestPostFormData { private final WxXcxConfig wxXcxConfig; private final WxXcxRequest wxXcxRequest; private final WxXcxAccessToken accessToken; private final WxGetStatisticsDataReq req; public WxGetStatisticsDataRequest(WxXcxConfig wxXcxConfig, WxXcxRequest wxXcxRequest, WxXcxAccessToken accessToken, WxGetStatisticsDataReq req) { this.wxXcxConfig = wxXcxConfig; this.wxXcxRequest = wxXcxRequest; this.accessToken = accessToken; this.req = req; } @Override public String getPost() { return HttpHelper.getUrlParameter(req); } @Override public String getUrlPara() { return HttpHelper.getUrlParameter(accessToken); } @Override public String getUrl() { return wxXcxConfig.getBaseUrl() + wxXcxConfig.getCloudbaseGetStatisticsDataUrl() + "?" + this.getUrlPara(); } /*** * <b>response返回结果集检测</b> * @return 返回类对象 */ public WxGetStatisticsDataRes getResponse() { // todo: 检测参数是否合法 return this.wxXcxRequest.request(this, response -> { WxGetStatisticsDataRes ret = JsonHelper.deserialize(response, new TypeReference<WxGetStatisticsDataRes>() { }); WxXcxAssert.assertBaseError(ret); return ret; }); } }