提交修改
This commit is contained in:
parent
3e5ca3c649
commit
25b792b2fe
@ -3,7 +3,7 @@ package com.heyu.api.data.dto;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BaseRequest {
|
||||
public class BaseReq {
|
||||
/**
|
||||
* token
|
||||
*/
|
||||
@ -18,6 +18,8 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/DetectVideoLivingFace?tab=DOC&lang=JAVA
|
||||
*
|
||||
*
|
||||
* 视频活体检测
|
||||
*/
|
||||
@Component
|
||||
@ -36,11 +38,15 @@ public class ADetectVideoLivingFaceHandle extends AlibabaBaseHandle<ADetectVideo
|
||||
if (!flag) {
|
||||
return "videoSuffix不正确,请上传" + JSON.toJSONString(MimeTypeEnums.videoSuffixList) + "其中一种";
|
||||
}
|
||||
|
||||
|
||||
OssFileUploadService ossFileUploadService = SpringContextUtils.getBean(OssFileUploadService.class);
|
||||
if (StringUtils.isBlank(request.getImageUrl()) && StringUtils.isBlank(request.getImageBase64())) {
|
||||
log.info("ADetectVideoLivingFaceHandle url and body not null");
|
||||
return "url 或 base64 不能同时为空";
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(request.getImageBase64())) {
|
||||
try {
|
||||
String url = ossFileUploadService.uploadFileContentByBase64(request.getImageBase64(), request.getVideoSuffix());
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.heyu.api.alibaba.request;
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.alibaba.request.imageaudit;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@ -10,7 +10,7 @@ import java.util.List;
|
||||
* https://next.api.aliyun.com/api/imageaudit/2019-12-30/ScanText
|
||||
*/
|
||||
@Data
|
||||
public class AScanTextRequest extends BaseRequest {
|
||||
public class AScanTextRequest extends BaseReq {
|
||||
|
||||
/**
|
||||
* 场景
|
||||
|
||||
@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import com.heyu.api.data.constants.ApiConstants;
|
||||
import com.heyu.api.data.dto.AccountDTO;
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import com.heyu.api.data.dto.RequestLogDTO;
|
||||
import com.heyu.api.data.dto.TokenDTO;
|
||||
import com.heyu.api.data.service.bussiness.RedisSettingService;
|
||||
@ -120,8 +120,8 @@ public class LogAop {
|
||||
if (intercept) {
|
||||
Object[] argsList = point.getArgs();
|
||||
for (Object x : argsList) {
|
||||
if (x instanceof BaseRequest) {
|
||||
token = ((BaseRequest) x).getToken();
|
||||
if (x instanceof BaseReq) {
|
||||
token = ((BaseReq) x).getToken();
|
||||
if (StringUtils.isBlank(token)) {
|
||||
return R.error("token不能为null");
|
||||
}
|
||||
|
||||
@ -4,14 +4,11 @@ package com.heyu.api.controller.car;
|
||||
import com.aliyun.ocr20191230.models.RecognizeTaxiInvoiceResponse;
|
||||
import com.aliyun.ocr20191230.models.RecognizeTaxiInvoiceResponseBody;
|
||||
import com.heyu.api.alibaba.handle.common.text.ARecognizeTaxiInvoiceHandle;
|
||||
import com.heyu.api.alibaba.request.common.text.ARecognizeDrivingLicenseRequest;
|
||||
import com.heyu.api.alibaba.request.common.text.ARecognizeTaxiInvoiceRequest;
|
||||
import com.heyu.api.controller.BaseController;
|
||||
import com.heyu.api.data.annotation.NotIntercept;
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.utils.ApiR;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
@ -0,0 +1,82 @@
|
||||
package com.heyu.api.controller.video;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.DetectVideoLivingFaceResponse;
|
||||
import com.aliyun.facebody20191230.models.DetectVideoLivingFaceResponseBody;
|
||||
import com.google.protobuf.Api;
|
||||
import com.heyu.api.alibaba.handle.facebody.ADetectVideoLivingFaceHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.ADetectVideoLivingFaceRequest;
|
||||
import com.heyu.api.controller.BaseController;
|
||||
import com.heyu.api.data.annotation.CacheResult;
|
||||
import com.heyu.api.data.annotation.NotIntercept;
|
||||
import com.heyu.api.data.utils.ApiR;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.request.video.DetectVideoLivingFaceReq;
|
||||
import com.heyu.api.request.video.RecognizeVideoCharacterReq;
|
||||
import com.heyu.api.resp.video.DetectVideoLivingFaceResp;
|
||||
import com.lz.mybatis.plugins.interceptor.RestoreQueryDataScopeInterceptor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/DetectVideoLivingFace?tab=DEMO&lang=JAVA&RegionId=cn-shanghai
|
||||
*视频活体检测
|
||||
*
|
||||
* DetectVideoLivingFace
|
||||
*
|
||||
*
|
||||
*
|
||||
* 功能描述
|
||||
* 视频活体检测能力可以检测输入视频中的人脸来自直接拍摄还是翻拍。当视频中出现多个人脸时,对画面中面积最大的人脸进行判断,需要确保待检测人脸五官清晰可见。
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/video/living")
|
||||
@NotIntercept
|
||||
public class DetectVideoLivingFaceController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ADetectVideoLivingFaceHandle aDetectVideoLivingFaceHandle;
|
||||
|
||||
|
||||
@RequestMapping("/recognize")
|
||||
@CacheResult
|
||||
public R recognize(DetectVideoLivingFaceReq req) {
|
||||
|
||||
List<DetectVideoLivingFaceResp> resps = new ArrayList<>();
|
||||
|
||||
ADetectVideoLivingFaceRequest request = new ADetectVideoLivingFaceRequest();
|
||||
request.setImageUrl(req.getVideoURL());
|
||||
request.setImageBase64(req.getVideoBase64());
|
||||
request.setVideoSuffix(req.getVideoSuffix());
|
||||
|
||||
|
||||
ApiR<DetectVideoLivingFaceResponse> aR = aDetectVideoLivingFaceHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
List<DetectVideoLivingFaceResponseBody.DetectVideoLivingFaceResponseBodyDataElements> elements = aR.getData().getBody().getData().getElements();
|
||||
for (DetectVideoLivingFaceResponseBody.DetectVideoLivingFaceResponseBodyDataElements element : elements) {
|
||||
|
||||
DetectVideoLivingFaceResp detectVideoLivingFaceResp = new DetectVideoLivingFaceResp();
|
||||
detectVideoLivingFaceResp.setFaceConfidence(element.getFaceConfidence());
|
||||
detectVideoLivingFaceResp.setLiveConfidence(element.getLiveConfidence());
|
||||
|
||||
resps.add(detectVideoLivingFaceResp);
|
||||
|
||||
}
|
||||
return R.ok().setData(resps);
|
||||
}
|
||||
|
||||
return R.error();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,12 +1,12 @@
|
||||
package com.heyu.api.request;
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
@Data
|
||||
public class CommonReq extends BaseRequest {
|
||||
public class CommonReq extends BaseReq {
|
||||
/**
|
||||
* 图片的url
|
||||
*/
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.heyu.api.request.car;
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ import lombok.Data;
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class RecognizeDriverLicenseReq extends BaseRequest {
|
||||
public class RecognizeDriverLicenseReq extends BaseReq {
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.heyu.api.request.card;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusinessLicenseRecognizeRequest extends BaseRequest {
|
||||
public class BusinessLicenseRecognizeRequest extends BaseReq {
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.card;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
@ -12,7 +12,7 @@ import lombok.Data;
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class CharacterRecognizeRequest extends BaseRequest {
|
||||
public class CharacterRecognizeRequest extends BaseReq {
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.heyu.api.request.certificate;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ApiIdentityCardRequest extends BaseRequest {
|
||||
public class ApiIdentityCardRequest extends BaseReq {
|
||||
|
||||
/**
|
||||
* 图片的url
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.heyu.api.request.certificate;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BankCard2MetaRequest extends BaseRequest {
|
||||
public class BankCard2MetaRequest extends BaseReq {
|
||||
|
||||
/***
|
||||
* 银行卡号
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
/****
|
||||
@ -13,7 +13,7 @@ import lombok.Data;
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class CompareFaceReq extends BaseRequest {
|
||||
public class CompareFaceReq extends BaseReq {
|
||||
|
||||
/**
|
||||
* 图片的url
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
@ -14,7 +14,7 @@ import lombok.Data;
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class CompareFaceWithMaskReq extends BaseRequest {
|
||||
public class CompareFaceWithMaskReq extends BaseReq {
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DetectInfraredLivingFaceReq extends BaseRequest {
|
||||
public class DetectInfraredLivingFaceReq extends BaseReq {
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.file;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ import lombok.Data;
|
||||
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizePdf
|
||||
*/
|
||||
@Data
|
||||
public class RecognizePdfReq extends BaseRequest {
|
||||
public class RecognizePdfReq extends BaseReq {
|
||||
|
||||
|
||||
/***
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.mobile;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
@ -10,7 +10,7 @@ import lombok.Data;
|
||||
* 手机号二要素核验
|
||||
*/
|
||||
@Data
|
||||
public class Mobile2MetaVerificationRequest extends BaseRequest {
|
||||
public class Mobile2MetaVerificationRequest extends BaseReq {
|
||||
|
||||
|
||||
/***
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.mobile;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
@ -10,7 +10,7 @@ import lombok.Data;
|
||||
* 手机号三要素核验
|
||||
*/
|
||||
@Data
|
||||
public class Mobile3MetaVerificationRequest extends BaseRequest {
|
||||
public class Mobile3MetaVerificationRequest extends BaseReq {
|
||||
|
||||
/**
|
||||
* 请求订单编号
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
package com.heyu.api.request.video;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/DetectVideoLivingFace?tab=DEMO&lang=JAVA&RegionId=cn-shanghai
|
||||
*
|
||||
*视频活体检测
|
||||
*
|
||||
* DetectVideoLivingFace
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class DetectVideoLivingFaceReq extends BaseReq {
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* 视频 URL 地址。推荐使用上海地域的 OSS 链接,对于文件在本地或者非上海地域 OSS 链接的情况,请参见文件 URL 处理。
|
||||
*
|
||||
* 示例值:
|
||||
* http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/RecognizeVideoCharacter/xxxx.mp4
|
||||
*/
|
||||
private String videoURL;
|
||||
|
||||
|
||||
/**
|
||||
* 视频的base64
|
||||
*/
|
||||
private String videoBase64;
|
||||
|
||||
|
||||
/**
|
||||
* 如果是传的是base64 ,则需要加视频后端
|
||||
* <p>
|
||||
* MP4视频文件(mp4)
|
||||
* MPEG视频文件(mpeg, mpg)
|
||||
* OGG视频文件(ogv)
|
||||
* WebM视频文件(webm)
|
||||
* AVI视频文件(avi)
|
||||
*/
|
||||
private String videoSuffix;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,12 +1,11 @@
|
||||
package com.heyu.api.request.video;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import com.heyu.api.data.dto.BaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RecognizeVideoCharacterReq extends BaseRequest {
|
||||
public class RecognizeVideoCharacterReq extends BaseReq {
|
||||
|
||||
|
||||
/***
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.heyu.api.resp.tax;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@ -0,0 +1,31 @@
|
||||
package com.heyu.api.resp.video;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
import java.awt.datatransfer.FlavorEvent;
|
||||
|
||||
@Data
|
||||
public class DetectVideoLivingFaceResp extends BaseResp {
|
||||
|
||||
/***
|
||||
* 活体的置信度,取值范围为 0~1。
|
||||
*
|
||||
* 示例值:
|
||||
* 0.72464925050735474
|
||||
*/
|
||||
private Float liveConfidence;
|
||||
|
||||
|
||||
/***
|
||||
* 人脸的置信度,取值范围为 0~1。
|
||||
*
|
||||
* 示例值:
|
||||
* 0.84644949436187744
|
||||
*/
|
||||
private Float faceConfidence;
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user