package com.ifpdos.udi.sdk.service.doc.base.democode;

import com.ifpdos.udi.sdk.service.doc.base.ApiInfo;
import com.ifpdos.udi.sdk.service.doc.base.ClassParser;
import com.ifpdos.udi.sdk.service.doc.base.Notify;
import com.ifpdos.udi.sdk.service.doc.base.Request;
import com.ifpdos.udi.sdk.service.doc.base.Uri;
import d.b.a.a.a;
import d.e.a.f;
import g.c0.g;
import g.h0.c.l;
import g.i;
import g.k;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.net.URLEncoder;
import java.util.LinkedHashMap;
import java.util.Map;

/* JADX INFO: compiled from: ShellCodeGenerator.kt */
/* JADX INFO: loaded from: classes.dex */
@i
public final class ShellCodeGenerator extends DemoCodeGenerator {
    private final String GET_DEMO_CODE_TEMPLATE;
    private final String NOTIFY_DEMO_CODE_TEMPLATE;
    private final String POST_DEMO_CODE_TEMPLATE;
    private final String udtUrl;

    public ShellCodeGenerator(String str) {
        l.f(str, "icon");
        this.POST_DEMO_CODE_TEMPLATE = a.q("\n```shell\nPOST {{&url}}\n\n{{&requestJson}}\n```\n\n```shell\nstatus:{{space}}200\n{{#responseJson}}\n\n{{&.}}\n{{/responseJson}}\n```\n\n<!-- ONLINE BEGIN -->\n<a href=\"{{&testLink}}\" target=\"_blank\">", str, " 在 UDT 中尝试一下</a>\n<!-- ONLINE END -->\n");
        this.GET_DEMO_CODE_TEMPLATE = a.q("\n```shell\nGET {{&url}} \n```\n\n```shell\nstatus:{{space}}200\n{{#responseJson}}\n\n{{&.}}\n{{/responseJson}}\n```\n\n<!-- ONLINE BEGIN -->\n<a href=\"{{&testLink}}\" target=\"_blank\">", str, " 在 UDT 中尝试一下</a>\n<!-- ONLINE END -->\n");
        this.NOTIFY_DEMO_CODE_TEMPLATE = a.q("\n```shell\nevent: {{&url}}\ndata: {{&notifyJson}}\n```\n\n<!-- ONLINE BEGIN -->\n<a href=\"{{&testLink}}\" target=\"_blank\">", str, " 在 UDT 中尝试一下</a>\n<!-- ONLINE END -->\n");
        this.udtUrl = "udt.test.seewo.com";
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.democode.DemoCodeGenerator
    public String genGetRequestDemo(ApiInfo apiInfo, ClassParser classParser) throws IOException {
        l.f(apiInfo, "info");
        l.f(classParser, "classParser");
        Request getterRequest = apiInfo.getGetterRequest();
        if (getterRequest == null) {
            throw new RuntimeException(apiInfo.getUri() + " has not getter");
        }
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        String strGenDemoJson = genDemoJson(apiInfo.getUri(), getterRequest.getRequestClass(), linkedHashMap, classParser, false);
        String strGenDemoJson2 = genDemoJson(apiInfo.getUri(), getterRequest.getResponseClass(), linkedHashMap, classParser, true);
        String strGenDemoUrl = genDemoUrl(apiInfo.getUri(), linkedHashMap, getterRequest.getRequestClass(), classParser);
        String strQ = a.q("{\"method\":\"GET\",\"url\":\"", strGenDemoUrl, "\"}");
        StringBuilder sbB = a.B("http://");
        sbB.append(this.udtUrl);
        sbB.append("?api=");
        sbB.append(URLEncoder.encode(strQ, "utf-8"));
        Map mapV = g.v(new k("url", strGenDemoUrl), new k("testLink", sbB.toString()), new k("requestJson", strGenDemoJson), new k("responseJson", strGenDemoJson2), new k("space", " "));
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream);
        new f().a(new StringReader(this.GET_DEMO_CODE_TEMPLATE), "code").g(outputStreamWriter, mapV);
        outputStreamWriter.flush();
        String string = byteArrayOutputStream.toString();
        l.e(string, "out.toString()");
        return string;
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.democode.DemoCodeGenerator
    public String genNotifyRegisterDemo(ApiInfo apiInfo, ClassParser classParser) throws IOException {
        l.f(apiInfo, "info");
        l.f(classParser, "classParser");
        String str = "{\"method\":\"LISTEN\",\"url\":\"" + apiInfo.getUri() + "\"}";
        StringBuilder sbB = a.B("http://");
        sbB.append(this.udtUrl);
        sbB.append("?api=");
        sbB.append(URLEncoder.encode(str, "utf-8"));
        String string = sbB.toString();
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        Request getterRequest = apiInfo.getGetterRequest();
        if (getterRequest != null) {
            genDemoJson(apiInfo.getUri(), getterRequest.getRequestClass(), linkedHashMap, classParser, false);
        }
        Request setterRequest = apiInfo.getSetterRequest();
        if (setterRequest != null) {
            genDemoJson(apiInfo.getUri(), setterRequest.getRequestClass(), linkedHashMap, classParser, false);
        }
        Uri uri = apiInfo.getUri();
        Notify notify = apiInfo.getNotify();
        l.c(notify);
        String strGenDemoJson = genDemoJson(uri, notify.getNotifyClass(), linkedHashMap, classParser, false);
        Map mapV = g.v(new k("url", genDemoUrl(new Uri(apiInfo.getUri().getPath()), linkedHashMap, apiInfo.getNotify().getNotifyClass(), classParser)), new k("testLink", string), new k("notifyJson", strGenDemoJson != null ? g.m0.f.A(g.m0.f.A(g.m0.f.A(strGenDemoJson, "\n", " ", false, 4), ": ", ":", false, 4), "\t", "", false, 4) : "{}"), new k("space", " "));
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream);
        new f().a(new StringReader(this.NOTIFY_DEMO_CODE_TEMPLATE), "code").g(outputStreamWriter, mapV);
        outputStreamWriter.flush();
        String string2 = byteArrayOutputStream.toString();
        l.e(string2, "out.toString()");
        return string2;
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.democode.DemoCodeGenerator
    public String genPostRequestDemo(ApiInfo apiInfo, ClassParser classParser) throws IOException {
        l.f(apiInfo, "info");
        l.f(classParser, "classParser");
        Request setterRequest = apiInfo.getSetterRequest();
        if (setterRequest == null) {
            throw new RuntimeException(apiInfo.getUri() + " has not setter");
        }
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        String strGenDemoJson = genDemoJson(apiInfo.getUri(), setterRequest.getRequestClass(), linkedHashMap, classParser, false);
        String strGenDemoJson2 = genDemoJson(apiInfo.getUri(), setterRequest.getResponseClass(), linkedHashMap, classParser, true);
        String strGenDemoUrl = genDemoUrl(apiInfo.getUri(), linkedHashMap, setterRequest.getRequestClass(), classParser);
        String str = "{\"method\":\"POST\",\"url\":\"" + strGenDemoUrl + "\",\"body\":\"" + (strGenDemoJson != null ? g.m0.f.A(g.m0.f.A(g.m0.f.A(strGenDemoJson, "\"", "\\\"", false, 4), "\n", "\\n", false, 4), "\t", "\\t", false, 4) : null) + "\"}";
        StringBuilder sbB = a.B("http://");
        sbB.append(this.udtUrl);
        sbB.append("?api=");
        sbB.append(URLEncoder.encode(str, "utf-8"));
        Map mapV = g.v(new k("url", strGenDemoUrl), new k("testLink", sbB.toString()), new k("requestJson", strGenDemoJson), new k("responseJson", strGenDemoJson2), new k("space", " "));
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream);
        new f().a(new StringReader(this.POST_DEMO_CODE_TEMPLATE), "code").g(outputStreamWriter, mapV);
        outputStreamWriter.flush();
        String string = byteArrayOutputStream.toString();
        l.e(string, "out.toString()");
        return string;
    }
}
