|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.jyjz.xiaoyao.common.base.util.SpringUtils;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.util.DownloadImgUtil;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.util.ImageUtils;
|
|
|
|
@ -63,28 +64,39 @@ public class PictureImgToLocalTask implements Runnable {
|
|
|
|
|
if (ObjectUtil.isNotEmpty(picture)) {
|
|
|
|
|
picture.setLocalpictrueurl(pictureImgToLocal.getLocalPath());
|
|
|
|
|
picture.setIsdownload(1);
|
|
|
|
|
try {
|
|
|
|
|
picture.setLocalThumbnailUrl(ImageUtils.generateThumbnail(pictureImgToLocal.getLocalPath(),182));
|
|
|
|
|
picture.setServerThumbnailUrl(ocrPictureService.getServerUrl()+ImageUtils.getFileName(picture.getLocalThumbnailUrl()));
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
Map<String, String> ocrPictureClassifyAndHash = ocrPictureService.getOcrPictureClassifyAndHash(picture.getLocalpictrueurl());
|
|
|
|
|
if(ocrPictureClassifyAndHash!=null){
|
|
|
|
|
picture.setImgHash(ocrPictureClassifyAndHash.get("hash"));
|
|
|
|
|
picture.setClassificationid(ocrPictureClassifyAndHash.get("classId"));
|
|
|
|
|
}
|
|
|
|
|
// try {
|
|
|
|
|
// picture.setLocalThumbnailUrl(ImageUtils.generateThumbnail(pictureImgToLocal.getLocalPath(),182));
|
|
|
|
|
// picture.setServerThumbnailUrl(ocrPictureService.getServerUrl()+ImageUtils.getFileName(picture.getLocalThumbnailUrl()));
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
// throw new RuntimeException(e);
|
|
|
|
|
// }
|
|
|
|
|
// Map<String, String> ocrPictureClassifyAndHash = ocrPictureService.getOcrPictureClassifyAndHash(picture.getLocalpictrueurl());
|
|
|
|
|
// if(ocrPictureClassifyAndHash!=null){
|
|
|
|
|
// picture.setImgHash(ocrPictureClassifyAndHash.get("hash"));
|
|
|
|
|
// picture.setClassificationid(ocrPictureClassifyAndHash.get("classId"));
|
|
|
|
|
// }
|
|
|
|
|
// 获取拍照时间
|
|
|
|
|
// Long timestamp = ocrPictureService.getPhotoDateTime(picture);
|
|
|
|
|
// if(timestamp != 0L){
|
|
|
|
|
// picture.setPhotoDateTimestamp(timestamp);
|
|
|
|
|
// }
|
|
|
|
|
ocrPictureService.updateById(picture);
|
|
|
|
|
// ocrPictureService.updateById(picture);
|
|
|
|
|
logger.info("图片本地化,回写数据完成!");
|
|
|
|
|
logger.info("开启获取图片信息操作!");
|
|
|
|
|
ocrPictureService.savePicturesInfo(picture);
|
|
|
|
|
// ocrPictureService.savePicturesInfo(picture);
|
|
|
|
|
logger.info("获取图片信息操作,结束!");
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//判断是否是第一次失败!
|
|
|
|
|
if(picture.getDownloadErrorCount()==null){
|
|
|
|
|
picture.setDownloadErrorCount(0);
|
|
|
|
|
}
|
|
|
|
|
//判断如果没超过5次则放回队列进行重试
|
|
|
|
|
if( picture.getDownloadErrorCount()!=null && picture.getDownloadErrorCount()<5){
|
|
|
|
|
TaskQueue.pictureImgToLocalPushData(pictureImgToLocal);
|
|
|
|
|
picture.setDownloadErrorCount(picture.getDownloadErrorCount()+1);
|
|
|
|
|
}
|
|
|
|
|
ocrPictureService.updateById(picture);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|