feat:旷世接口对接
This commit is contained in:
1 parent
0388b83807
commit
61fe5a6b72
10 files changed
+309
-79
No files matched your search
+4
-4
@@ -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;
|
||||
|
||||
}
|
||||
+1
-1
@@ -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);
|
||||
|
||||
+2
-1
@@ -11,6 +11,7 @@ public class KsDiscernConfig {
|
||||
|
||||
private String baseUrl;
|
||||
|
||||
private String appId;
|
||||
private String accessKey;
|
||||
|
||||
private String secretKey;
|
||||
}
|
||||
+67
-5
@@ -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 ************************************* */
|
||||
|
||||
|
||||
|
||||
+52
-1
@@ -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);
|
||||
}
|
||||
+49
-49
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+95
-1
@@ -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;
|
||||
}
|
||||
}
|
||||
+2
@@ -11,6 +11,8 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class DoorApi {
|
||||
|
||||
// 设备注册
|
||||
|
||||
+35
-15
@@ -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;
|
||||
}
|
||||
|
||||
+2
-2
@@ -81,8 +81,8 @@ door:
|
||||
# 旷世识别
|
||||
ks-discern:
|
||||
base-url: https://gwycport.zj.gov.cn
|
||||
app-id:
|
||||
#app
|
||||
access-key: ed5A923eF0e941A1968eGTpF
|
||||
secret-key: Ex3X0kgoc94sBOtivjWm5Vz9AyZTOUpl
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user