|
@@ -9,8 +9,12 @@ import cn.hutool.poi.excel.ExcelUtil;
|
|
|
import com.huimv.farm.damsubsidy.common.annotate.DictTranslate;
|
|
|
import com.huimv.farm.damsubsidy.common.utils.PovertyUtils;
|
|
|
import com.huimv.farm.damsubsidy.common.utils.Result;
|
|
|
+import com.huimv.farm.damsubsidy.common.utils.ResultCode;
|
|
|
import com.huimv.farm.damsubsidy.common.utils.UploadImage;
|
|
|
import com.huimv.farm.damsubsidy.entity.PovertyUserRegist;
|
|
|
+import com.huimv.farm.damsubsidy.entity.vo.BankResultVo;
|
|
|
+import com.huimv.farm.damsubsidy.entity.vo.BankVo;
|
|
|
+import com.huimv.farm.damsubsidy.entity.vo.IDCardIfo;
|
|
|
import com.huimv.farm.damsubsidy.entity.vo.IDCardVo;
|
|
|
import okhttp3.*;
|
|
|
import okhttp3.RequestBody;
|
|
@@ -29,10 +33,7 @@ import java.lang.reflect.Field;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Paths;
|
|
|
-import java.util.Base64;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@CrossOrigin
|
|
@@ -112,7 +113,7 @@ public class ImagesTest {
|
|
|
public Result evaluationUpdate(@RequestParam("image") MultipartFile file) throws Exception {
|
|
|
|
|
|
if (ObjectUtil.isEmpty(file)){
|
|
|
-// return ;
|
|
|
+ return new Result(10001,"图片识别失败",false);
|
|
|
}
|
|
|
BASE64Encoder encoder = new BASE64Encoder();
|
|
|
String fileStr = encoder.encode(file.getBytes());
|
|
@@ -152,14 +153,77 @@ public class ImagesTest {
|
|
|
}
|
|
|
return new Result(10001,reslut,false);
|
|
|
}
|
|
|
+ Map map = new HashMap();
|
|
|
System.out.println(idCardVo.getIdcardNumberType());
|
|
|
- System.out.println(idCardVo.getWordsResult());
|
|
|
+ Map<String, IDCardIfo> wordsResult = idCardVo.getWordsResult();
|
|
|
+ System.out.println(wordsResult.toString());
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("住址"))){
|
|
|
+ map.put("addr" ,wordsResult.get("住址").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("公民身份号码"))){
|
|
|
+ map.put("IDCARD" ,wordsResult.get("公民身份号码").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("出生"))){
|
|
|
+ map.put("birthday" , wordsResult.get("出生").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("姓名"))){
|
|
|
+ map.put("name" , wordsResult.get("姓名").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("性别"))){
|
|
|
+ map.put("sex" , wordsResult.get("性别").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("民族"))){
|
|
|
+ map.put("nation" , wordsResult.get("民族").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("失效日期"))){
|
|
|
+ map.put("shiXiao" , wordsResult.get("失效日期").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("签发机关"))){
|
|
|
+ map.put("qfjg" , wordsResult.get("签发机关").getWords());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wordsResult.get("签发日期"))){
|
|
|
+ map.put("qfrq" , wordsResult.get("签发日期").getWords());
|
|
|
+ }
|
|
|
|
|
|
// return "识别成功";
|
|
|
- return new Result(10000,idCardVo.getWordsResult().toString(),false);
|
|
|
+ return new Result(ResultCode.SUCCESS,map);
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @RequestMapping("/bankcard")
|
|
|
+ public Result bankcard(@RequestParam("image") MultipartFile file) throws Exception {
|
|
|
+
|
|
|
+ if (ObjectUtil.isEmpty(file)){
|
|
|
+ return new Result(10001,"图片识别失败",false);
|
|
|
+ }
|
|
|
+ BASE64Encoder encoder = new BASE64Encoder();
|
|
|
+ String fileStr = encoder.encode(file.getBytes());
|
|
|
+ String image = URLEncoder.encode(fileStr, "utf-8");
|
|
|
+ MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
|
|
|
+ // image 可以通过 getFileContentAsBase64("C:\fakepath\039fc6cbebda8c7d48ed16b4bbf03d7.jpg") 方法获取,如果Content-Type是application/x-www-form-urlencoded时,第二个参数传true
|
|
|
+ okhttp3.RequestBody body = okhttp3.RequestBody.create(mediaType, "image="+image);
|
|
|
+
|
|
|
+ Request request = new Request.Builder()
|
|
|
+ .url("https://aip.baidubce.com/rest/2.0/ocr/v1/bankcard?access_token=" + getAccessToken())
|
|
|
+ .method("POST", body)
|
|
|
+ .addHeader("Content-Type", "application/x-www-form-urlencoded")
|
|
|
+ .addHeader("Accept", "application/json")
|
|
|
+ .build();
|
|
|
+ Response response = HTTP_CLIENT.newCall(request).execute();
|
|
|
+ String body1 = response.body().string();
|
|
|
+ BankVo bankVo = JSONUtil.toBean(body1, BankVo.class);
|
|
|
+ if (ObjectUtil.isEmpty(bankVo)){
|
|
|
+ return new Result(10001,"识别失败",false);
|
|
|
+ }
|
|
|
+ BankResultVo result = bankVo.getResult();
|
|
|
+
|
|
|
+ if (ObjectUtil.isEmpty(result)){
|
|
|
+ return new Result(10001,"识别失败",false);
|
|
|
+ }
|
|
|
+// return "识别成功";
|
|
|
+ return new Result(ResultCode.SUCCESS,result);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
/**
|