【聚水潭SDK使用说明】

聚水潭SDK使用说明(只写了部分)。
聚水潭SDK下载地址:聚水潭sdk
gitee地址:gitee地址

1. 准备

在使用SDK之前,需要事先准备appKeyappSecretsignature

  • appKey:聚水潭应用的appKey
  • appSecret: 聚水潭应用的appSecret
  • signature: 授权回调验签是否开启,默认false

另外还需要注意以下的几个属性:

聚水潭开放平台测试环境:https://dev-api.jushuitan.com

聚水潭开放平台正式环境:https://openapi.jushuitan.com

开放平台沙箱数据:

  • app_key: b0b7d1db226d4216a3d58df9ffa2dde5
  • app_secret:99c4cef262f34ca882975a7064de0b87
  • access_token:b7e3b1e24e174593af8ca5c397e53dad

2. 使用

JSTService是所有API的入口,可以这样初始化

建议写到配置类中,示例如下:
@Configuration
public class config{
    
    @Bean
    public JSTService init(){
        JSTProperties properties = JSTProperties.builder()
            .serverUrl("https://dev-api.jushuitan.com")
            .appKey("b0b7d1db226d4216a3d58df9ffa2dde5")
            .appSecret("99c4cef262f34ca882975a7064de0b87")
            .build();
        return new JSTService(jstProperties);;
    }  
    
}

根据业务资源,API分为:

  • afterSale 售后API

  • allocate调拨API

  • auth 用于获取聚水潭授权地址

  • base 基础的API

  • express 物流API

  • inventory 用户管理库存

  • order 订单API

  • print 菜鸟电子面单云打印(待完善)

  • product 商品API

  • purchase 采购单API

  • sign 用于店铺授权回调的验证

  • stockIn 入库API

  • stockOut出库API

  • otherInOut 其他出入库API

  • supplier供应商API

  • token 用于获取用户的token

每个业务资源对应一组方法,例如,库存相关的 API,都可以在 .inventory() 找到。

举个例子,我们要获取商家授权地址,就可以这样写:

try {
    String state = "xxx";
    String url =  service.auth().authUrl(state);
} catch (Exception e) {
    e.printStackTrace();
}

对使用的 api 添加 try/catch ,如果使用的 api 没有抛出异常,代表请求成功,反之则请求失败,通过异常JSTException对象的 getCode()/getMessage() 拿到错误码以及错误描述。

2.1 auth

在初始化JSTService之后,我们首先要做的事情是获取聚水潭用户的授权。聚水潭用户只有授权之后,我们才能拿到token,拥有了token才能调用后续的接口。

调用示例:

try {
    String url = service.auth().authUrl();
} catch (Exception e) {
    e.printStackTrace();
}

或者

try {
    //state 自定义参数,在授权回调的时候会默认传过来
    String state = "xxx";
    String url = service.auth().authUrl(state);
} catch (Exception e) {
    e.printStackTrace();
}

这样我们就可以拿到店铺授权的url地址。

拿到授权地址之后,开发者还需要以下几个步骤需要操作:

  1. 先准备好一个授权回调接口,并把该接口地址配置到聚水潭开放平台中的回调地址中。

  2. 让公司的聚水潭账号管理者通过授权地址中展示的页面进行授权。

  3. 授权完成之后,聚水潭会通过授权回调接口,反馈授权码。

  4. 通过授权码,获取token

回调接口示例:

/**
 * 授权码有效期仅有15分钟,超时则需要重新生成授权链接,由商家重新授权。
 */
@ApiOperation("授权回调")
@ResponseBody
@RequestMapping(value = "/auth/callBack", method = RequestMethod.GET)
public Object callBackAuth(HttpServletRequest httpServletRequest){
    //app_key
    String app_key = httpServletRequest.getParameter("app_key");
    //授权码
    String code = httpServletRequest.getParameter("code");
    //自定义参数
    //获取授权地址时,如果有传递,回调时会一并传回来,如果没有,则忽略。
    String state = httpServletRequest.getParameter("state");
    //签名验证sign
    String sign = httpServletRequest.getParameter("sign");

    //验签
    //签名验证会在sign中详解
    VerifyRequest build = VerifyRequest.builder().appKey(app_key).code(code).sign(sign).state(state).build();
    boolean verify = service.sign().verify(build);
    if(!verify){
        //验签失败
        throw new JSTException(ExceptionEnum.USER_ERROR_A0341);
    }
    try {
        //获取token
        //token获取方法会在token中详解
        service.token().token(code);
    } catch (IOException e) {
        e.printStackTrace();
        //获取token失败的处理方式
        //...
    }
    //响应
    Map<String, Object> result = new HashMap<>();
    result.put("code", 0);
    result.put("msg", "success");
    return JSON.toJSON(result);
}

