diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java
index 35da1e23..e43b1730 100644
--- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java
+++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java
@@ -3,6 +3,9 @@ package cn.jyjz.xiaoyao.ocr.api;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter;
import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult;
import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage;
+import org.apache.commons.compress.utils.Lists;
+
+import java.util.List;
/**
* 无量云三方api接口
@@ -33,4 +36,6 @@ public interface PrevailCloudApi {
*/
boolean startImageDownloadMonitoring(String localImagePath) throws Exception;
+ List
getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter);
+
}
diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java
index ceea1469..dfce2df2 100644
--- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java
+++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java
@@ -6,7 +6,11 @@ import cn.jyjz.xiaoyao.common.base.util.SpringUtils;
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.api.utils.*;
+import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig;
+import cn.jyjz.xiaoyao.ocr.api.utils.ApiHelper;
+import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage;
+import cn.jyjz.xiaoyao.ocr.api.utils.RequestData;
+import cn.jyjz.xiaoyao.ocr.api.utils.ResultData;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
@@ -16,16 +20,13 @@ import cn.jyjz.xiaoyao.ocr.util.httputil.HttpMethod;
import cn.jyjz.xiaoyao.ocr.util.httputil.HttpParamers;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import liquibase.pro.packaged.S;
import lombok.SneakyThrows;
-import org.apache.commons.collections.SequencedHashMap;
+import org.apache.commons.compress.utils.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -73,17 +74,17 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
@Override
public ApiPage pullPictureSource(PictureSourceParameter pictureSourceParameter) throws Exception {
//1.检查api配置是否正常
- if(!apiConfig.checkConfig()){
+ if (!apiConfig.checkConfig()) {
return null;
}
//2.对象转map
Map queryParam = BeanUtil.beanToMap(pictureSourceParameter);
- Map queryParamStr = new HashMap<>();
+ Map queryParamStr = new HashMap<>();
//map值转string 注意对日期类型进行操作,加密包要求值全部为string
for (String key : queryParam.keySet()) {
- if(queryParam.get(key)!=null){
- queryParamStr.put(key,queryParam.get(key).toString());
+ if (queryParam.get(key) != null) {
+ queryParamStr.put(key, queryParam.get(key).toString());
}
}
@@ -92,36 +93,36 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
String tenantNo = pictureSourceParameter.getTenantNo().toString();
String json = JSONObject.toJSONString(queryParam);
System.out.println(json);
- RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(),json);
+ RequestData requestData = ApiHelper.buildRequest(tenantNo, apiConfig.getAccessKey(), apiConfig.getAccessCode(), json);
//组装请求参数
- String url = apiConfig.getInterfaceDomain()+pictureSourceUrl;
+ String url = apiConfig.getInterfaceDomain() + pictureSourceUrl;
String requestBodyJson = JSONObject.toJSONString(requestData);
// String requestBodyJson = "{\"accessKey\":\"7390F0221A1A73D8E13F8C8BB96F33B0\",\"data\":\"gzUtN5Mt24_fbDDMK3wLop8Tgu68xLCVy3Wzp9BcXnkxnCiPg_D2TNEXnQ68-Y-GhGYYcD7Iwg8juZTx1m5v4NkDvKvEwdvjQvZnMDTRYbqtHrwgVLAvUGotIMTckDY67yo2Ku52vWedjYpzzDseHwiIGVcIl-u1CljEbyjLzJzIf6oXfD7qKjOYnxKjfjp11k0IlvsPdS-mgNXTHcBei5jOFrYmZrE2y4v9bI5n1QE\",\"signature\":\"0bmIbhhybDcGeyX4ao5gSPZQeaY8G2JRh3nRt7NC7qw\",\"tenantCode\":\"1673196576094806016\",\"timestamp\":1711971774448}";
//入参
- System.out.println("入参数据:"+requestBodyJson);
+ System.out.println("入参数据:" + requestBodyJson);
HttpParamers httpParamers = new HttpParamers(HttpMethod.POST);
httpParamers.setJsonParamer(requestBodyJson);
//发起请求
- String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout());
+ String responseJsonStr = HttpClient.doPost(url, httpParamers, null, apiConfig.getConnectTimeout(), apiConfig.getReadTimeout());
System.out.println(responseJsonStr);
- ResultData resultData =JSONUtil.toBean(responseJsonStr,ResultData.class);
+ ResultData resultData = JSONUtil.toBean(responseJsonStr, ResultData.class);
//解密请求数据
- if(resultData.getStatus()==100){
+ if (resultData.getStatus() == 100) {
//解析基础数据
String data = ApiHelper.decryptResponse(apiConfig.getAccessCode(), resultData);
- ApiPage apiPage = JSONUtil.toBean(data,ApiPage.class);
+ ApiPage apiPage = JSONUtil.toBean(data, ApiPage.class);
//解析数据结果为List
- List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()),PictureSourceResult.class);
+ List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()), PictureSourceResult.class);
ApiPage resultApiPage = new ApiPage<>();
resultApiPage.setPageNo(apiPage.getPageNo());
resultApiPage.setPageSize(apiPage.getPageSize());
resultApiPage.setTotal(apiPage.getTotal());
resultApiPage.setRecords(listResult);
return resultApiPage;
- }else{
- logger.debug("请求图片接口数据失败,参数:{},返回值:{}",json,responseJsonStr);
+ } else {
+ logger.debug("请求图片接口数据失败,参数:{},返回值:{}", json, responseJsonStr);
}
return null;
@@ -131,36 +132,37 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
public void sendFlowTaskResult(String tenantId, String data) throws Exception {
ResultData stringResultData = ApiHelper.buildResponse(apiConfig.getAccessCode(), data);
// RequestData requestData = ApiHelper.buildRequest(tenantId, apiConfig.getAccessKey(), apiConfig.getAccessCode(),data);//组装请求参数
- String url = apiConfig.getInterfaceDomain()+sendResultUrl;
+ String url = apiConfig.getInterfaceDomain() + sendResultUrl;
String requestBodyJson = JSONObject.toJSONString(stringResultData);
//入参
- System.out.println("入参数据:"+requestBodyJson);
+ System.out.println("入参数据:" + requestBodyJson);
HttpParamers httpParamers = new HttpParamers(HttpMethod.POST);
httpParamers.setJsonParamer(requestBodyJson);
//发起请求
- String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout());
+ String responseJsonStr = HttpClient.doPost(url, httpParamers, null, apiConfig.getConnectTimeout(), apiConfig.getReadTimeout());
System.out.println(responseJsonStr);
}
@Override
public void pullAccountInfo(long tenantNo) throws Exception {
Map queryParam = new HashMap<>();
- queryParam.put("tenantNo",tenantNo);
+ queryParam.put("tenantNo", tenantNo);
String json = JSONObject.toJSONString(queryParam);
- RequestData requestData = ApiHelper.buildRequest(tenantNo+"", apiConfig.getAccessKey(), apiConfig.getAccessCode(),json);
- String url = apiConfig.getInterfaceDomain()+tenantSourceUrl;
+ RequestData requestData = ApiHelper.buildRequest(tenantNo + "", apiConfig.getAccessKey(), apiConfig.getAccessCode(), json);
+ String url = apiConfig.getInterfaceDomain() + tenantSourceUrl;
String requestBodyJson = JSONObject.toJSONString(requestData);
//入参
HttpParamers httpParamers = new HttpParamers(HttpMethod.POST);
httpParamers.setJsonParamer(requestBodyJson);
//发起请求
- String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout());
+ String responseJsonStr = HttpClient.doPost(url, httpParamers, null, apiConfig.getConnectTimeout(), apiConfig.getReadTimeout());
System.out.println(responseJsonStr);
- ResultData resultData =JSONUtil.toBean(responseJsonStr,ResultData.class);
- if(resultData.getStatus()==100){;
+ ResultData resultData = JSONUtil.toBean(responseJsonStr, ResultData.class);
+ if (resultData.getStatus() == 100) {
+ ;
//解析基础数据
String data = ApiHelper.decryptResponse(apiConfig.getAccessCode(), resultData);
- ApiPage apiPage = JSONUtil.toBean(data,ApiPage.class);
+ ApiPage apiPage = JSONUtil.toBean(data, ApiPage.class);
System.out.println(apiPage);
//解析数据结果为List
// List listResult = JSONUtil.toList(JSONObject.toJSONString(apiPage.getRecords()),PictureSourceResult.class);
@@ -191,7 +193,7 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
ocrPictureLambdaQueryWrapper.isNull(OcrPicture::getLocalpictrueurl);
List ocrPictureList = new ArrayList<>();
ocrPictureList = ocrPictureService.list(ocrPictureLambdaQueryWrapper);
- logger.debug("待执行下载图片数量:{}",ocrPictureList.size());
+ logger.debug("待执行下载图片数量:{}", ocrPictureList.size());
for (OcrPicture pictureOne : ocrPictureList) {
// 创建 PictureImgToLocalEntity 对象并赋值
PictureImgToLocalEntity entity = new PictureImgToLocalEntity();
@@ -204,9 +206,9 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
// 将对象添加到下载图片队列中
boolean isAddedToQueue = false;
while (!isAddedToQueue) {
- isAddedToQueue =TaskQueue.pictureImgToLocalPushData(entity);
+ isAddedToQueue = TaskQueue.pictureImgToLocalPushData(entity);
if (!isAddedToQueue) {
- logger.info("图片下载监测-添加队列失败,等待五秒后继续进行添加,图片id:{}",entity.getPictureId());
+ logger.info("图片下载监测-添加队列失败,等待五秒后继续进行添加,图片id:{}", entity.getPictureId());
Thread.sleep(5000);
}
}
@@ -217,6 +219,16 @@ public class PrevailCloudApiImpl implements PrevailCloudApi {
thread.start();
return true;
}
-
+ @Override
+ public List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter) {
+ ApiPage apiPage = null;
+ try {
+ apiPage = this.pullPictureSource(pictureSourceParameter);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return apiPage == null ? Lists.newArrayList() : apiPage.getRecords();
+ }
}
diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java
index 9407bf57..b8d84846 100644
--- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java
+++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/utils/ApiConfig.java
@@ -48,6 +48,11 @@ public class ApiConfig {
private String localImagePath;
+ /**
+ * 默认图片
+ */
+ private String defaultPictureImg;
+
/**
* 检查配置文件是否 正确注入
* @return
diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java
index cce9ccf1..1b093259 100644
--- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java
+++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java
@@ -10,7 +10,6 @@ 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.api.utils.ApiConfig;
-import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage;
import cn.jyjz.xiaoyao.ocr.thread.TaskQueue;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
@@ -134,16 +133,6 @@ public class ApiTestController {
if (StringUtils.isBlank(accountNoStr)) {
return "业务主体不能为空";
}
-// Long tenantNo = Long.parseLong(request.getParameter("tenantNo"));
-// Long accountNo = Long.parseLong(request.getParameter("accountNo"));
-
- PictureSourceParameter pictureSourceParameter = new PictureSourceParameter();
- DateTime dateTime = DateUtil.parse(beginStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
-// DateTime dateTime = DateUtil.parse("2024-03-31 07:00:000","yyyy-MM-dd HH:mm:ss");
- Instant binstant = dateTime.toInstant();
- DateTime dateTime1 = DateUtil.parse(endStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
-// DateTime dateTime1 = DateUtil.parse("2024-03-31 09:00:00","yyyy-MM-dd HH:mm:ss");
- Instant einstant = dateTime1.toInstant();
List departments = departmentMybatisDao.selectList(new QueryWrapper<>());
if (CollectionUtils.isEmpty(departments)) {
@@ -163,6 +152,16 @@ public class ApiTestController {
return "业务主体数据为空";
}
+ PictureSourceParameter pictureSourceParameter = new PictureSourceParameter();
+ DateTime dateTime = DateUtil.parse(beginStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
+ DateTime dateTime1 = DateUtil.parse(endStr + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
+ Instant binstant = dateTime.toInstant();
+ Instant einstant = dateTime1.toInstant();
+ pictureSourceParameter.setStartTime(Date.from(binstant));
+ pictureSourceParameter.setEndTime(Date.from(einstant));
+ pictureSourceParameter.setPageNo(Integer.parseInt(pageNo));
+ pictureSourceParameter.setPageSize(Integer.parseInt(pageSize));
+
List totalList = Lists.newArrayList();
for (Department department : departments) {
if (!departmentMap.containsKey(department.getParentid())) {
@@ -171,8 +170,10 @@ public class ApiTestController {
Long tenantNo = Long.valueOf(departmentMap.get(department.getParentid()).getDeptno());
Long accountNo = Long.valueOf(department.getDeptno());
+ pictureSourceParameter.setTenantNo(tenantNo);
+ pictureSourceParameter.setAccountNo(accountNo);
- List resultList = getPictureSourceResultApiPage(dateTime, dateTime1, Integer.parseInt(pageNo), Integer.parseInt(pageSize), tenantNo, accountNo);
+ List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter);
if (CollectionUtils.isEmpty(resultList)) {
continue;
}
@@ -185,11 +186,10 @@ public class ApiTestController {
if (pictureSourceResult.getLivePhoto() == null) {
List