package com.yanzuoguang.wxxcx.ad.request; import com.alibaba.fastjson.TypeReference; import com.yanzuoguang.util.helper.HttpHelper; import com.yanzuoguang.util.helper.JsonHelper; import com.yanzuoguang.wxxcx.ad.req.WxUserActionDataReq; import com.yanzuoguang.wxxcx.ad.res.WxUserActionDataRes; import com.yanzuoguang.wxxcx.base.*; /*** * 回传广告数据 * * @author:heyanou */ public class WxUserActionDataRequest implements WxXcxRequestUrl, WxXcxRequestUrlPara, WxXcxRequestPostFormData { private final WxXcxConfig wxXcxConfig; private final WxXcxRequest wxXcxRequest; private final WxXcxAccessToken accessToken; private final WxUserActionDataReq req; public WxUserActionDataRequest(WxXcxConfig wxXcxConfig, WxXcxRequest wxXcxRequest, WxXcxAccessToken accessToken, WxUserActionDataReq 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.getAdUserActionDataUrl() + "?" + this.getUrlPara(); } /*** * <b>response返回结果集检测</b> * @return 返回类对象 */ public WxUserActionDataRes getResponse() { // todo: 检测参数是否合法 return this.wxXcxRequest.request(this, response -> { WxUserActionDataRes ret = JsonHelper.deserialize(response, new TypeReference<WxUserActionDataRes>() { }); WxXcxAssert.assertBaseError(ret); return ret; }); } }