Parcourir la source

1. 将识别出错的商品图片重新载入队列识别

semi il y a 4 ans
Parent
commit
df48deb725

+ 1 - 1
src/main/java/com/pavis/ai/kwp/ioc/common/jobs/ReRecJobConfig.java

@@ -23,7 +23,7 @@ public class ReRecJobConfig {
                 .forJob(reRecJobDetail())
                 .withIdentity("reRecJobTrigger")
                 // 每1分钟执行一次 0 */1 * * * ? 每天凌晨3点执行 0 0 3 * * ?
-                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 3 * * ?"))
+                .withSchedule(CronScheduleBuilder.cronSchedule("0 */5 * * * ?"))
                 .build();
     }
 }

+ 8 - 12
src/main/java/com/pavis/ai/kwp/ioc/service/impl/OcrGoodsServiceImpl.java

@@ -12,6 +12,7 @@ import com.pavis.ai.kwp.ioc.mapper.*;
 import com.pavis.ai.kwp.ioc.model.*;
 import com.pavis.ai.kwp.ioc.service.CtrService;
 import com.pavis.ai.kwp.ioc.service.OcrGoodsService;
+import com.pavis.ai.kwp.ioc.service.SendService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -32,6 +34,8 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
     @Autowired
     private CtrService ctrService;
     @Autowired
+    private SendService sendService;
+    @Autowired
     private SubImgMapper subImgMapper;
     @Autowired
     private UpGoodsMapper upGoodsMapper;
@@ -84,7 +88,7 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
     }
 
     public void reOcr(GoodsLog goodsLog) {
-        log.info("start reOcr:{}", goodsLog.getUploadId());
+        log.info("restart goods rec:{}", goodsLog.getUploadId());
         if (goodsLog.getTimes() < 2) {
             Map<String, Object> map = Maps.newHashMap();
             map.put("upload_id", goodsLog.getUploadId());
@@ -92,14 +96,8 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
             if (CollectionUtils.isNotEmpty(upGoods)) {
                 // 清空之前的错误记录
                 errGoodsMapper.deleteByMap(map);
-                // 重新设置开始时间
-                goodsLog.setGStartTime(DateTimeUtils.dateTimeNow());
-                for (UpGoods ug : upGoods) {
-                    startOcr(ug, goodsLog);
-                }
-                // 设置结束时间
-                goodsLog.setGFinishTime(DateTimeUtils.dateTimeNow());
-                goodsLog.setGTimeConsume(DateTimeUtils.calculateTimeConsume(goodsLog.getGStartTime(), goodsLog.getGFinishTime()));
+                // 发送到队列
+                sendService.sendGoodsToOcr(goodsLog.getUploadId(), upGoods.stream().map(UpGoods::getGoodsImg).collect(Collectors.toList()));
             } else {
                 goodsLog.setGDone(true);
             }
@@ -115,10 +113,8 @@ public class OcrGoodsServiceImpl implements OcrGoodsService {
     }
 
     public void startOcr(UpGoods ug, GoodsLog goodsLog) {
-        QueryWrapper<SubImg> wrapper = new QueryWrapper<>();
-        wrapper.lambda().eq(SubImg::getGoodsId, ug.getId());
         // 检查是否已有识别结果
-        List<SubImg> subImgList = subImgMapper.selectList(wrapper);
+        List<SubImg> subImgList = subImgMapper.selectByGid(ug.getId());
         if (CollectionUtils.isEmpty(subImgList)) {
             IrRes res = null;
             try {