2.2 sign

聚水潭商家授权回调时签名验证相关的API。

调用示例:

//app_key
String appkey = "xxxxxx";

//授权码
String code = "xxxxxx";

//自定义参数
//获取授权地址时,如果有传递,回调时会一并传回来,如果没有,则忽略。
String state = "xxxxxx";

//签名验证sign
String sign = "xxxxxx";

VerifyRequest build = VerifyRequest.builder().appKey(appkey).code(code).sign(sign).state(state).build();
boolean verify = service.sign().verify(build);

其中的appkey,code,state,sign四个字段,聚水潭平台会通过授权回调接口传递到系统中。

而且验证签名时会根据初始化的JSTService中配置的signature属性的值来判断是否进行验证,默认是false,不验证。

2.3 token

获取token相关的API。

  • 获取token

    String code = "xxx";
    String token = service.token().token(code);
    

    获取的token会默认存放在本地缓存中。token的有效时间为30天,token到期之后会触发token的监听事件,自动执行刷新token的方法,获取新的token。

    从缓存中获取toekn的的方法如下:

    ResponseToken token = (ResponseToken) DefaultMemoryCacheOperator.instance().get(Constants.TOKEN);
    

    ResponseToken的结构如下:

    public class ResponseToken {
    
        /**
         * 访问令牌
         */
        private String accessToken;
    
        /**
         * access_token有效期【单位是秒】 2592000  30天
         */
        private Long expiresIn;
    
        /**
         * 更新令牌
         */
        private String refreshToken;
    
        /**
         * 固定值:all
         */
        private String scope;
    
    }
    
  • 刷新token

    String refreshToken = "";
    String refresh = service.token().refresh(refreshToken);
    

    通过refreshToken获取新的token,不需要商家在进行授权。

2.4 base

基础API

  • 店铺查询

    //nicks 店铺主账号,不支持模糊查询,非必填项,默认查所有
    ShopRequest build = ShopRequest.builder().nicks("老板").build();
    List<ShopResponse> shop = service.base().shop(build);
    
  • 仓库查询

    WmsRequest build = WmsRequest.builder().pageIndex(1).pageSize(30).build();
    List<WmsResponse> wms = service.base().wms(build);
    
  • 物流公司查询

    LogisticsRequest build = LogisticsRequest.builder().pageSize(100).build();
    List<LogisticsResponse> logistics = service.base().logistics(build);
    

2.5 inventory

库存相关API

  • 库存查询

    modifiedBegin: 修改开始时间

    modifiedEnd: 修改结束时间

    wmsCoId: 分仓公司编号,值不传或为0查询所有仓的总库存,其它为指定仓的库存

    skuIds: 商品编码,多个用逗号分隔,最多20,与修改时间不能同时为空

    InventoryQueryRequest build = InventoryQueryRequest.builder()
        .modifiedBegin("2021-12-02 00:00:06")
        .modifiedEnd("2021-12-09 00:00:06")
        .skuIds("JST20211111003ABC,100890")
        .wmsCoId(0)
        .build();
    
    List<InventoryQueryResponse> query = service.inventory().query(build);
    
  • 库存盘点查询

    modifiedBegin: 修改开始时间

    modifiedEnd: 修改结束时间

    ioIds: 指定盘点单号,多个用逗号分隔,最多50,和时间段不能同时为空

    status:状态;WaitConfirm:待确认,Confirmed:生效,Archive:归档,Cancelled:取消,Delete:作废

    InventoryCountRequest build = InventoryCountRequest.builder()
        .modifiedBegin("2021-12-02 00:00:00")
        .modifiedEnd("2021-12-09 00:00:00")
        .ioIds("3535290,3539256")
        .status(InventoryStatus.CONFIRMED)
        .build();
    
    List<InventoryCountResponse> count = service.inventory().count(build);
    
  • 新建盘点单

    • InventoryUploadRequest

      wmsCoId: 分仓公司ID

      type:盘点类型 :全量:check ;增量:adjust(默认adjust)

      isConfirm: 是否自动确认,默认false,增量同步时只能传true

    • Data

      soId: 外部单号,会在ERP判断重复,仅可用一次

      warehouse: 仓库;主仓=1,销退仓=2, 进货仓=3,次品仓 = 4

      remark: 备注

    • Item

      skuId: 商品编码

      qty: 数量

      batchId: 批次号;批次号存在批次信息和有效期必填

      producedDate: 批次日期

      expirationDate: 有效期

    Item item = Item.builder().qty(3).skuId("0101000101").build();
    List<Item> items = new ArrayList<>();
    items.add(item);
    
    Data data = Data.buider().soId("90871114901").warehouse(1).items(items).build();
    List<Data> datas = new ArrayList<>();
    datas.add(data);
    
    InventoryUploadRequest build = InventoryUploadRequest
        .builder()
        .wmsCoId(10158015)
        .type("check")
        .isConfirm(true)
        .datas(datas)
        .build();
    InventoryUploadResponse upload = service.inventory().upload(build);
    
