package com.huimv.video.dhicc.test.request.Person.Hn;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huimv.video.dhicc.test.config.OauthConfigBaseInfo;
import com.huimv.video.dhicc.test.config.OauthConfigBaseInfo02;
import com.huimv.video.dhicc.test.constant.Constant;
import com.huimv.video.dhicc.test.request.BaseRequest02;
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 ClientPersonDoorDetailRequestHn extends BaseRequest02<Object> {


    private String id;


    public ClientPersonDoorDetailRequestHn() {
    }

    public ClientPersonDoorDetailRequestHn(OauthConfigBaseInfo02 oauthConfigBaseInfo) {
        super(oauthConfigBaseInfo, Constant.HTTP_POST, oauthConfigBaseInfo.getHttpConfigInfo().getPrefixUrl() + Constant.CAR_PERSON_CARD_DETAIL, true);
    }

    @Override
    public Object doAction() {
        //重置url信息，替换版本号
        this.setUrl(UrlUtil.dealVersion(this.getUrl()));
        //设置请求参数
        this.setUrl(this.getUrl().replace("{id}", id));
        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);
        System.out.println(jsonObject);
        Object action = jsonObject.get("data");
        return action;
    }

    private void setBody() {
        //设置请求参数

        Map<String, Object> map = new HashMap<>();
        map.put("id", this.id);
        this.setBody(JSON.toJSONString(map));

    }


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