package com.huimv.video.dhicc.test.request.screenRequest.sg;

import com.alibaba.fastjson.JSON;
import com.huimv.video.dhicc.test.config.OauthConfigBaseInfo;
import com.huimv.video.dhicc.test.constant.Constant;
import com.huimv.video.dhicc.test.request.BaseRequest;
import com.huimv.video.dhicc.test.utils.HttpURLConnectionUtil;
import com.huimv.video.dhicc.test.utils.HttpsURLConnectionUtil;
import com.huimv.video.dhicc.test.utils.UrlUtil;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

@Data
public class ClientCombinedCountRequestSg extends BaseRequest<Object> {


    private String startSwingTime;

    private String endSwingTime;
    private String containDomain;
    private Integer openResult;
    private Integer openType;
//    private String method;
//
//    private Map<String,Object> data;
private void setBody() {
    //设置请求参数
    Map<String, Object> map = new HashMap<>();
    map.put("startSwingTime", this.startSwingTime);
    map.put("endSwingTime", this.endSwingTime);
    map.put("containDomain", this.containDomain);
    map.put("openResult", this.openResult);
    map.put("openType", this.openType);
//        map.put("method", this.method);
//        map.put("data", this.data);
    this.setBody(JSON.toJSONString(map));

}


    public ClientCombinedCountRequestSg() {
    }

    public ClientCombinedCountRequestSg(OauthConfigBaseInfo oauthConfigBaseInfo) {
        super(oauthConfigBaseInfo, Constant.HTTP_POST, oauthConfigBaseInfo.getHttpConfigInfo().getPrefixUrl() + Constant.COMBINED_COUNT, true);
    }

    @Override
    public String  doAction() {
        //重置url信息，替换版本号
        this.setUrl(UrlUtil.dealVersion(this.getUrl()));
        //设置请求参数
        setBody();
        //发送请求
        String res = isEnableHttpTest() ? HttpURLConnectionUtil.doPost(this.getUrl(), this.getBody(), this.getHeader()) : HttpsURLConnectionUtil.doPost(this.getUrl(), this.getBody(), this.getHeader());
        System.out.println(res);
        //获取响应
//        JSONObject jsonObject = JSONObject.parseObject(res);
//        Object data = jsonObject.get("data");
//        GeneralResponse devicePageResponse = JSON.parseObject(res, GeneralResponse.class);
//        System.out.println(data);
        return res;
    }



    public boolean isEnableHttpTest() {
        return super.getOauthConfigBaseInfo().getHttpConfigInfo().isEnableHttpTest();
    }
}
