feat:旷世接口定义

This commit is contained in:
dzc committed 2025-04-09 17:30:26 +08:00
1 parent 281c05e2c4
commit 7fedecc3bd
44 files changed
+1013 -25

No files matched your search

@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsBarcodeByIdsDto {
/**
* ${ks_sku_id}该字段为超级收银员平台的sku_id,是请求地址中的一部分
*/
private String ks_sku_id;
}
@@ -0,0 +1,33 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsBarcodeLikeDto {
/**
* 模糊查询条件,可根据商品名称、69码模糊查询
*/
private String search;
/**
* 是否只查询标准库(默认false)
*/
private Boolean only_standard;
/**
* 是否只查询非集合SKU(默认false)
*/
private Boolean only_single;
/**
* 当前页码,正整数,默认1
*/
private Integer page_num;
/**
* 分页大小,正整数,默认10,最大50
*/
private Integer page_size;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsBarcodeSkuDto {
/**
* 根据69码查询标准库和私有库商品信息
*/
private String barcode;
}
@@ -0,0 +1,70 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
import java.util.StringTokenizer;
@Data
public class KsRecognitionDto {
/**
* 做为双方系统交互的凭证ID,电商体系可以是订单ID等,由第三方系统保证ID唯一,最大长度32位
*/
private String recog_id;
/**
* 该字段为扩展参数,扩展参数有助于提高识别速度和识别精准度,建议传该字段值
* <p>
* origin_time(必选):
* 该时间的原始发生时间,比如识别请求发生在下单行为后,该字段可以为下单时间,即该事件发生的原始时间
* <p>
* sku_scope(必选):
* 该字段标明了当前识别请求所包含的SKU范围,如识别请求来源于货柜,则当前货柜的所有SKU可作为当前识别范围,sku_id为超级收银员平台的sku_id
* <p>
* floor_num(非必选):
* SKU所在的货架层数
*/
private String extra_params;
/**
* 货柜ID
*/
private String container_id;
/**
* 资源类型 :
* 1 资源URL,2资源ID
*/
private String resource_type;
/**
* 视频资源地址列表,如资源为使用方所属,请确保外部可以访问。视频格式暂时只支持MP4、AVI、webm格式,且编码格式为H.264
* <p>
* 需将主摄像头,即设备左上角或右上角的摄像头(开门那侧的最优),的url作为第一个链接
*/
private String resource_urls;
/**
* 资源信息列表,与resource_urls二选一。
* <p>
* resource_type=2时resource_id需设置值。
* <p>
* camera_id建议的命名方式:
* "层数"+
* "摄像头位于该层顶部(Top)还是底部(Bottom)"+
* "摄像头位于左侧(Left)中间(Middle)还是右侧(Right)"
* 如摄像头位于第一层顶部中间,建议camera_id命名为“01TM”
*/
private String resource_infos;
/**
* 回调地址
*/
private String notify_url;
/**
* 子商户号
*/
private String sub_mch_id;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsRecognitionResultDto {
/**
* 识别任务唯一ID,提交SKU识别时系统返回字段,作为资源ID传递,是请求地址中的一部分
*/
private String ks_recog_id;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsSkuDeleteDto {
/**
* 该字段为超级收银员平台的sku_id,提交SKU审核后由系统返回,作为资源ID传递,是请求地址中的一部分
*/
private String ks_sku_id;
}
@@ -0,0 +1,37 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsSkuEditDto {
/**
* 该字段为超级收银员平台的sku_id,提交SKU审核后由系统返回,作为资源ID传递,是请求地址中的一部分,不需要提交到form表单
*/
private String ks_sku_id;
/**
* 该字段为使用方系统sku_name,建议使用品牌名+商品名,如统一冰红茶
*/
private String sku_name;
/**
* 该字段为SKU所对应的69码,当商品为标品时该字段必填,非标品可不填
*/
private String barcode;
/**
* SKU图片仅在SKU因图片原因审核不通过的情况下支持修改,一旦SKU被审核通过,SKU图片将不再允许修改,如有相关需求,请重新申请SKU
*/
private String img_urls;
/**
* 审核结果回调地址
*/
private String notify_url;
/**
* 该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g
*/
private String specs;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsSkuResultDto {
/**
* 该字段为超级收银员平台的sku_id,提交SKU审核后由系统返回,作为资源ID传递,是请求地址中的一部分
*/
private String ks_sku_id;
}
@@ -0,0 +1,43 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsSkuSubmitCollectionDto {
/**
* 该字段为使用方系统sku_id
*/
private String sku_id;
/**
* 该字段为使用方系统sku_name,建议使用品牌名+商品名,如统一冰红茶
*/
private String sku_name;
/**
* 一张正面合拍图
*/
private String img_url;
/**
* 审核结果回调地址
*/
private String notify_url;
/**
* 一串要集合的SKU的ks_sku_id。
* <p>
* 可混合标准库及私有库的ks_sku_id。
* <p>
* 上限为10。
* <p>
* 这里的SKU在被集合时,审核状态可以是:
* 0:待审核
* 1:审核中
* 2:审核通过。
* <p>
* 但是,这里的SKU最终未被审核通过,集合SKU(母SKU)也不会被审核通过。
*/
private String ks_sku_id;
}
@@ -0,0 +1,37 @@
package com.bsd.pjcloud.thirdparty.dto.ks;
import lombok.Data;
@Data
public class KsSkuSubmitDto {
/**
* 该字段为使用方系统sku_id
*/
private String sku_id;
/**
* 该字段为使用方系统sku_name,建议使用品牌名+商品名,如统一冰红茶
*/
private String sku_name;
/**
* 该字段为SKU所对应的69码,当商品为标品时该字段必填,非标品可不填
*/
private String barcode;
/**
* 该字段为SKU不同方位视图,所需拍摄的图片数量及角度请参考商品建模文档,参数具体值为图片资源地址,如资源为使用方所属,请确保外部可以访问,请注意图片尺寸及质量,综合质量不佳可能会导致审核不通过。图片尺寸不小于1920*1080,压缩质量不低于70%,长宽比介于16:9同1:1之间。
*/
private String img_urls;
/**
* 审核结果回调地址
*/
private String notify_url;
/**
* 该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g
*/
private String specs;
}
@@ -0,0 +1,15 @@
package com.bsd.pjcloud.thirdparty.vo.door;
import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
@Data
public class DoorBaseInnerVo {
private String message;
public boolean isSuccess() {
return ObjectUtil.isEmpty(message);
}
}
@@ -3,7 +3,7 @@ package com.bsd.pjcloud.thirdparty.vo.door;
import lombok.Data;
@Data
public class DoorBindVo {
public class DoorBindVo extends DoorBaseInnerVo {
/**
* 设备编号
@@ -3,7 +3,7 @@ package com.bsd.pjcloud.thirdparty.vo.door;
import lombok.Data;
@Data
public class DoorOpenVo {
public class DoorOpenVo extends DoorBaseInnerVo {
/**
* 开门事件号
@@ -3,7 +3,7 @@ package com.bsd.pjcloud.thirdparty.vo.door;
import lombok.Data;
@Data
public class DoorRegisterVo {
public class DoorRegisterVo extends DoorBaseInnerVo {
/**
* 设备编号
*/
@@ -3,6 +3,6 @@ package com.bsd.pjcloud.thirdparty.vo.door;
import lombok.Data;
@Data
public class DoorRestartVo {
public class DoorRestartVo extends DoorBaseInnerVo {
}
@@ -7,7 +7,7 @@ import java.util.List;
@Data
public class DoorStatusVo {
public class DoorStatusVo extends DoorBaseInnerVo {
/**
@@ -4,5 +4,5 @@ import lombok.Data;
@Data
public class DoorVideoVo {
public class DoorVideoVo extends DoorBaseInnerVo {
}
@@ -3,5 +3,5 @@ package com.bsd.pjcloud.thirdparty.vo.door;
import lombok.Data;
@Data
public class DoorVolumeVo {
public class DoorVolumeVo extends DoorBaseInnerVo {
}
@@ -0,0 +1,61 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsBarcodeByIdsVo {
/**
* 该字段为超级收银员平台的商品ID
*/
private String ks_sku_id;
/**
* 商品69码,集合SKU无返回
*/
private String barcode;
/**
* 商品名称
*/
private String sku_name;
/**
* 业务方sku_id
*/
private String sku_id;
/**
* 商品包装图片列表,用于供无人零售柜运营方确认商品包装是否同拟售卖商品一致。因69码并非包装的唯一ID,同一69码会出现包装不一致的情况。所以该确认过程非常重要。
*/
private String img_urls;
/**
* 商品封图300*300
*/
private String cover;
/**
* SKU类型:
* 0:标准库
* 1:私有库
*/
private String sku_type;
/**
* 该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g
*/
private String specs;
/**
* 是否集合SKU
*/
private String has_sub_sku;
/**
* 集合SKU的子SKU信息,
* 子SKU更多详情可以通过4.1.8接口根据ks_sku_id查询。
*/
private String sub_sku;
}
@@ -0,0 +1,7 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsBarcodeLikeVo {
}
@@ -0,0 +1,61 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsBarcodeSkuVo {
/**
* 该字段为超级收银员平台的商品ID
*/
private String ks_sku_id;
/**
* 商品69码,集合SKU无返回
*/
private String barcode;
/**
* 商品名称
*/
private String sku_name;
/**
* 业务方sku_id
*/
private String sku_id;
/**
* 商品包装图片列表,用于供无人零售柜运营方确认商品包装是否同拟售卖商品一致。因69码并非包装的唯一ID,同一69码会出现包装不一致的情况。所以该确认过程非常重要。
*/
private String img_urls;
/**
* 商品封图300*300
*/
private String cover;
/**
* SKU类型:
* 0:标准库
* 1:私有库
*/
private String sku_type;
/**
* 该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g
*/
private String specs;
/**
* 是否集合SKU
*/
private String has_sub_sku;
/**
* 集合SKU的子SKU信息,
* 子SKU更多详情可以通过4.1.8接口根据ks_sku_id查询。
*/
private String sub_sku;
}
@@ -0,0 +1,60 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsRecognitionResultVo {
/**
* 该字段用于表示识别任务进行到了哪个阶段,返回结果为字典值,不同code代表不同结果
* <p>
* 1:识别进行中
* <p>
* 2:识别完成(已生成识别结果,但未经过人工二次复核,如业务方对此识别结果不认同,还可通过售后识别接口发起一次售后识别)
* <p>
* 3:二次验证中(业务方对识别结果不认同,通过售后识别接口发起售后识别,人工二次验证中)
* <p>
* 4:自动二次验证中(已生成识别结果,但由于识别结果为失败或告警,为谨慎返回失败或告警的结果,人工二次验证中)
* <p>
* 5:识别完成(已生成识别结果,且已经过人工二次复核,此时的结果为最终结果,不可再通过售后识别接口发起售后识别)
* <p>
* 注意:2和5的区别为,当结果为2时,可通过售后识别接口发起售后识别,当结果为5时,不可再通过售后识别接口发起售后识别
*/
private String state;
/**
* 该字段为识别结果
* <p>
* status:
* <p>
* 1:识别中
* <p>
* 2:成功
* <p>
* 3:成功:未拿商品
* <p>
* 4:失败:无法识别
* <p>
* 6:告警:故意遮挡
* <p>
* 7:告警:柜中无此SKU
* <p>
* 8:告警:其他告警
* <p>
* 9:告警:异物拿放
* <p>
* 10:告警:疑似设备故障
* <p>
* result
* :只有status:code值为2是该字段才返回
* <p>
* ks_sku_id:识别到的sku_id(超级收银员平台的sku_id)
* <p>
* sku_num:识别到的sku数量
* <p>
* comments
* :标注备注信息
*/
private String result;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsRecognitionVo {
/**
* 识别任务唯一ID,用于结果获取、重新发起售后识别
*/
private String ks_recog_id;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsSkuDeleteVo {
/**
* 该sku_id为使用方sku_id
*/
private String sku_id;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsSkuEditVo {
/**
* 该sku_id为使用方sku_id
*/
private String sku_id;
}
@@ -0,0 +1,26 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsSkuResultVo {
/**
* 该字段返回结果为字典值,不同code代表不同结果
* <p>
* 0:待审核
* <p>
* 1:审核中
* <p>
* 2:审核通过
* <p>
* 3:审核不通过
*/
private String result;
/**
* 审核不通过时该字段才有值
*/
private String comments;
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsSkuSubmitCollectionVo {
/**
* 集合SKU的ks_sku_id,该字段为超级收银员平台的sku_id,后续SKU管理域所有请求都需要以该字段作为参数
*/
private String ks_sku_id;
}
@@ -0,0 +1,10 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsSkuSubmitVo {
private String ks_sku_id;
}