|
|
|
|
@ -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");
|
|
|
|
|
@ -206,38 +213,163 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
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);
|
|
|
|
|
|