本文主要是对平台流程踩坑梳理,以及一些过程中难以理解的点,对现有教程中细节地方进行解释,可能有不够详细的地方,敬请谅解

环境工具说明:SpringBoot+IDEA

目录

1.SDK/Maven环境配置(卡点1)

1.1 SDK下载

1.2 依赖放入本地仓库(卡点2)

1.3 依赖核查

1.4 配置文件引入

2 接口调用测试(卡点3)

2.1 API说明文档下载

2.2 接口请求(卡点4)

2.3 成功返回


1.SDK/Maven环境配置(卡点1)

这个地方有个坑(可能只有我有,若官方可以无需替换),就是官方提供的依赖存在不兼容的情况,技术补发了一个新的wyaks-security-1.1.5-bc170.jar,需要将原有的wyaks-security-1.1.0.jar替换掉
所以这里我放上官方提供给修复后的完全SDK

1.1 SDK下载

夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。https://pan.quark.cn/s/cd6fc8b02975?pwd=UXg1

1.2 依赖放入本地仓库(卡点2)

因为官方不是线上maven,而是对应sdk的jar包,使用本地依赖缓存时候,可能会与你其他依赖冲突情况,所以需要使用mvn将jar包引入本地Maven仓库,而后再pom配置依赖,

具体pom页面内容
 

<!-- 本地lib依赖 -->
        <dependency>
            <groupId>com.jdd</groupId>
            <artifactId>jdd-api-domain</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.jdd</groupId>
            <artifactId>jdd-open-sdk</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.60</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
            <version>1.60</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>
        <dependency>
            <groupId>com.wyaks</groupId>
            <artifactId>wyaks-security</artifactId>
            <version>1.1.5</version>
        </dependency>

不会的兄弟可以直接问AI如何配置:告诉你下载好后的jar包路径,然后告诉他你要放入本地maven仓库,具体代码他会告诉你的,这里就不赘述了

需要安装好maven,才能使用mvn,注入本地maven仓库

1.3 依赖核查

也就是说运行打包后,一定要检查target/ROOT/WEB-INF/lib内是否含有对应的依赖,若不存在,请检查上面步骤

1.4 配置文件引入

京灵平台资料https://pan.quark.cn/s/cd6fc8b02975?pwd=UXg1

再我给的网盘中找到jdd_sdk_config.properties,官方的sdk也有提供,可以找一下
放到resources/jdd_sdk_config.properties,如下图

至此,配置工作已基本完成,先带大家快速过一遍,测试环境,成功后再去配置生成环境,防止中途异常因素过多,导致无法定位问题

2 接口调用测试(卡点3)

官方SDK说明文档涵盖很多api,sapi,hapi,smapi等等,其他情况我们不需要考虑,这里我只做分佣,所以不解释其中的含义了,只需要考虑smapi即可

2.1 API说明文档下载

去官网或者下面网盘中下载对应文档,已查看合同为例

2.2 接口请求(卡点4)

变量是需要全部携带过去的,还有一篇同类型文章,只携带requestData内容,可能是调用了其他路由下的接口,可以这样,但是smapi,我们必须携带全部参数,也就是需要手写请求体内全部参数
代码如下:

大家可以直接复制使用,因为这个是测试环境,应该是共用的,具体如何调用接口,大家看下面应该能非常清楚的,其他接口同理即可

@Test
    public void test02() throws Exception {
        JddClient jddClient = EsuSdkConfig.getJddClient();
        DemoRequest request = new DemoRequest();
        request.setSysId("a45c51dd7a384849bdeb1442f892bd1f");
        request.setRequestNo("112");
        request.setReqTime(request.getRequestTime());
        request.setToken("3050abf9b0b9458eb6a478bea6a3ac74");
        Map<String, String> map = new HashMap<>();
        map.put("certNo", "110101198901010001");
        request.setRequestData(map);
        System.out.println(request);
        HttpBizDemoResponse adaptResponse = jddClient.execute(request);
        System.out.println(JacksonUtils.toJson(adaptResponse));
    }

    @Data
    static class DemoRequest implements JddRequest<HttpBizDemoResponse> {

        private String sysId;
        private String requestNo;
        private String reqTime;
        private String token;
        private Map<String,String> requestData;

        @Override
        public String getApiMethod() {
            return "/smapi/v1/ffp-common/queryFreelancerInfoByCert";
        }

        @Override
        public String getJsonParams() {
            return JacksonUtils.toJson(this);
        }

        @Override
        public Class getResponseClass() {
            return HttpBizDemoResponse.class;
        }

        @Override
        public String getRequestTime() {
            return DateUtils.formatDate(new Date(), "yyyyMMddHHmmssSSS");
        }
    }

你也可以进入后台,获取你们自己的ID参数不知道是不是一样的

2.3 成功返回

返回结果展示

{"code":"00000","msg":"成功","respondTime":"1780458964419","headers":{"gw-encrypt-type":"3DES_RSA","jrgw-resp-code":"00000","jrgw-respond-time":"1780458964419","gw-sign":"pp5utdVgenO6TeOcGLp3jH002aP+WeGzz7RG9Y8SRiJFqfxH06/Ews8NZ9SRBOcFN50r0TkT1ohZokfSXEkB51UC4KnZmGKsOIBQ7vi7/sJR66/4ilS8466OyQPfdwjNqwzjdRVwHHn0uujpAPtLGX4KIBCW4/77hDuT8+dXemo0wgAqh6ugCxZi6a1PCXBtjo3zzxTci7mH0ARjjYNHT79CcqeHYB2i8sy/vjQarA6tHL+5meGVjs6YWeLbUcgO0k0sJwpHjSSn4xm2IesZI5rkonMPFaAAVJrxwTwTff89OepgrOXe8EU2h1WM2Fb/FmtJc8jR0XD6w0mBv1sMZQ==","jrgw-resp-env-key":"Eb780x4ed9HHObKkbva4ja1aS3vlAb9o09aSfXE0FtF0U4iqOftEwWg8D9ocvmtJ0lVFTnFXZeT7s8UGOlbMCry6T6K3DGfYRwEomMxf28qWoSpnkzsB9PfZdRTrY58jC1Wf15+uj4Os94K+ik2623qvtLCb+qJcphH0+PQlLAI=","jrgw-resp-msg":"%E6%88%90%E5%8A%9F","gw-sign-type":"SHA256withRSA"},"bizContent":"{\"msg\":\"成功\",\"responseNo\":\"112\",\"responseData\":{\"senseSignStatus\":0,\"status\":1,\"desc\":\"未查询到该灵工信息,请确认灵工身份证号是否有误\",\"faceAuthStatus\":0},\"code\":\"00000\",\"responseTime\":\"20260603115604\"}"}

至此,整套流程结束,后续就是配置生产环境,相信大家可以自行完成了,若有很多不清楚的,可以留言,我就再为大家完善一下,合同签订->对接分佣的整套生产环境的流程

更多推荐