识别接口修改

master
hansha 2 years ago
parent 93ed4bc56b
commit bf2a35a868

@ -7,13 +7,9 @@ import com.da.common.core.controller.BaseController;
import com.da.common.core.domain.AjaxResult;
import com.da.common.utils.file.FileUploadUtils;
import com.da.common.utils.file.FileUtils;
import com.da.dangan.domain.DaCzrkdj;
import com.da.dangan.domain.DaPicturesRecard;
import com.da.dangan.domain.vo.CzrkDatas;
import com.da.dangan.domain.vo.PicParams;
import com.da.dangan.service.IDaBirthDjService;
import com.da.dangan.service.IDaCzrkdjService;
import com.da.dangan.service.IDaPicturesRecardService;
import com.da.dangan.domain.*;
import com.da.dangan.domain.vo.*;
import com.da.dangan.service.*;
import com.da.dangan.util.CallThirdInterface;
import com.da.framework.config.ServerConfig;
import org.apache.commons.lang3.StringUtils;
@ -29,6 +25,7 @@ import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.stream.Collectors;
@ -52,6 +49,14 @@ public class DangAnCollectController extends BaseController {
private IDaCzrkdjService daCzrkdjService;
@Autowired
private IDaBirthDjService daBirthDjService;
@Autowired
private IDaQyzService daQyzService;
@Autowired
private IDaZqzService daZqzService;
@Autowired
private IDaYtzmService daYtzmService;
@Autowired
private IDaZfnyhkcgService daZfnyhkcgService;
private static final String FILE_DELIMETER = ",";
@Value("${ocr.url}")
@ -123,6 +128,7 @@ public class DangAnCollectController extends BaseController {
//取所有id的集合
List<Long> ids = picRecards.stream().map(DaPicturesRecard::getId).collect(Collectors.toList());
String ywType = picRecards.get(0).getYwType();
Long muId = picRecards.get(0).getMuId();
// String singleOrDouble = picRecards.get(0).getSingelOrDouble();
//获取所有的文件
List<File> files = new ArrayList<>();
@ -147,7 +153,8 @@ public class DangAnCollectController extends BaseController {
});
long end =System.currentTimeMillis();
logger.info("CompletableFuture耗时--——————————————————》"+ (end-start)+"ms");*/
//不使用循环调用接口 直接传递数组
//不使用循环调用接口 直接传递数组 在callThirdInterface方法内直接添加了username参数
String result = CallThirdInterface.callThirdInterface(url, files, ywType, ids);
long end = System.currentTimeMillis();
logger.info("CompletableFuture耗时--——————————————————》" + (end - start) + "ms");
@ -200,44 +207,169 @@ public class DangAnCollectController extends BaseController {
String pictures = StringUtils.join(pics, ",");//分号分割
List<DaCzrkdj> info = czrkData.getInfo();
if(info!=null&&info.size()>0) {
if (info != null && info.size() > 0) {
for (DaCzrkdj daCzrkdj : info) {
daCzrkdj.setAllPicIds(picIds);
daCzrkdj.setAllPics(pictures);
daCzrkdj.setPicIds(picIds);
daCzrkdj.setPictures(pictures);
//其他字段存储
daCzrkdj.setCreateTime(new Date());
daCzrkdj.setYwType(ywType);
daCzrkdj.setMuId(muId);
daCzrkdjService.insertDaCzrkdj(daCzrkdj);
}
}
}
/*DaCzrkdj daCzrkdj = new DaCzrkdj();
daCzrkdj.setAllPicIds(picIds);
daCzrkdj.setAllPics();
daCzrkdj.setPicIds();
daCzrkdj.setPictures();
daCzrkdjService.insertDaCzrkdj();
//将插入后的id反写回来
dajlid=daCzrkdj.getId();*/
break;
case "option4":
//获取出生医学证明信息集合
List<CszmDatas> cszmDatas = JSONArray.parseArray(datas, CszmDatas.class);
for (CszmDatas cszmData : cszmDatas) {
List<Long> picid = cszmData.getPicid();
// 将Long类型映射为String类型, 并将Stream转换为数组
String[] spicId = picid.stream().map(Object::toString).toArray(String[]::new);
String picIds = StringUtils.join(spicId, ",");//分号分割
//存储图片url
List<String> picUrls = picRecards.stream().map(DaPicturesRecard::getPicUrl).collect(Collectors.toList());
String[] pics = picUrls.stream().map(Object::toString).toArray(String[]::new);
String pictures = StringUtils.join(pics, ",");//分号分割
List<DaBirthDj> info = cszmData.getInfo();
if (info != null && info.size() > 0) {
for (DaBirthDj daBirthdj : info) {
daBirthdj.setAllPicIds(picIds);
daBirthdj.setAllPics(pictures);
daBirthdj.setPicIds(picIds);
daBirthdj.setPictures(pictures);
//其他字段存储
daBirthdj.setCreateTime(new Date());
daBirthdj.setYwType(ywType);
daBirthdj.setMuId(muId);
daBirthDjService.insertDaBirthDj(daBirthdj);
}
}
}
break;
case "option5":
//获取迁移证信息集合
List<QyzDatas> qyzDatas = JSONArray.parseArray(datas, QyzDatas.class);
for (QyzDatas qyzData : qyzDatas) {
List<Long> picid = qyzData.getPicid();
// 将Long类型映射为String类型, 并将Stream转换为数组
String[] spicId = picid.stream().map(Object::toString).toArray(String[]::new);
String picIds = StringUtils.join(spicId, ",");//分号分割
//存储图片url
List<String> picUrls = picRecards.stream().map(DaPicturesRecard::getPicUrl).collect(Collectors.toList());
String[] pics = picUrls.stream().map(Object::toString).toArray(String[]::new);
String pictures = StringUtils.join(pics, ",");//分号分割
List<DaQyz> info = qyzData.getInfo();
if (info != null && info.size() > 0) {
for (DaQyz qyz : info) {
qyz.setAllPicIds(picIds);
qyz.setAllPics(pictures);
qyz.setPicIds(picIds);
qyz.setPictures(pictures);
//其他字段存储
qyz.setCreateTime(new Date());
qyz.setYwType(ywType);
qyz.setMuId(muId);
daQyzService.insertDaQyz(qyz);
}
}
}
break;
case "option6":
//获取一胎证明信息集合
List<YtzmDatas> ytzmDatas = JSONArray.parseArray(datas, YtzmDatas.class);
for (YtzmDatas ytzmData : ytzmDatas) {
List<Long> picid = ytzmData.getPicid();
// 将Long类型映射为String类型, 并将Stream转换为数组
String[] spicId = picid.stream().map(Object::toString).toArray(String[]::new);
String picIds = StringUtils.join(spicId, ",");//分号分割
//存储图片url
List<String> picUrls = picRecards.stream().map(DaPicturesRecard::getPicUrl).collect(Collectors.toList());
String[] pics = picUrls.stream().map(Object::toString).toArray(String[]::new);
String pictures = StringUtils.join(pics, ",");//分号分割
List<DaYtzm> info = ytzmData.getInfo();
if (info != null && info.size() > 0) {
for (DaYtzm ytzm : info) {
ytzm.setAllPicIds(picIds);
ytzm.setAllPics(pictures);
ytzm.setPicIds(picIds);
ytzm.setPictures(pictures);
//其他字段存储
ytzm.setCreateTime(new Date());
ytzm.setYwType(ywType);
ytzm.setMuId(muId);
daYtzmService.insertDaYtzm(ytzm);
}
}
}
break;
case "option7":
//获取转非农业人口批复存根信息集合
List<ZfnyDatas> zfnyDatas = JSONArray.parseArray(datas, ZfnyDatas.class);
for (ZfnyDatas zfnyData : zfnyDatas) {
List<Long> picid = zfnyData.getPicid();
// 将Long类型映射为String类型, 并将Stream转换为数组
String[] spicId = picid.stream().map(Object::toString).toArray(String[]::new);
String picIds = StringUtils.join(spicId, ",");//分号分割
//存储图片url
List<String> picUrls = picRecards.stream().map(DaPicturesRecard::getPicUrl).collect(Collectors.toList());
String[] pics = picUrls.stream().map(Object::toString).toArray(String[]::new);
String pictures = StringUtils.join(pics, ",");//分号分割
List<DaZfnyhkcg> info = zfnyData.getInfo();
if (info != null && info.size() > 0) {
for (DaZfnyhkcg zfnyhkcg : info) {
zfnyhkcg.setAllPicIds(picIds);
zfnyhkcg.setAllPics(pictures);
zfnyhkcg.setPicIds(picIds);
zfnyhkcg.setPictures(pictures);
//其他字段存储
zfnyhkcg.setCreateTime(new Date());
zfnyhkcg.setYwType(ywType);
zfnyhkcg.setMuId(muId);
daZfnyhkcgService.insertDaZfnyhkcg(zfnyhkcg);
}
}
}
break;
case "option8":
//获取准迁证信息集合
List<ZqzDatas> zqzDatas = JSONArray.parseArray(datas, ZqzDatas.class);
for (ZqzDatas zqzData : zqzDatas) {
List<Long> picid = zqzData.getPicid();
// 将Long类型映射为String类型, 并将Stream转换为数组
String[] spicId = picid.stream().map(Object::toString).toArray(String[]::new);
String picIds = StringUtils.join(spicId, ",");//分号分割
//存储图片url
List<String> picUrls = picRecards.stream().map(DaPicturesRecard::getPicUrl).collect(Collectors.toList());
String[] pics = picUrls.stream().map(Object::toString).toArray(String[]::new);
String pictures = StringUtils.join(pics, ",");//分号分割
List<DaZqz> info = zqzData.getInfo();
if (info != null && info.size() > 0) {
for (DaZqz zqz : info) {
zqz.setAllPicIds(picIds);
zqz.setAllPics(pictures);
zqz.setPicIds(picIds);
zqz.setPictures(pictures);
//其他字段存储
zqz.setCreateTime(new Date());
zqz.setYwType(ywType);
zqz.setMuId(muId);
daZqzService.insertDaZqz(zqz);
}
}
}
break;
}
//识别成功的图片 ,修改图片信息记录表为已识别 可以用多线程
//三方识别接口:要么全部成功 要么全部失败——————修改图片信息记录表为已识别 可以用多线程
for (DaPicturesRecard picRecard : picRecards) {
picRecard.setRecognize("1");
daPicturesRecardService.updateDaPicturesRecard(picRecard);
@ -382,7 +514,7 @@ public class DangAnCollectController extends BaseController {
String datas = jsonobject.getStr("datas");
//获取常住人口信息集合
List<CzrkDatas> czrkDatas = JSONArray.parseArray(datas, CzrkDatas.class);
System.out.println(czrkDatas.get(1).getInfo()==null);
System.out.println(czrkDatas.get(1).getInfo() == null);
System.out.println(czrkDatas.get(1).getInfo().size());
System.out.println(czrkDatas.get(0).getInfo().get(0).getName());
return "datas.toString()";

@ -1,10 +1,8 @@
package com.da.dangan.util;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.http.Method;
import cn.hutool.http.*;
import com.da.common.utils.SecurityUtils;
import java.io.File;
import java.net.HttpCookie;
@ -47,8 +45,10 @@ public class CallThirdInterface {
return result;
}
public static String callThirdInterface(String url,List<File> files,String fileType,List<Long> picIds){
public static String callThirdInterface(String url,List<File> files,String fileType,List<Long> picIds) throws Exception {
String body = null; // 获取响应主体
try {
// 1. 创建HttpRequest对象 - 指定好 url 地址
HttpRequest httpRequest = new HttpRequest(url);
// 2. 设置请求方式默认是GET请求
@ -62,6 +62,7 @@ public class CallThirdInterface {
httpRequest.form("files[]",files.toArray(new File[files.size()]));
httpRequest.form("picIds",picIds);
httpRequest.form("fileType",fileType);
httpRequest.form("username", SecurityUtils.getLoginUser().getUser().getUserName()); //添加一个参数做标识 username
//httpRequest.form("singeOrDouble",);
//httpRequest.form("picIds",ids.toArray(new Long[ids.size()]));
@ -78,12 +79,16 @@ public class CallThirdInterface {
System.out.println(ok);
List<HttpCookie> cookies = execute.getCookies();// 获取所有cookie
cookies.forEach(System.out::println); // 如果为空不会遍历的
String body = execute.body(); // 获取响应主体
body = execute.body();
/*byte[] bytes = execute.bodyBytes();
String body = new String (bytes,CharsetUtil.UTF_8);*/
// 输出结果
System.out.println(body);
} catch (HttpException e) {
e.printStackTrace();
throw new Exception("识别接口连接失败!!!");
}
return body;
}

Loading…
Cancel
Save