|
@@ -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 {
|