1.增加时间日志,方便排查问题

This commit is contained in:
jiangtd 2026-05-19 17:35:34 +08:00
parent 7d8d4d293d
commit 0298014b9d
4 changed files with 61 additions and 3 deletions

View File

@ -36,18 +36,33 @@ public class RecognizeDrivingLicenseController extends BaseController {
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
@PostMapping("/recognize")
public R<Object> recognize(@RequestBody VehicleLicenseRequest request) {
long start = System.currentTimeMillis();
long t1 = System.currentTimeMillis();
BVehicleLicenseRequest bVehicleLicenseRequest = toBaiduRequest(request);
String checkMsg = checkRequest(bVehicleLicenseRequest);
if (!isBlank(checkMsg)) {
return R.error(checkMsg);
}
log.info("行驶证识别-参数校验及构建请求耗时:{}ms", System.currentTimeMillis() - t1);
long t2 = System.currentTimeMillis();
Map<String, Object> data = requestBaidu(getContent(bVehicleLicenseRequest));
long baiduCost = System.currentTimeMillis() - t2;
log.info("行驶证识别-调用百度OCR接口耗时:{}ms", baiduCost);
if (data == null) {
log.info("行驶证识别-识别失败, 耗时:{}ms", System.currentTimeMillis() - start);
return R.error("行驶证识别失败");
}
long t3 = System.currentTimeMillis();
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) {

View File

@ -42,23 +42,34 @@ public class RecognizeLicensePlateController extends BaseController {
@PostMapping("/recognize")
public R recognize(@RequestBody LicensePlateRecognizeRequest request) {
long start = System.currentTimeMillis();
if (request == null) {
return R.error("请求参数不能为空");
}
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
return R.error("imageBase64和imageUrl不能同时为空");
}
log.info("车牌识别-参数校验耗时:{}ms", System.currentTimeMillis() - start);
long t1 = System.currentTimeMillis();
BLicensePlateRequest bRequest = toBaiduRequest(request);
log.info("车牌识别-构建百度请求耗时:{}ms", System.currentTimeMillis() - t1);
long t2 = System.currentTimeMillis();
ApiR<BLicensePlateResp> apiR = bLicensePlateHandle.handle(bRequest);
long baiduCost = System.currentTimeMillis() - t2;
log.info("车牌识别-调用百度OCR接口耗时:{}ms", baiduCost);
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
return R.error(thirdError(apiR));
}
long t3 = System.currentTimeMillis();
BLicensePlateResp bResp = apiR.getData();
List<BLicensePlateResp.WordsResultDTO> plates = bResp.getWordsResult();
if (CollectionUtils.isEmpty(plates)) {
log.info("车牌识别-未识别到车牌信息, 耗时:{}ms", System.currentTimeMillis() - start);
return R.error("未识别到车牌信息");
}
@ -76,7 +87,9 @@ public class RecognizeLicensePlateController extends BaseController {
double avgConf = probabilities.stream().mapToDouble(Double::doubleValue).average().orElse(0.0);
resp.setPlateTypeConfidence((float) avgConf);
}
log.info("车牌识别-结果映射耗时:{}ms", System.currentTimeMillis() - t3);
log.info("车牌识别-总耗时:{}ms, 其中第三方(百度OCR):{}ms", System.currentTimeMillis() - start, baiduCost);
return R.ok().setData(resp);
}

View File

@ -38,27 +38,42 @@ public class RecognizeTaxiInvoiceController extends BaseController {
@PostMapping("/recognize")
public R recognize(@RequestBody TaxiInvoiceRecognizeRequest request) {
long start = System.currentTimeMillis();
if (request == null) {
return R.error("请求参数不能为空");
}
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
return R.error("imageBase64和imageUrl不能同时为空");
}
log.info("出租车发票识别-参数校验耗时:{}ms", System.currentTimeMillis() - start);
long t1 = System.currentTimeMillis();
BTaxiReceiptRequest bRequest = toBaiduRequest(request);
log.info("出租车发票识别-构建百度请求耗时:{}ms", System.currentTimeMillis() - t1);
long t2 = System.currentTimeMillis();
ApiR<BTaxiReceiptResp> apiR = bTaxiReceiptHandle.handle(bRequest);
long baiduCost = System.currentTimeMillis() - t2;
log.info("出租车发票识别-调用百度OCR接口耗时:{}ms", baiduCost);
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
return R.error(thirdError(apiR));
}
long t3 = System.currentTimeMillis();
BTaxiReceiptResp bResp = apiR.getData();
BTaxiReceiptResp.WordsResultDTO wordsResult = bResp.getWordsResult();
if (wordsResult == null) {
log.info("出租车发票识别-未识别到发票信息, 耗时:{}ms", System.currentTimeMillis() - start);
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) {

View File

@ -38,27 +38,42 @@ public class RecognizeTrainTicketController extends BaseController {
@PostMapping("/recognize")
public R recognize(@RequestBody TrainTicketRecognizeRequest request) {
long start = System.currentTimeMillis();
if (request == null) {
return R.error("请求参数不能为空");
}
if (isBlank(request.getImageBase64()) && isBlank(request.getImageUrl())) {
return R.error("imageBase64和imageUrl不能同时为空");
}
log.info("火车票识别-参数校验耗时:{}ms", System.currentTimeMillis() - start);
long t1 = System.currentTimeMillis();
BTrainTicketRequest bRequest = toBaiduRequest(request);
log.info("火车票识别-构建百度请求耗时:{}ms", System.currentTimeMillis() - t1);
long t2 = System.currentTimeMillis();
ApiR<BTrainTicketResp> apiR = bTrainTicketHandle.handle(bRequest);
long baiduCost = System.currentTimeMillis() - t2;
log.info("火车票识别-调用百度OCR接口耗时:{}ms", baiduCost);
if (apiR == null || !apiR.isSuccess() || apiR.getData() == null) {
return R.error(thirdError(apiR));
}
long t3 = System.currentTimeMillis();
BTrainTicketResp bResp = apiR.getData();
BTrainTicketResp.WordsResultDTO wordsResult = bResp.getWordsResult();
if (wordsResult == null) {
log.info("火车票识别-未识别到火车票信息, 耗时:{}ms", System.currentTimeMillis() - start);
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) {