|
@@ -55,14 +55,14 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
|
|
|
goodsLog.setGStartTime(DateTimeUtils.dateTimeNow());
|
|
|
for (UpGoods ug : upGoods) {
|
|
|
log.info("start ir,upload_id:{},goods_id:{}", ug.getUploadId(), ug.getId());
|
|
|
- startOcr(ocrGoods.getUploadId(), ug, goodsLog);
|
|
|
+ startOcr(ug, goodsLog);
|
|
|
log.info("finish ir,upload_id:{},goods_id:{}", ug.getUploadId(), ug.getId());
|
|
|
}
|
|
|
+ goodsLog.setGFinishTime(DateTimeUtils.dateTimeNow());
|
|
|
+ goodsLog.setGTimeConsume(DateTimeUtils.calculateTimeConsume(goodsLog.getGStartTime(), goodsLog.getGFinishTime()));
|
|
|
if (goodsLog.getGDone() == null) {
|
|
|
goodsLog.setGDone(!goodsLog.getGError());
|
|
|
}
|
|
|
- goodsLog.setGFinishTime(DateTimeUtils.dateTimeNow());
|
|
|
- goodsLog.setGTimeConsume(DateTimeUtils.calculateTimeConsume(goodsLog.getGStartTime(), goodsLog.getGFinishTime()));
|
|
|
goodsLogMapper.updateById(goodsLog);
|
|
|
if (goodsLog.getGDone()) {
|
|
|
// 通知监听器
|
|
@@ -84,6 +84,7 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
|
|
|
}
|
|
|
|
|
|
public void reOcr(GoodsLog goodsLog) {
|
|
|
+ log.info("start reOcr:{}", goodsLog.getUploadId());
|
|
|
if (goodsLog.getTimes() < 2) {
|
|
|
Map<String, Object> map = Maps.newHashMap();
|
|
|
map.put("upload_id", goodsLog.getUploadId());
|
|
@@ -94,29 +95,26 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
|
|
|
// 重新设置开始时间
|
|
|
goodsLog.setGStartTime(DateTimeUtils.dateTimeNow());
|
|
|
for (UpGoods ug : upGoods) {
|
|
|
- startOcr(goodsLog.getUploadId(), ug, goodsLog);
|
|
|
- }
|
|
|
- if (goodsLog.getGDone() == null) {
|
|
|
- goodsLog.setGDone(!goodsLog.getGError());
|
|
|
+ startOcr(ug, goodsLog);
|
|
|
}
|
|
|
// 设置结束时间
|
|
|
goodsLog.setGFinishTime(DateTimeUtils.dateTimeNow());
|
|
|
goodsLog.setGTimeConsume(DateTimeUtils.calculateTimeConsume(goodsLog.getGStartTime(), goodsLog.getGFinishTime()));
|
|
|
- }
|
|
|
- if (goodsLog.getGDone()) {
|
|
|
- // 通知监听器
|
|
|
- applicationEventPublisher.publishEvent(new OcrEvent(this, "G", goodsLog.getUploadId()));
|
|
|
+ } else {
|
|
|
+ goodsLog.setGDone(true);
|
|
|
}
|
|
|
goodsLog.setTimes(goodsLog.getTimes() + 1);
|
|
|
} else {
|
|
|
goodsLog.setGDone(true);
|
|
|
+ }
|
|
|
+ goodsLogMapper.updateById(goodsLog);
|
|
|
+ if (goodsLog.getGDone()) {
|
|
|
// 通知监听器
|
|
|
applicationEventPublisher.publishEvent(new OcrEvent(this, "G", goodsLog.getUploadId()));
|
|
|
}
|
|
|
- goodsLogMapper.updateById(goodsLog);
|
|
|
}
|
|
|
|
|
|
- public void startOcr(String uploadId, UpGoods ug, GoodsLog goodsLog) {
|
|
|
+ public void startOcr(UpGoods ug, GoodsLog goodsLog) {
|
|
|
QueryWrapper<SubImg> wrapper = new QueryWrapper<>();
|
|
|
wrapper.lambda().eq(SubImg::getGoodsId, ug.getId());
|
|
|
// 检查是否已有识别结果
|
|
@@ -124,11 +122,11 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
|
|
|
if (CollectionUtils.isEmpty(subImgList)) {
|
|
|
IrRes res = null;
|
|
|
try {
|
|
|
- res = ctrService.startRequest(uploadId, ug.getGoodsImg());
|
|
|
+ res = ctrService.startRequest(goodsLog.getUploadId(), ug.getGoodsImg());
|
|
|
} catch (Exception e) {
|
|
|
goodsLog.setGError(true);
|
|
|
ErrGoods err = ErrGoods.builder()
|
|
|
- .uploadId(uploadId)
|
|
|
+ .uploadId(ug.getUploadId())
|
|
|
.goodsImg(ug.getGoodsImg())
|
|
|
.error(e.getMessage())
|
|
|
.createTime(DateTimeUtils.dateTimeNow())
|
|
@@ -141,6 +139,7 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
|
|
|
IrRet result = res.getResult();
|
|
|
if (result.getSubnumber() > 0) {
|
|
|
goodsLog.setGError(false);
|
|
|
+ goodsLog.setGDone(true);
|
|
|
res.setGoodsId(ug.getId());
|
|
|
saveOcrResult(res);
|
|
|
} else {
|
|
@@ -153,27 +152,20 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
|
|
|
.build();
|
|
|
errGoodsMapper.insert(err);
|
|
|
}
|
|
|
- goodsLog.setGDone(true);
|
|
|
} else {
|
|
|
goodsLog.setGError(true);
|
|
|
ErrGoods err = ErrGoods.builder()
|
|
|
- .uploadId(uploadId)
|
|
|
+ .uploadId(ug.getUploadId())
|
|
|
.goodsImg(ug.getGoodsImg())
|
|
|
.error(res.getErrorMsg())
|
|
|
.createTime(DateTimeUtils.dateTimeNow())
|
|
|
.build();
|
|
|
errGoodsMapper.insert(err);
|
|
|
}
|
|
|
- } else {
|
|
|
- goodsLog.setGError(true);
|
|
|
- ErrGoods err = ErrGoods.builder()
|
|
|
- .uploadId(uploadId)
|
|
|
- .goodsImg(ug.getGoodsImg())
|
|
|
- .error("未知错误,res=null")
|
|
|
- .createTime(DateTimeUtils.dateTimeNow())
|
|
|
- .build();
|
|
|
- errGoodsMapper.insert(err);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ goodsLog.setGError(false);
|
|
|
+ goodsLog.setGDone(true);
|
|
|
}
|
|
|
}
|
|
|
|