1.增加时间日志,方便排查问题
This commit is contained in:
parent
7d8d4d293d
commit
0298014b9d
@ -36,18 +36,33 @@ public class RecognizeDrivingLicenseController extends BaseController {
|
|||||||
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
|
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
|
||||||
@PostMapping("/recognize")
|
@PostMapping("/recognize")
|
||||||
public R<Object> recognize(@RequestBody VehicleLicenseRequest request) {
|
public R<Object> recognize(@RequestBody VehicleLicenseRequest request) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
|
long t1 = System.currentTimeMillis();
|
||||||
BVehicleLicenseRequest bVehicleLicenseRequest = toBaiduRequest(request);
|
BVehicleLicenseRequest bVehicleLicenseRequest = toBaiduRequest(request);
|
||||||
String checkMsg = checkRequest(bVehicleLicenseRequest);
|
String checkMsg = checkRequest(bVehicleLicenseRequest);
|
||||||
if (!isBlank(checkMsg)) {
|
if (!isBlank(checkMsg)) {
|
||||||
return R.error(checkMsg);
|
return R.error(checkMsg);
|
||||||
}
|
}
|
||||||
|
log.info("行驶证识别-参数校验及构建请求耗时:{}ms", System.currentTimeMillis() - t1);
|
||||||
|
|
||||||
|
long t2 = System.currentTimeMillis();
|
||||||
Map<String, Object> data = requestBaidu(getContent(bVehicleLicenseRequest));
|
Map<String, Object> data = requestBaidu(getContent(bVehicleLicenseRequest));
|
||||||
|
long baiduCost = System.currentTimeMillis() - t2;
|
||||||
|
log.info("行驶证识别-调用百度OCR接口耗时:{}ms", baiduCost);
|
||||||
|
|
||||||
if (data == null) {
|
if (data == null) {
|
||||||
|
log.info("行驶证识别-识别失败, 耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
return R.error("行驶证识别失败");
|
return R.error("行驶证识别失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long t3 = System.currentTimeMillis();
|
||||||
R<Object> result = R.ok();
|
R<Object> result = R.ok();
|
||||||
return result.setData(toRecognizeResp(bVehicleLicenseRequest.getVehicleLicenseSide(), data));
|
result.setData(toRecognizeResp(bVehicleLicenseRequest.getVehicleLicenseSide(), data));
|
||||||
|
log.info("行驶证识别-结果映射耗时:{}ms", System.currentTimeMillis() - t3);
|
||||||
|
|
||||||
|
log.info("行驶证识别-总耗时:{}ms, 其中第三方(百度OCR):{}ms", System.currentTimeMillis() - start, baiduCost);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private BVehicleLicenseRequest toBaiduRequest(VehicleLicenseRequest request) {
|
private BVehicleLicenseRequest toBaiduRequest(VehicleLicenseRequest request) {
|
||||||
|
|||||||
@ -42,23 +42,34 @@ public class RecognizeLicensePlateController extends BaseController {
|
|||||||
|
|
||||||
@PostMapping("/recognize")
|
@PostMapping("/recognize")
|
||||||
public R recognize(@RequestBody LicensePlateRecognizeRequest request) {
|
public R recognize(@RequestBody LicensePlateRecognizeRequest request) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
if (request == null) {
|
if (request == null) {
|
||||||
return R.error("请求参数不能为空");
|
return R.error("请求参数不能为空");
|
||||||
}
|
}
|
||||||
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
|
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
|
||||||
return R.error("imageBase64和imageUrl不能同时为空");
|
return R.error("imageBase64和imageUrl不能同时为空");
|
||||||
}
|
}
|
||||||
|
log.info("车牌识别-参数校验耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
|
|
||||||
|
long t1 = System.currentTimeMillis();
|
||||||
BLicensePlateRequest bRequest = toBaiduRequest(request);
|
BLicensePlateRequest bRequest = toBaiduRequest(request);
|
||||||
|
log.info("车牌识别-构建百度请求耗时:{}ms", System.currentTimeMillis() - t1);
|
||||||
|
|
||||||
|
long t2 = System.currentTimeMillis();
|
||||||
ApiR<BLicensePlateResp> apiR = bLicensePlateHandle.handle(bRequest);
|
ApiR<BLicensePlateResp> apiR = bLicensePlateHandle.handle(bRequest);
|
||||||
|
long baiduCost = System.currentTimeMillis() - t2;
|
||||||
|
log.info("车牌识别-调用百度OCR接口耗时:{}ms", baiduCost);
|
||||||
|
|
||||||
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
|
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
|
||||||
return R.error(thirdError(apiR));
|
return R.error(thirdError(apiR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long t3 = System.currentTimeMillis();
|
||||||
BLicensePlateResp bResp = apiR.getData();
|
BLicensePlateResp bResp = apiR.getData();
|
||||||
List<BLicensePlateResp.WordsResultDTO> plates = bResp.getWordsResult();
|
List<BLicensePlateResp.WordsResultDTO> plates = bResp.getWordsResult();
|
||||||
if (CollectionUtils.isEmpty(plates)) {
|
if (CollectionUtils.isEmpty(plates)) {
|
||||||
|
log.info("车牌识别-未识别到车牌信息, 耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
return R.error("未识别到车牌信息");
|
return R.error("未识别到车牌信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +87,9 @@ public class RecognizeLicensePlateController extends BaseController {
|
|||||||
double avgConf = probabilities.stream().mapToDouble(Double::doubleValue).average().orElse(0.0);
|
double avgConf = probabilities.stream().mapToDouble(Double::doubleValue).average().orElse(0.0);
|
||||||
resp.setPlateTypeConfidence((float) avgConf);
|
resp.setPlateTypeConfidence((float) avgConf);
|
||||||
}
|
}
|
||||||
|
log.info("车牌识别-结果映射耗时:{}ms", System.currentTimeMillis() - t3);
|
||||||
|
|
||||||
|
log.info("车牌识别-总耗时:{}ms, 其中第三方(百度OCR):{}ms", System.currentTimeMillis() - start, baiduCost);
|
||||||
return R.ok().setData(resp);
|
return R.ok().setData(resp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -38,27 +38,42 @@ public class RecognizeTaxiInvoiceController extends BaseController {
|
|||||||
|
|
||||||
@PostMapping("/recognize")
|
@PostMapping("/recognize")
|
||||||
public R recognize(@RequestBody TaxiInvoiceRecognizeRequest request) {
|
public R recognize(@RequestBody TaxiInvoiceRecognizeRequest request) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
if (request == null) {
|
if (request == null) {
|
||||||
return R.error("请求参数不能为空");
|
return R.error("请求参数不能为空");
|
||||||
}
|
}
|
||||||
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
|
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
|
||||||
return R.error("imageBase64和imageUrl不能同时为空");
|
return R.error("imageBase64和imageUrl不能同时为空");
|
||||||
}
|
}
|
||||||
|
log.info("出租车发票识别-参数校验耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
|
|
||||||
|
long t1 = System.currentTimeMillis();
|
||||||
BTaxiReceiptRequest bRequest = toBaiduRequest(request);
|
BTaxiReceiptRequest bRequest = toBaiduRequest(request);
|
||||||
|
log.info("出租车发票识别-构建百度请求耗时:{}ms", System.currentTimeMillis() - t1);
|
||||||
|
|
||||||
|
long t2 = System.currentTimeMillis();
|
||||||
ApiR<BTaxiReceiptResp> apiR = bTaxiReceiptHandle.handle(bRequest);
|
ApiR<BTaxiReceiptResp> apiR = bTaxiReceiptHandle.handle(bRequest);
|
||||||
|
long baiduCost = System.currentTimeMillis() - t2;
|
||||||
|
log.info("出租车发票识别-调用百度OCR接口耗时:{}ms", baiduCost);
|
||||||
|
|
||||||
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
|
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
|
||||||
return R.error(thirdError(apiR));
|
return R.error(thirdError(apiR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long t3 = System.currentTimeMillis();
|
||||||
BTaxiReceiptResp bResp = apiR.getData();
|
BTaxiReceiptResp bResp = apiR.getData();
|
||||||
BTaxiReceiptResp.WordsResultDTO wordsResult = bResp.getWordsResult();
|
BTaxiReceiptResp.WordsResultDTO wordsResult = bResp.getWordsResult();
|
||||||
if (wordsResult == null) {
|
if (wordsResult == null) {
|
||||||
|
log.info("出租车发票识别-未识别到发票信息, 耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
return R.error("未识别到出租车发票信息");
|
return R.error("未识别到出租车发票信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
return R.ok().setData(toResp(wordsResult));
|
RecognizeTaxiInvoiceResp resp = toResp(wordsResult);
|
||||||
|
log.info("出租车发票识别-结果映射耗时:{}ms", System.currentTimeMillis() - t3);
|
||||||
|
|
||||||
|
log.info("出租车发票识别-总耗时:{}ms, 其中第三方(百度OCR):{}ms", System.currentTimeMillis() - start, baiduCost);
|
||||||
|
return R.ok().setData(resp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private BTaxiReceiptRequest toBaiduRequest(TaxiInvoiceRecognizeRequest request) {
|
private BTaxiReceiptRequest toBaiduRequest(TaxiInvoiceRecognizeRequest request) {
|
||||||
|
|||||||
@ -38,27 +38,42 @@ public class RecognizeTrainTicketController extends BaseController {
|
|||||||
|
|
||||||
@PostMapping("/recognize")
|
@PostMapping("/recognize")
|
||||||
public R recognize(@RequestBody TrainTicketRecognizeRequest request) {
|
public R recognize(@RequestBody TrainTicketRecognizeRequest request) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
if (request == null) {
|
if (request == null) {
|
||||||
return R.error("请求参数不能为空");
|
return R.error("请求参数不能为空");
|
||||||
}
|
}
|
||||||
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
|
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
|
||||||
return R.error("imageBase64和imageUrl不能同时为空");
|
return R.error("imageBase64和imageUrl不能同时为空");
|
||||||
}
|
}
|
||||||
|
log.info("火车票识别-参数校验耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
|
|
||||||
|
long t1 = System.currentTimeMillis();
|
||||||
BTrainTicketRequest bRequest = toBaiduRequest(request);
|
BTrainTicketRequest bRequest = toBaiduRequest(request);
|
||||||
|
log.info("火车票识别-构建百度请求耗时:{}ms", System.currentTimeMillis() - t1);
|
||||||
|
|
||||||
|
long t2 = System.currentTimeMillis();
|
||||||
ApiR<BTrainTicketResp> apiR = bTrainTicketHandle.handle(bRequest);
|
ApiR<BTrainTicketResp> apiR = bTrainTicketHandle.handle(bRequest);
|
||||||
|
long baiduCost = System.currentTimeMillis() - t2;
|
||||||
|
log.info("火车票识别-调用百度OCR接口耗时:{}ms", baiduCost);
|
||||||
|
|
||||||
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
|
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
|
||||||
return R.error(thirdError(apiR));
|
return R.error(thirdError(apiR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long t3 = System.currentTimeMillis();
|
||||||
BTrainTicketResp bResp = apiR.getData();
|
BTrainTicketResp bResp = apiR.getData();
|
||||||
BTrainTicketResp.WordsResultDTO wordsResult = bResp.getWordsResult();
|
BTrainTicketResp.WordsResultDTO wordsResult = bResp.getWordsResult();
|
||||||
if (wordsResult == null) {
|
if (wordsResult == null) {
|
||||||
|
log.info("火车票识别-未识别到火车票信息, 耗时:{}ms", System.currentTimeMillis() - start);
|
||||||
return R.error("未识别到火车票信息");
|
return R.error("未识别到火车票信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
return R.ok().setData(toResp(wordsResult));
|
RecognizeTrainTicketResp resp = toResp(wordsResult);
|
||||||
|
log.info("火车票识别-结果映射耗时:{}ms", System.currentTimeMillis() - t3);
|
||||||
|
|
||||||
|
log.info("火车票识别-总耗时:{}ms, 其中第三方(百度OCR):{}ms", System.currentTimeMillis() - start, baiduCost);
|
||||||
|
return R.ok().setData(resp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private BTrainTicketRequest toBaiduRequest(TrainTicketRecognizeRequest request) {
|
private BTrainTicketRequest toBaiduRequest(TrainTicketRecognizeRequest request) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user