feat:旷世接口对接

This commit is contained in:
dzc committed 2025-04-10 20:22:50 +08:00
1 parent 0388b83807
commit 61fe5a6b72
10 files changed
+309 -79

No files matched your search

@@ -13,21 +13,21 @@ public class KsBarcodeLikeDto {
/**
* 是否只查询标准库(默认false)
*/
private Boolean only_standard;
private Boolean only_standard = false;
/**
* 是否只查询非集合SKU(默认false)
*/
private Boolean only_single;
private Boolean only_single = false;
/**
* 当前页码,正整数,默认1
*/
private Integer page_num;
private Integer page_num = 1;
/**
* 分页大小,正整数,默认10,最大50
*/
private Integer page_size;
private Integer page_size = 50;
}
@@ -12,7 +12,7 @@ public class DoorBaseVo {
private String message;
private Object data;
private String data;
public boolean isSuccess() {
return ObjectUtil.equal(code, DoorBaseVo.successCode);
@@ -11,6 +11,7 @@ public class KsDiscernConfig {
private String baseUrl;
private String appId;
private String accessKey;
private String secretKey;
}
@@ -3,17 +3,16 @@ package com.bsd.pjcloud.thirdparty.controller.ks;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.security.annotation.Inner;
import com.bsd.pjcloud.thirdparty.dto.door.DoorRegisterDto;
import com.bsd.pjcloud.thirdparty.dto.ks.*;
import com.bsd.pjcloud.thirdparty.service.ThirdKsApiService;
import com.bsd.pjcloud.thirdparty.vo.door.DoorRegisterVo;
import com.bsd.pjcloud.thirdparty.vo.ks.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RequiredArgsConstructor
@@ -28,10 +27,73 @@ public class ThirdKsApiController {
@Inner
@Operation(summary = "常规SKU提交审核")
@PostMapping("/sku-submit")
public R<DoorRegisterVo> skuSubmit(@RequestBody DoorRegisterDto dto) {
public R<KsSkuSubmitVo> skuSubmit(@RequestBody KsSkuSubmitDto dto) {
return R.ok(thirdKsApiService.skuSubmit(dto));
}
@Inner
@Operation(summary = "集合SKU提交审核(未公开)")
@PostMapping("/sku-submit-collection")
public R<KsSkuSubmitCollectionVo> skuSubmitCollection(@RequestBody KsSkuSubmitCollectionDto dto) {
return R.ok(thirdKsApiService.skuSubmitCollection(dto));
}
@Inner
@Operation(summary = "SKU审核结果主动获取")
@PostMapping("/sku-result")
public R<KsSkuResultVo> skuResult(@RequestBody KsSkuResultDto dto) {
return R.ok(thirdKsApiService.skuResult(dto));
}
@Inner
@Operation(summary = "SKU审核结果主动获取")
@PostMapping("/sku-edit")
public R<KsSkuEditVo> skuEdit(@RequestBody KsSkuEditDto dto) {
return R.ok(thirdKsApiService.skuEdit(dto));
}
@Inner
@Operation(summary = "SKU审核结果主动获取")
@PostMapping("/sku-delete")
public R<KsSkuDeleteVo> skuDelete(@RequestBody KsSkuDeleteDto dto) {
return R.ok(thirdKsApiService.skuDelete(dto));
}
@Inner
@Operation(summary = "根据69码查询标准库和私有库商品信息")
@PostMapping("/barcode-sku")
public R<KsBarcodeSkuVo> barcodeSku(@RequestBody KsBarcodeSkuDto dto) {
return R.ok(thirdKsApiService.barcodeSku(dto));
}
@Inner
@Operation(summary = "根据ks_sku_id查询标准库和私有库商品信息")
@PostMapping("/barcode-sku-by-id")
public R<KsBarcodeSkuVo> barcodeSkuById(@RequestParam Long ksSkuId) {
return R.ok(thirdKsApiService.barcodeSkuId(ksSkuId));
}
@Inner
@Operation(summary = "模糊查询标准库和私有库商品信息")
@PostMapping("/barcode-sku-like")
public R<KsBarcodeLikeVo> barcodeSkuLike(@RequestBody KsBarcodeLikeDto dto) {
return R.ok(thirdKsApiService.barcodeSkuLike(dto));
}
@Inner
@Operation(summary = "SKU提交识别")
@PostMapping("/recognition")
public R<KsRecognitionVo> recognition(@RequestBody KsRecognitionDto dto) {
return R.ok(thirdKsApiService.recognition(dto));
}
@Inner
@Operation(summary = "SKU识别结果主动获取")
@PostMapping("/recognition_result")
public R<KsRecognitionResultVo> recognitionResult(@RequestBody KsRecognitionResultDto dto) {
return R.ok(thirdKsApiService.recognitionResult(dto));
}
/* ************************************* end 远程调用 end ************************************* */
@@ -2,8 +2,59 @@ package com.bsd.pjcloud.thirdparty.service;
import com.bsd.pjcloud.thirdparty.dto.door.DoorRegisterDto;
import com.bsd.pjcloud.thirdparty.dto.ks.*;
import com.bsd.pjcloud.thirdparty.vo.door.DoorRegisterVo;
import com.bsd.pjcloud.thirdparty.vo.ks.*;
public interface ThirdKsApiService {
DoorRegisterVo skuSubmit(DoorRegisterDto dto);
/**
* 常规SKU提交审核
*/
KsSkuSubmitVo skuSubmit(KsSkuSubmitDto dto);
/**
* 集合SKU提交审核(未公开)
*/
KsSkuSubmitCollectionVo skuSubmitCollection(KsSkuSubmitCollectionDto dto);
/**
* SKU审核结果主动获取
*/
KsSkuResultVo skuResult(KsSkuResultDto dto);
/**
* SKU审核结果主动获取
*/
KsSkuEditVo skuEdit(KsSkuEditDto dto);
/**
* SKU审核结果主动获取
*/
KsSkuDeleteVo skuDelete(KsSkuDeleteDto dto);
/**
* 根据69码查询标准库和私有库商品信息
*/
KsBarcodeSkuVo barcodeSku(KsBarcodeSkuDto dto);
/**
* 根据ks_sku_id查询标准库和私有库商品信息
*/
KsBarcodeSkuVo barcodeSkuId(Long ksSkuId);
/**
* 模糊查询标准库和私有库商品信息
*/
KsBarcodeLikeVo barcodeSkuLike(KsBarcodeLikeDto dto);
/**
* SKU提交识别
*/
KsRecognitionVo recognition(KsRecognitionDto dto);
/**
* SKU识别结果主动获取
*/
KsRecognitionResultVo recognitionResult(KsRecognitionResultDto dto);
}
@@ -37,23 +37,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorRegisterVo register(DoorRegisterDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.REGISTER.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.REGISTER.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorRegisterVo errorVo = new DoorRegisterVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorRegisterVo.class);
} catch (Exception e) {
String error = String.format("|%s||register|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -62,7 +62,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorRegisterVo.class);
}
/**
@@ -71,23 +71,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorBindVo bind(DoorBindDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.BIND.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.BIND.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorBindVo errorVo = new DoorBindVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorBindVo.class);
} catch (Exception e) {
String error = String.format("|%s||bind|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -96,7 +96,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorBindVo.class);
}
/**
@@ -105,23 +105,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorStatusVo status(DoorStatusDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.STATUS.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.STATUS.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorStatusVo errorVo = new DoorStatusVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorStatusVo.class);
} catch (Exception e) {
String error = String.format("|%s||status|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -130,7 +130,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorStatusVo.class);
}
/**
@@ -139,23 +139,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorRestartVo restart(DoorRestartDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.RESTART.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.RESTART.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorRestartVo errorVo = new DoorRestartVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorRestartVo.class);
} catch (Exception e) {
String error = String.format("|%s||restart|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -164,7 +164,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorRestartVo.class);
}
/**
@@ -173,23 +173,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorVolumeVo volume(DoorVolumeDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.VOLUME.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.VOLUME.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorVolumeVo errorVo = new DoorVolumeVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorVolumeVo.class);
} catch (Exception e) {
String error = String.format("|%s||volume|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -198,7 +198,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorVolumeVo.class);
}
/**
@@ -207,23 +207,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorOpenVo open(DoorOpenDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.OPEN.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.OPEN.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorOpenVo errorVo = new DoorOpenVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorOpenVo.class);
} catch (Exception e) {
String error = String.format("|%s||volume|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -232,7 +232,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorOpenVo.class);
}
/**
@@ -241,23 +241,23 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
@Override
public DoorVideoVo video(DoorVideoDto dto) {
long startTime = System.currentTimeMillis();
DoorApi.Api registerApi = DoorApi.VIDEO.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = registerApi.getInitLogEntity();
DoorBaseVo doorBaseVo = new DoorBaseVo();
DoorApi.Api api = DoorApi.VIDEO.setBaseUrl(doorConfig.getBaseUrl());
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = registerApi.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
DoorBaseVo doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
doorBaseVo = JSONUtil.toBean(res, DoorBaseVo.class);
if (!doorBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, registerApi, body);
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
DoorVideoVo errorVo = new DoorVideoVo();
errorVo.setMessage(doorBaseVo.getMessage());
return errorVo;
}
return JSONUtil.toBean(res, DoorVideoVo.class);
} catch (Exception e) {
String error = String.format("|%s||volume|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
@@ -266,7 +266,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(doorBaseVo.getData(), DoorVideoVo.class);
}
/**
@@ -1,8 +1,14 @@
package com.bsd.pjcloud.thirdparty.service.impl.ks;
import cn.hutool.json.JSONUtil;
import com.bsd.pjcloud.thirdparty.config.KsDiscernConfig;
import com.bsd.pjcloud.thirdparty.dto.door.DoorRegisterDto;
import com.bsd.pjcloud.thirdparty.dto.ks.*;
import com.bsd.pjcloud.thirdparty.service.ThirdKsApiService;
import com.bsd.pjcloud.thirdparty.utils.door.api.DoorApi;
import com.bsd.pjcloud.thirdparty.utils.ks.api.KsApi;
import com.bsd.pjcloud.thirdparty.vo.door.DoorRegisterVo;
import com.bsd.pjcloud.thirdparty.vo.ks.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -14,8 +20,96 @@ import org.springframework.validation.annotation.Validated;
@Slf4j
@RequiredArgsConstructor
public class ThirdKsApiServiceImpl implements ThirdKsApiService {
private final KsDiscernConfig ksDiscernConfig;
/**
* 常规SKU提交审核
*/
@Override
public DoorRegisterVo skuSubmit(DoorRegisterDto dto) {
public KsSkuSubmitVo skuSubmit(KsSkuSubmitDto dto) {
return null;
}
/**
* 集合SKU提交审核(未公开)
*/
@Override
public KsSkuSubmitCollectionVo skuSubmitCollection(KsSkuSubmitCollectionDto dto) {
return null;
}
/**
* SKU审核结果主动获取
*/
@Override
public KsSkuResultVo skuResult(KsSkuResultDto dto) {
return null;
}
/**
* SKU审核结果主动获取
*/
@Override
public KsSkuEditVo skuEdit(KsSkuEditDto dto) {
return null;
}
/**
* SKU审核结果主动获取
*/
@Override
public KsSkuDeleteVo skuDelete(KsSkuDeleteDto dto) {
return null;
}
/**
* 根据69码查询标准库和私有库商品信息
*/
@Override
public KsBarcodeSkuVo barcodeSku(KsBarcodeSkuDto dto) {
return null;
}
/**
* 根据ks_sku_id查询标准库和私有库商品信息
*/
@Override
public KsBarcodeSkuVo barcodeSkuId(Long ksSkuId) {
return null;
}
/**
* 模糊查询标准库和私有库商品信息
*/
@Override
public KsBarcodeLikeVo barcodeSkuLike(KsBarcodeLikeDto dto) {
long startTime = System.currentTimeMillis();
KsApi.Api api = KsApi.BARCODE_SKU_LIKE.setBaseUrl(ksDiscernConfig.getBaseUrl());
try {
String body = JSONUtil.toJsonStr(dto);
String res = api.getHttpRequest().body(body).execute().body();
} catch (Exception e) {
} finally {
}
return null;
}
/**
* SKU提交识别
*/
@Override
public KsRecognitionVo recognition(KsRecognitionDto dto) {
return null;
}
/**
* SKU识别结果主动获取
*/
@Override
public KsRecognitionResultVo recognitionResult(KsRecognitionResultDto dto) {
return null;
}
}
@@ -11,6 +11,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Map;
public class DoorApi {
// 设备注册
@@ -6,43 +6,48 @@ import cn.hutool.http.HttpRequest;
import com.bsd.pjcloud.thirdparty.constant.door.ThirdDoorApiTypeEnum;
import com.bsd.pjcloud.thirdparty.constant.door.ThordDoorApiTypeEnum;
import com.bsd.pjcloud.thirdparty.entity.door.ThirdDoorLogEntity;
import com.bsd.pjcloud.thirdparty.utils.door.api.DoorApi;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Map;
@Slf4j
public class KsApi {
// 常规SKU提交审核
public static final DoorApi.Api SKU_SUBMIT = DoorApi.Api.builder().url("/openapi/sc/v1/sku").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
public static final KsApi.Api SKU_SUBMIT = KsApi.Api.builder().url("/openapi/sc/v1/sku").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
// 集合SKU提交审核(未公开)
public static final DoorApi.Api SKU_SUBMIT_COLLECTION = DoorApi.Api.builder().url("/openapi/sc/v1/sku/collection").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
public static final KsApi.Api SKU_SUBMIT_COLLECTION = KsApi.Api.builder().url("/openapi/sc/v1/sku/collection").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
// SKU审核结果主动获取
public static final DoorApi.Api SKU_RESULT = DoorApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
public static final KsApi.Api SKU_RESULT = KsApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
// 常规SKU修改
public static final DoorApi.Api SKU_EDIT = DoorApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("patch").contentType("application/json").build();
public static final KsApi.Api SKU_EDIT = KsApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("patch").contentType("application/json").build();
// 常规SKU修改
public static final DoorApi.Api SKU_DELETE = DoorApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("delete").contentType("application/json").build();
public static final KsApi.Api SKU_DELETE = KsApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("delete").contentType("application/json").build();
// 根据69码查询标准库和私有库商品信息
public static final DoorApi.Api BARCODE_SKU = DoorApi.Api.builder().url("/openapi/sc/v1/sku/all_sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("get").contentType("application/json").build();
public static final KsApi.Api BARCODE_SKU = KsApi.Api.builder().url("/openapi/sc/v1/sku/all_sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("get").contentType("application/json").build();
// 根据ks_sku_id查询标准库和私有库商品信息
public static final DoorApi.Api BARCODE_SKU_BY_IDS = DoorApi.Api.builder().url("/openapi/sc/v1/sku/skus/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("get").contentType("application/json").build();
public static final KsApi.Api BARCODE_SKU_BY_ID = KsApi.Api.builder().url("/openapi/sc/v1/sku/skus/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("get").contentType("application/json").build();
// 模糊查询标准库和私有库商品信息
public static final DoorApi.Api BARCODE_SKU_LIKE = DoorApi.Api.builder().url("/openapi/sc/v1/sku/sku_list/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("get").contentType("application/json").build();
public static final KsApi.Api BARCODE_SKU_LIKE = KsApi.Api.builder().url("/openapi/sc/v1/sku/sku_list/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("get").contentType("application/json").build();
// SKU提交识别
public static final DoorApi.Api RECOGNITION = DoorApi.Api.builder().url("/openapi/sc/v1/recognition/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
public static final KsApi.Api RECOGNITION = KsApi.Api.builder().url("/openapi/sc/v1/recognition/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
// SKU识别结果主动获取
public static final DoorApi.Api RECOGNITION_RESULT = DoorApi.Api.builder().url("/openapi/sc/v1/recognition/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
public static final KsApi.Api RECOGNITION_RESULT = KsApi.Api.builder().url("/openapi/sc/v1/recognition/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("post").contentType("application/json").build();
@Data
@Builder
@@ -53,6 +58,8 @@ public class KsApi {
private String url;
private Map<String, Object> params;
private String method;
private String contentType;
@@ -66,15 +73,28 @@ public class KsApi {
return this;
}
public KsApi.Api setParams(Map<String, Object> params) {
this.params = params;
return this;
}
public HttpRequest getHttpRequest() {
String fullPatch = baseUrl + url;
if (ObjectUtil.isNotEmpty(params)) {
StringBuilder query = new StringBuilder();
for (Map.Entry<String, Object> entry : params.entrySet()) {
query.append(URLEncoder.encode(entry.getKey(), StandardCharsets.UTF_8)).append("=").append(URLEncoder.encode(String.valueOf(entry.getValue()), StandardCharsets.UTF_8));
}
fullPatch = fullPatch + "?" + query;
}
if (ObjectUtil.equals(method, "post")) {
return HttpRequest.post(baseUrl + url).contentType(contentType);
return HttpRequest.post(fullPatch).contentType(contentType);
} else if (ObjectUtil.equals(method, "get")) {
return HttpRequest.get(baseUrl + url).contentType(contentType);
return HttpRequest.get(fullPatch).contentType(contentType);
} else if (ObjectUtil.equals(method, "patch")) {
return HttpRequest.patch(baseUrl + url).contentType(contentType);
return HttpRequest.patch(fullPatch).contentType(contentType);
} else if (ObjectUtil.equals(method, "delete")) {
return HttpRequest.delete(baseUrl + url).contentType(contentType);
return HttpRequest.delete(fullPatch).contentType(contentType);
} else {
return null;
}
@@ -81,8 +81,8 @@ door:
# 旷世识别
ks-discern:
base-url: https://gwycport.zj.gov.cn
app-id:
#app
access-key: ed5A923eF0e941A1968eGTpF
secret-key: Ex3X0kgoc94sBOtivjWm5Vz9AyZTOUpl