内容概要:本文详细探讨了双馈风力发电机(DFIG)在Simulink环境下的建模方法及其在不同风速条件下的电流与电压波形特征。首先介绍了DFIG的基本原理,即定子直接接入电网,转子通过双向变流器连接电网的特点。接着阐述了Simulink模型的具体搭建步骤,包括风力机模型、传动系统模型、DFIG本体模型和变流器模型的建立。文中强调了变流器控制算法的重要性,特别是在应对风速变化时,通过实时调整转子侧的电压和电流,确保电流和电压波形的良好特性。此外,文章还讨论了模型中的关键技术和挑战,如转子电流环控制策略、低电压穿越性能、直流母线电压脉动等问题,并提供了具体的解决方案和技术细节。最终,通过对故障工况的仿真测试,验证了所建模型的有效性和优越性。 适用人群:从事风力发电研究的技术人员、高校相关专业师生、对电力电子控制系统感兴趣的工程技术人员。 使用场景及目标:适用于希望深入了解DFIG工作原理、掌握Simulink建模技能的研究人员;旨在帮助读者理解DFIG在不同风速条件下的动态响应机制,为优化风力发电系统的控制策略提供理论依据和技术支持。 其他说明:文章不仅提供了详细的理论解释,还附有大量Matlab/Simulink代码片段,便于读者进行实践操作。同时,针对一些常见问题给出了实用的调试技巧,有助于提高仿真的准确性和可靠性。
### 回答1: zmoyi 水潭SDK是一个提供给开发者的软件开发工具包,其主要目的是为了方便开发者在自己的应用中集成水潭(zmoyi)的服务和功能。水潭是一家领先的智能客服解决方案提供商,其语音识别、语音合成和自然语言处理等技术在客服行业得到广泛应用,能够大大提高客户服务效率和体验。 通过使用zmoyi水潭SDK,开发者可以轻松地引入实时语音转写、智能语音问答、自然语言处理等先进技术,为自己的应用增加全新的智能交互能力。同时,SDK提供了丰富的接口和文档,使得开发者可以自由地定制自己应用的交互方式和设计风格,满足不同用户的需求。 总之,使用zmoyi水潭SDK可以让开发者更加轻松、快捷地将水潭的技术与自己的应用相结合,为用户提供更加智能和高效的服务。 ### 回答2: zmoyi 水潭 SDK 是一款基于个性化推荐技术的数据分析和处理工具。它可以为企业提供精准的用户画像、实时数据分析和个性化推荐服务。该 SDK 集成简便,使用方便,开发者只需要按照文档指引进行配置即可集成到自己的应用中。同时,该 SDK 还支持多种平台和技术栈,可以适用于不同的企业和应用场景。使用SDK 可以帮助企业更好地了解用户行为、提升用户粘性和转化率,从而实现商业价值的最大化。此外,zmoyi 水潭 SDK 还有完善的技术支持和优质的服务,可以帮助企业解决各种技术问题,提高开发效率。总之,zmoyi 水潭 SDK 是一款功能强大、易用性高的数据处理和推荐引擎,是企业提升竞争力和创造商业价值的好帮手。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值