fix: 调整过滤任务逻辑

pull/157/head
Vincent 2 years ago
parent ee088456e8
commit f1b2393f76

@ -11,6 +11,7 @@ import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult;
import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig;
import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
@ -52,6 +53,9 @@ public class ApiTestController {
@Resource
private DepartmentMybatisDao departmentMybatisDao;
@Resource
private OcrPictureService ocrPictureService;
/**
*
* pull wyl task data
@ -110,7 +114,7 @@ public class ApiTestController {
}
size++;
//将可以处理数据放入处理队列中
TaskQueue.pictureDisposePushData(pictureSourceResult);
TaskQueue.pictureDisposePushData(pictureSourceResult, ocrPictureService);
}
return "当前区间内图片总数:"+count+"条,本次获取:"+localCount+"条,可处理数据:"+size+"条";
} catch (Exception e) {
@ -193,7 +197,7 @@ public class ApiTestController {
pictureSourceResult.setLivePhoto(livePhoto);
}
//将可以处理数据放入处理队列中
TaskQueue.pictureDisposePushData(pictureSourceResult);
TaskQueue.pictureDisposePushData(pictureSourceResult, ocrPictureService);
}
return "处理成功";
@ -297,7 +301,7 @@ public class ApiTestController {
size++;
// 尝试将数据加入队列
while (!addedToQueue && retryCount < 5) { // 最多重试5次
addedToQueue = TaskQueue.pictureDisposePushData(pictureSourceResult);
addedToQueue = TaskQueue.pictureDisposePushData(pictureSourceResult, ocrPictureService);
if (!addedToQueue) {
Thread.sleep(60000);
retryCount++;

@ -5,12 +5,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
*/
*
*/
@Mapper
public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> {
OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId);
OcrPicture selectByRemark(@Param("remark") String remark);
}

@ -1,7 +1,5 @@
package cn.jyjz.xiaoyao.ocr.service;
import java.util.List;
import java.util.Map;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService;
@ -11,42 +9,48 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
*
*/
public interface OcrPictureService extends BaseService<OcrPicture> {
*
*/
public interface OcrPictureService extends BaseService<OcrPicture> {
List<OcrPicture> listPage(Wrapper<OcrPicture> queryWrapper);
/**
* json
*
* @param jsonArray
* @return
*/
public List<OcrPicture> savePicture(JSONObject jsonArray);
public ResultVo createTaskChild(List<OcrPicture> ocrPictureList, String tenantId , UserToken sysUser, String search_month, HttpServletRequest req, String buessinessno);
public ResultVo createTaskChild(List<OcrPicture> ocrPictureList, String tenantId, UserToken sysUser, String search_month, HttpServletRequest req, String buessinessno);
public ResultVo createTaskChild(List<OcrPicture> ocrPictureList, String tenantId,HttpServletRequest request);
public ResultVo createTaskChild(List<OcrPicture> ocrPictureList, String tenantId, HttpServletRequest request);
/**
*
*
* @param tenantId
* @param createuser
* @return
*/
public List<OcrPicture> listByTaskChild(String tenantId,String createuser,String isclose,String tasktype,String packageid);
public List<OcrPicture> listByTaskChild(String tenantId, String createuser, String isclose, String tasktype, String packageid);
/**
*
*
* @return
*/
public List<OcrPicture> listByTaskChild(List<String> pictureid);
/**
* id
*
* @param pageNo
* @param pageSize
* @param userSearchId
@ -56,6 +60,7 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
/**
*
*
* @param ocrPictureList
* @return
*/
@ -65,7 +70,7 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
ResultVo createPackageTask(List<OcrPicture> pageList, String tenantId, UserToken userToken, String searchMonth, HttpServletRequest req, String buessinessno, Map<String, Object> paramMap);
Map<String,String> getOcrPictureClassifyAndHash(String img);
Map<String, String> getOcrPictureClassifyAndHash(String img);
String getServerUrl();
@ -73,4 +78,12 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
// Long getPhotoDateTime(OcrPicture picture);
/**
* id
*
* @param remark
* @return
*/
OcrPicture selectByRemark(String remark);
}

@ -334,6 +334,11 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
return ocrPicture;
}
@Override
public OcrPicture selectByRemark(String remark) {
return pictureMybatisDao.selectByRemark(remark);
}
// @Override
// public Long getPhotoDateTime(OcrPicture picture) {
// long timestamp = 0L;

@ -1,6 +1,8 @@
package cn.jyjz.xiaoyao.ocr.thread;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity;
import com.google.common.collect.Sets;
@ -35,10 +37,11 @@ public class TaskQueue {
* @param pictureSourceResult //三方拉取 获取到的图片对象
* @return
*/
public static boolean pictureDisposePushData(PictureSourceResult pictureSourceResult) {
public static boolean pictureDisposePushData(PictureSourceResult pictureSourceResult, OcrPictureService ocrPictureService) {
try {
Long taskId = pictureSourceResult.getTaskId();
if (resultSet.contains(String.valueOf(taskId))) {
OcrPicture ocrPicture = ocrPictureService.selectByRemark(String.valueOf(taskId));
if (ocrPicture != null) {
return true;
}

@ -7,6 +7,7 @@ import cn.jyjz.xiaoyao.admin.dataobject.Department;
import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
@ -43,6 +44,9 @@ public class PictureSourceTimerJob {
@Resource
private DepartmentMybatisDao departmentMybatisDao;
@Resource
private OcrPictureService ocrPictureService;
private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
@ -95,7 +99,7 @@ public class PictureSourceTimerJob {
if (pictureSourceResult.getLivePhoto() != null) {
size++;
// 将可以处理数据放入处理队列中
TaskQueue.pictureDisposePushData(pictureSourceResult);
TaskQueue.pictureDisposePushData(pictureSourceResult, ocrPictureService);
}
}

@ -7,6 +7,7 @@ import cn.jyjz.xiaoyao.admin.dataobject.Department;
import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
@ -32,6 +33,9 @@ public class PullPictureDataJob {
@Resource
private DepartmentMybatisDao departmentMybatisDao;
@Resource
private OcrPictureService ocrPictureService;
// @Scheduled(cron = "0 5 0 * * ?") // 每天晚上0点五分执行一次
public void pullPicture() {
//配置查询参数信息
@ -100,7 +104,7 @@ public class PullPictureDataJob {
if (pictureSourceResult.getLivePhoto() != null) {
size++;
// 将可以处理数据放入处理队列中
TaskQueue.pictureDisposePushData(pictureSourceResult);
TaskQueue.pictureDisposePushData(pictureSourceResult, ocrPictureService);
}
}
System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条");

@ -251,4 +251,12 @@
LIMIT 1
</select>
<select id="selectByRemark" resultMap="BaseResultMap">
SELECT `ID`
FROM
ocr_picture
WHERE `remark` = #{remark}
LIMIT 1
</select>
</mapper>

Loading…
Cancel
Save