Prechádzať zdrojové kódy

1、ocr引擎替换,10,11不再调用百度接口。2、新增定时任务,不回传单号再次发送请求至ocr。

jessie 4 rokov pred
rodič
commit
5c4630da9d
40 zmenil súbory, kde vykonal 491 pridanie a 59 odobranie
  1. 59 0
      src/main/java/com/pavis/ai/app/fjsocrasy/common/config/BackCheckScheduleConfig.java
  2. 19 0
      src/main/java/com/pavis/ai/app/fjsocrasy/common/utils/DateUtils.java
  3. 1 0
      src/main/java/com/pavis/ai/app/fjsocrasy/common/utils/ocr/GeneralUtils.java
  4. 16 9
      src/main/java/com/pavis/ai/app/fjsocrasy/common/utils/ocr/ParseUtils.java
  5. 31 1
      src/main/java/com/pavis/ai/app/fjsocrasy/controller/BackController.java
  6. 15 0
      src/main/java/com/pavis/ai/app/fjsocrasy/mapper/BackCheckMapper.java
  7. 30 0
      src/main/java/com/pavis/ai/app/fjsocrasy/model/BackCheck.java
  8. 0 1
      src/main/java/com/pavis/ai/app/fjsocrasy/service/BackService.java
  9. 2 0
      src/main/java/com/pavis/ai/app/fjsocrasy/service/OtherService.java
  10. 2 3
      src/main/java/com/pavis/ai/app/fjsocrasy/service/UploadService.java
  11. 3 2
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/BackServiceImpl.java
  12. 0 1
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/DealServiceImpl.java
  13. 3 8
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/LinkServiceImpl.java
  14. 15 8
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/OcrServiceImpl.java
  15. 12 7
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/OpServiceImpl.java
  16. 66 5
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/OtherServiceImpl.java
  17. 97 4
      src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/UploadServiceImpl.java
  18. 1 1
      src/main/resources/application-prod.yml
  19. 112 8
      src/test/java/com/pavis/ai/app/fjsocrasy/FjsOcrAsyApplicationTests.java
  20. 1 1
      target/classes/application-prod.yml
  21. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/common/config/BackCheckScheduleConfig.class
  22. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/common/utils/DateUtils.class
  23. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/common/utils/ocr/ParseUtils.class
  24. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/controller/BackController.class
  25. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/mapper/BackCheckMapper.class
  26. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/model/BackCheck$BackCheckBuilder.class
  27. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/model/BackCheck.class
  28. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/OtherService.class
  29. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/UploadService.class
  30. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/BackServiceImpl.class
  31. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/DealServiceImpl.class
  32. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/LinkServiceImpl.class
  33. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/OcrServiceImpl.class
  34. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/OpServiceImpl.class
  35. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/OtherServiceImpl.class
  36. BIN
      target/classes/com/pavis/ai/app/fjsocrasy/service/impl/UploadServiceImpl.class
  37. BIN
      target/fjs-ocr-asy-1.0.0.jar
  38. BIN
      target/fjs-ocr-asy-1.0.0.jar.original
  39. 3 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  40. 3 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

+ 59 - 0
src/main/java/com/pavis/ai/app/fjsocrasy/common/config/BackCheckScheduleConfig.java

@@ -0,0 +1,59 @@
+package com.pavis.ai.app.fjsocrasy.common.config;
+
+import com.pavis.ai.app.fjsocrasy.common.utils.DateUtils;
+import com.pavis.ai.app.fjsocrasy.mapper.CronMapper;
+import com.pavis.ai.app.fjsocrasy.model.Cron;
+import com.pavis.ai.app.fjsocrasy.service.MailService;
+import com.pavis.ai.app.fjsocrasy.service.OtherService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+import org.springframework.scheduling.support.CronTrigger;
+import org.thymeleaf.TemplateEngine;
+
+@Configuration
+@EnableScheduling
+@Slf4j
+public class BackCheckScheduleConfig implements SchedulingConfigurer {
+
+    @Autowired
+    private CronMapper cronMapper;
+
+    @Autowired
+    private OtherService otherService;
+
+    @Autowired
+    private MailService mailService;
+
+    @Autowired
+    private TemplateEngine templateEngine;
+
+    @Value("${spring.profiles.active}")
+    private String activeUrl;
+
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
+        scheduledTaskRegistrar.addTriggerTask(
+                () -> {
+                    // 开启定时任务
+                    String currentFromatDate = DateUtils.getCurrentTime();
+                    try {
+                        log.info("<******* 回传检测定时任务 START *******> :{}" , DateUtils.getCurrentTime());
+                        otherService.checkUnbackBo();
+                        log.info("<******* 回传检测定时任务 END  *******> :{}" , DateUtils.getCurrentTime());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                },
+                triggerContext -> {
+                    // 设置执行周期 每天晚上八点执行一次。
+                    Cron selectedCron = cronMapper.selectById(1255044800520916994L);
+                    String cron = selectedCron.getCron();
+                    return new CronTrigger(cron).nextExecutionTime(triggerContext);
+                });
+    }
+}

+ 19 - 0
src/main/java/com/pavis/ai/app/fjsocrasy/common/utils/DateUtils.java

@@ -14,6 +14,25 @@ public class DateUtils {
         return DateTime.now().toString(Constants.DEFAULT_DATETIME_FORMAT);
     }
 
+    /**
+     * 一天开始时间
+     * @return
+     */
+    public static String startDate() {
+        LocalDate date = LocalDate.now();
+        return date + " 00:00:00";
+    }
+
+    /**
+     * 一天结束时间
+     * @return
+     */
+    public static String endDate() {
+        LocalDate date = LocalDate.now();
+        return date + " 23:30:30";
+    }
+
+
     /**
      * 根据当天日期创建文件夹。
      * @return

+ 1 - 0
src/main/java/com/pavis/ai/app/fjsocrasy/common/utils/ocr/GeneralUtils.java

@@ -673,4 +673,5 @@ public class GeneralUtils {
         }
         return find;
     }
+
 }

+ 16 - 9
src/main/java/com/pavis/ai/app/fjsocrasy/common/utils/ocr/ParseUtils.java

@@ -253,8 +253,6 @@ public class ParseUtils {
      * @return
      */
     public static ResData<IdCardFront> idCardFrontRes(String reqId, String templateType, JSONObject sourceData, JSONObject ocrData, JSONObject matchRes) {
-        String name = ocrData.get("name").toString();
-        String idCode = ocrData.get("idCode").toString();
         log.info("ocr-match res 10:{}" , JSON.toJSONString(matchRes));
         if (matchRes.get("code").toString().equals("1")) {
             IdCardFront idCardFront = JSONObject.parseObject(JSON.toJSONString(
@@ -264,9 +262,15 @@ public class ParseUtils {
             resData = parseResData(resData,reqId,templateType,matchRes);
             return resData;
         } else {
+            // String name = JSON.parseObject(ocrData.get(templateType).toString()).get("name").toString();
+            // String idCode = JSON.parseObject(ocrData.get(templateType).toString()).get("idCode").toString();
+            String name = checkOcrData(JSON.parseObject(ocrData.get(templateType).toString()),"name");
+            String idCode = checkOcrData(JSON.parseObject(ocrData.get(templateType).toString()),"idCode");
             IdCardFront idCardFront = IdCardFront.builder()
-                    .name(compare(name, null != sourceData ? sourceData.containsKey("name") ? sourceData.get("name").toString() : "" : "",matchRes))
-                    .idCode(compare(idCode, null != sourceData ? sourceData.containsKey("idCode") ? sourceData.get("idCode").toString() : "" : "",matchRes))
+                    .name(compare(name, null != sourceData ? sourceData.containsKey("name") ?
+                            sourceData.get("name").toString() : "" : "",matchRes))
+                    .idCode(compare(idCode, null != sourceData ? sourceData.containsKey("idCode") ?
+                            sourceData.get("idCode").toString() : "" : "",matchRes))
                     .build();
             ResData<IdCardFront> resData = new ResData<>();
             resData.setRes(idCardFront);
@@ -287,7 +291,7 @@ public class ParseUtils {
      * @return
      */
     public static ResData<IdCardReverse> idCardReverseRes(String reqId, String templateType, JSONObject sourceData, JSONObject ocrData, JSONObject matchRes) {
-        String expireDate = ocrData.get("expireDate").toString();
+
         log.info("ocr-match res 11:{}" , JSON.toJSONString(matchRes));
         if (matchRes.get("code").toString().equals("1")) {
             IdCardReverse idCardReverse = JSONObject.parseObject(JSON.toJSONString(
@@ -306,6 +310,7 @@ public class ParseUtils {
             resData = parseResData(resData,reqId,templateType,matchRes);
             return resData;
         } else {
+            String expireDate = checkOcrData(JSON.parseObject(ocrData.get(templateType).toString()),"expireDate");
             BackData compare = compare(expireDate, null != sourceData ? sourceData.containsKey("expireDate") ? sourceData.get("expireDate").toString() : "" : "",matchRes);
             IdCardReverse idCardReverse = IdCardReverse.builder()
                     .expireDate(compare)
@@ -441,10 +446,12 @@ public class ParseUtils {
             if (sourceData.containsKey("contacts")) {
                 JSONArray jsonArray = JSONArray.parseArray(sourceData.get("contacts").toString());
                 for (int i = 0; i < jsonArray.size(); i++) {
-                    relationshipSource = JSON.parseObject(jsonArray.get(i).toString()).get("relationship").toString();
-                    contactNameSource = JSON.parseObject(jsonArray.get(i).toString()).get("contactName").toString();
-                    contactPhoneSource = JSON.parseObject(jsonArray.get(i).toString()).get("contactPhone").toString();
-                    contactMobileSource = JSON.parseObject(jsonArray.get(i).toString()).get("contactMobile").toString();
+                    JSONObject tmpJs = JSON.parseObject(jsonArray.get(i).toString());
+
+                    relationshipSource =  tmpJs.containsKey("relationship") ? tmpJs.get("relationship").toString() : "";
+                    contactNameSource = tmpJs.containsKey("contactName") ? tmpJs.get("contactName").toString() : "";
+                    contactPhoneSource = tmpJs.containsKey("contactPhone") ? tmpJs.get("contactPhone").toString() : "";
+                    contactMobileSource = tmpJs.containsKey("contactMobile") ? tmpJs.get("contactMobile").toString() : "";
                 }
             }
         }

+ 31 - 1
src/main/java/com/pavis/ai/app/fjsocrasy/controller/BackController.java

@@ -393,7 +393,37 @@ public class BackController {
         List<ProVersion> vers = new ArrayList<>();
 
         vers.add(ProVersion.builder()
-                .date("2020-09-07 测试环境")
+                .date("2020-11-04 测试环境")
+                .version("V3.15 ")
+                .descriptionOne("1、OCR引擎替换  类型1,3,12,15,16,18,10,11。")
+                .descriptionTwo("2020-09-29 生产环境")
+                .descriptionThree("V1.17")
+                // .2、多线程异常解决。
+                .descriptionFour("1、fileType=10 异常捕获。2、请求参数data中字段校验优化.")
+                .build());
+
+        vers.add(ProVersion.builder()
+                .date("2020-10-26 测试环境")
+                .version("V3.14 ")
+                .descriptionOne("1、后端与算法异常捕获新增log.")
+                .descriptionTwo("2020-09-29 生产环境")
+                .descriptionThree("V1.17")
+                // .2、多线程异常解决。
+                .descriptionFour("1、fileType=10 异常捕获。2、请求参数data中字段校验优化.")
+                .build());
+
+        vers.add(ProVersion.builder()
+                .date("2020-09-29 测试环境")
+                .version("V3.13 ")
+                .descriptionOne("1、fileType=10 异常捕获。2、请求参数data中字段校验优化.")
+                .descriptionTwo("2020-09-29 生产环境")
+                .descriptionThree("V1.17")
+                // .2、多线程异常解决。
+                .descriptionFour("1、fileType=10 异常捕获。2、请求参数data中字段校验优化.")
+                .build());
+
+        vers.add(ProVersion.builder()
+                .date("2020-09-20 测试环境")
                 .version("V3.12.2 ")
                 .descriptionOne("1、新增紧急通知接口。")
                 .descriptionTwo("2020-09-20 生产环境")

+ 15 - 0
src/main/java/com/pavis/ai/app/fjsocrasy/mapper/BackCheckMapper.java

@@ -0,0 +1,15 @@
+package com.pavis.ai.app.fjsocrasy.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.pavis.ai.app.fjsocrasy.model.BackCheck;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author guanhuijuan
+ * @create 2020-11-04 12:37
+ * @desc BackCheckMapper
+ **/
+@Component
+public interface BackCheckMapper extends BaseMapper<BackCheck> {
+
+}

+ 30 - 0
src/main/java/com/pavis/ai/app/fjsocrasy/model/BackCheck.java

@@ -0,0 +1,30 @@
+package com.pavis.ai.app.fjsocrasy.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.*;
+
+/**
+ * @author guanhuijuan
+ * @create 2020-11-04 13:33
+ * @desc 是否回传检查表
+ **/
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class BackCheck {
+    @TableId(type = IdType.ID_WORKER_STR)
+    private String id;
+    private String reqId;
+    private String fileName;
+    private String type;
+    private String data;
+    private String isBacked;
+    private String operator;
+    private String operatorId;
+    private String operateTime;
+    private String operateIp;
+    private String remarks;
+}

+ 0 - 1
src/main/java/com/pavis/ai/app/fjsocrasy/service/BackService.java

@@ -27,7 +27,6 @@ public interface BackService {
      * 返回数据至富士通。
      * @param resData
      * @param reqId
-     * @param excTime
      * @param code
      */
     void backToFjs(ResData resData, String reqId, Long startTime, String code);

+ 2 - 0
src/main/java/com/pavis/ai/app/fjsocrasy/service/OtherService.java

@@ -29,4 +29,6 @@ public interface OtherService {
      * @return
      */
     boolean checkDiskSpace();
+
+    void checkUnbackBo();
 }

+ 2 - 3
src/main/java/com/pavis/ai/app/fjsocrasy/service/UploadService.java

@@ -4,10 +4,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.pavis.ai.app.fjsocrasy.form.FileDetails;
 import com.pavis.ai.app.fjsocrasy.form.res.ResData;
 import com.pavis.ai.app.fjsocrasy.model.Upload;
-import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -23,7 +21,6 @@ public interface UploadService {
      * @param reqId
      * @param fileType
      * @param data
-     * @param files
      * @return
      * @throws Exception
      */
@@ -94,4 +91,6 @@ public interface UploadService {
     List<Upload> findLinkByBo(String reqId);
 
     String tes();
+
+    List findByReqId(String type,String reqId);
 }

+ 3 - 2
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/BackServiceImpl.java

@@ -57,7 +57,7 @@ public class BackServiceImpl implements BackService {
     @Override
     public void back(String fileType, String reqId, Long startTime, JSONObject ocr) {
         // log.info("step ***4: back***");
-        if (fileType.equals("10") || fileType.equals("11")) {
+        if (fileType.equals("101") || fileType.equals("111")) {
             // 类型10、11意常情况返回。
             JSONObject midOcr = fileType.equals("10") ? ParseUtils.midOcrFront(false, "-1", fileType, "")
                     : ParseUtils.midOcrReverse(false, "-1", fileType, "");
@@ -105,8 +105,9 @@ public class BackServiceImpl implements BackService {
         } else {
             result = JSON.toJSONString(res(code, resData));
         }
-        // todo ghj-online 上线时放开。
+        // todo ghj-online 上线时放开。ghjghj201102
         String backRes = eternalSendService.send(result);
+        // todo 删除定时任务库中数据。
         long endTime = System.currentTimeMillis();
         String excTime = DateUtils.getExcTime(startTime, endTime);
         log.info("fjs back time:{}", excTime);

+ 0 - 1
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/DealServiceImpl.java

@@ -24,7 +24,6 @@ public class DealServiceImpl implements DealService {
 
     @Override
     public void sendMessage(String routingKey, Object message, CorrelationData correlationData) {
-
         rabbitTemplate.setConfirmCallback(this);
         rabbitTemplate.convertAndSend(Constants.EXCHANGE_NAME, routingKey, message, correlationData);
     }

+ 3 - 8
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/LinkServiceImpl.java

@@ -2,26 +2,19 @@ package com.pavis.ai.app.fjsocrasy.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.pavis.ai.app.fjsocrasy.common.config.constants.Constants;
 import com.pavis.ai.app.fjsocrasy.common.utils.DateUtils;
 import com.pavis.ai.app.fjsocrasy.common.utils.ocr.ParseUtils;
-import com.pavis.ai.app.fjsocrasy.form.FileDetails;
 import com.pavis.ai.app.fjsocrasy.form.res.ResData;
 import com.pavis.ai.app.fjsocrasy.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.amqp.rabbit.connection.CorrelationData;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
-import java.util.UUID;
 
 /**
  * @author guanhuijuan
@@ -49,7 +42,7 @@ public class LinkServiceImpl implements LinkService {
     public void match(String reqId,String type,Long startTime,String sourceData, String ocrData,String mideOcr, String accJson, String recommends) {
         log.info("step ***3: test&link***");
         Map<String, Object> matchMap = new HashMap<>();
-        if (type.equals("10") || type.equals("11")){
+        if (type.equals("101") || type.equals("111")){
             try {
                 JSONObject midOcr = new JSONObject();
                 if (type.equals("10")) {
@@ -93,6 +86,7 @@ public class LinkServiceImpl implements LinkService {
                 // todo ghj link数据部分也要新增类型三的findRecomInfo()数据。已补充。
                 log.info("link param:{}", JSON.toJSONString(matchMap));
                 String matchRes = internalSendService.link(matchMap);
+                System.out.println("matchres>>>>>>>>>>>"+matchRes);
                 resData = ParseUtils.parseRes(reqId, type, JSON.parseObject(sourceData),
                         JSON.parseObject(ocrData), JSON.parseObject(matchRes));
             }else {
@@ -102,6 +96,7 @@ public class LinkServiceImpl implements LinkService {
                 resData = ParseUtils.parseRes(reqId, type, JSON.parseObject(sourceData),
                         JSON.parseObject(ocrData), JSON.parseObject(matchRes));
             }
+            System.out.println("ressssssss?>"+ JSON.toJSONString(resData));
             uploadService.saveBack(resData,JSON.toJSONString(JSON.parseObject(mideOcr)),Long.valueOf(startTime));
             long endTime = System.currentTimeMillis();
             log.info("step3 link excTime:{}",DateUtils.getExcTime(startTime,endTime));

+ 15 - 8
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/OcrServiceImpl.java

@@ -57,7 +57,7 @@ public class OcrServiceImpl implements OcrService {
     @Override
     public void toOcr(String reqId, String fileType, String url, String fileName, String data, Long startTime) throws IOException {
         // 2.2 获取ocr返回值。
-        log.info("step ***2: ocr***");
+        log.info("step ***2: to ocr***");
         data = fileType.equals("18") ? ParseUtils.changeSourceDataBy18(data) : data;
         Map<String,Object> ocrMap = toOcrMap(reqId,fileType,url,fileName,data,startTime);
         log.info("match-pre,only ocr:{}",JSON.toJSONString(ocrMap));
@@ -71,7 +71,7 @@ public class OcrServiceImpl implements OcrService {
             log.info("match exctime:{}",excTime);
         }else{
             // backService.back(fileType,reqId,startTime,new JSONObject());
-            log.info("step 2 error,maybe ocrmap null....");
+            log.info("step 2 error,maybe ocrmap null....:{}",reqId);
         }
     }
 
@@ -86,6 +86,7 @@ public class OcrServiceImpl implements OcrService {
      * @return
      */
     public Map<String,Object> toOcrMap(String reqId, String fileType, String url, String fileName, String data, Long startTime){
+        log.info("to Ocr Map:{}","开始调用ocr识别....");
         Map<String,Object> ocrMap = new HashMap<>();
         try {
             // 解析已处理过的有效的图片url
@@ -103,12 +104,14 @@ public class OcrServiceImpl implements OcrService {
                     resData.setType(fileType);
                     resData.setRes(null);
                     long endTime = System.currentTimeMillis();
+                    log.info("to Ocr Map:{}","ocr识别....超出大小限制。");
                     back(resData, reqId, DateUtils.getExcTime(startTime,endTime), "-3");
                 } else {
                     // 单文件上传。
                     ocrMap = toSingleFileOcr(reqId, fileType, effectiveImgpaths.get(0), effectiveImgpaths, data,startTime);
                     long endTime = System.currentTimeMillis();
                     log.info("step2 ocrMap excTime:{}", DateUtils.getExcTime(startTime,endTime));
+                    log.info("to Ocr Map:{}","结束调用ocr识别signle....");
                     return ocrMap;
                 }
             } else if (effectiveImgpaths.size() > 1) {
@@ -116,6 +119,7 @@ public class OcrServiceImpl implements OcrService {
                 ocrMap = toSingleFileOcr(reqId, fileType, effectiveImgpaths.get(0), effectiveImgpaths, data,startTime);
                 long endTime = System.currentTimeMillis();
                 log.info("step2 ocrMap excTime:{}", DateUtils.getExcTime(startTime,endTime));
+                log.info("to Ocr Map:{}","结束调用ocr识别more....");
                 return ocrMap;
             } else {
                 // todo 没有图片,不合法等,待开发。
@@ -125,11 +129,12 @@ public class OcrServiceImpl implements OcrService {
                 resData.setRes(null);
                 long endTime = System.currentTimeMillis();
                 back(resData, reqId, DateUtils.getExcTime(startTime,endTime), "0");
-                log.info("step2 ocrMap excTime:{}", DateUtils.getExcTime(startTime,endTime));
+                log.info("step2 ocrMap 无图/不合法等excTime:{}", DateUtils.getExcTime(startTime,endTime));
             }
         } catch (Exception e) {
-            log.info("ocr:{}", e);
+            log.info("ocr map:{}", e);
         }
+        log.info("to Ocr Map:{}","调用ocr识别.,ocrMap为空...");
         return ocrMap;
     }
 
@@ -148,7 +153,7 @@ public class OcrServiceImpl implements OcrService {
         Map<String, Object> ocrMap = new HashMap<>();
         sourceData = fileType.equals("18") ? ParseUtils.changeSourceDataBy18(sourceData) : sourceData;
         JSONObject ocr = null;
-        if (fileType.equals("10") || fileType.equals("11")) {
+        if (fileType.equals("101") || fileType.equals("111")) {
             try {
                 ocr = JSON.parseObject(AipOcrUtils.sample(parsedFilePath.getUrls(), fileType));
                 long endTime = System.currentTimeMillis();
@@ -281,7 +286,7 @@ public class OcrServiceImpl implements OcrService {
         Map<String, Object> ocrMap = new HashMap<>();
         sourceData = fileType.equals("18") ? ParseUtils.changeSourceDataBy18(sourceData) : sourceData;
         JSONObject ocr = null;
-        if (fileType.equals("10") || fileType.equals("11")) {
+        if (fileType.equals("101") || fileType.equals("111")) {
             try {
                 ocr = JSON.parseObject(AipOcrUtils.sample(parsedFilePath.getUrls(), fileType));
                 long endTime = System.currentTimeMillis();
@@ -436,7 +441,7 @@ public class OcrServiceImpl implements OcrService {
         Map<String, Object> ocrMap = new HashMap<>();
         sourceData = fileType.equals("18") ? ParseUtils.changeSourceDataBy18(sourceData) : sourceData;
         JSONObject ocr = null;
-        if (fileType.equals("10") || fileType.equals("11")) {
+        if (fileType.equals("101") || fileType.equals("111")) {
             try {
                 ocr = JSON.parseObject(AipOcrUtils.sample(parsedFilePath.getUrls(), fileType));
                 long endTime = System.currentTimeMillis();
@@ -634,8 +639,10 @@ public class OcrServiceImpl implements OcrService {
         } else {
             result = JSON.toJSONString(backService.res(code, resData));
         }
-        // todo ghj-online 上线时放开。
+        // todo ghj-online 上线时放开。ghjghj201102
         String backRes = eternalSendService.send(result);
+        // todo 删除定时任务库中数据。
+
         // todo ghj-online 上线时注释掉,本地自己接收。
         // SendData sendData = JSONObject.parseObject(result, SendData.class);
         // sendData.setData(resData);

+ 12 - 7
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/OpServiceImpl.java

@@ -11,9 +11,6 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * @author guanhuijuan
  * @create 2020-03-02 14:00
@@ -29,14 +26,12 @@ public class OpServiceImpl implements OpService {
     @Override
     @RabbitListener(queues = Constants.QUEUE_OP_NAME)
     public void onReceiveOpMessage(byte[] bytes) {
-        long startTime = System.currentTimeMillis();
         log.info("收到待处理消息的时间:{}", DateUtils.getCurrentTime());
         log.info("消息详情:{}", new String(bytes));
         try {
             String message = new String(bytes);
             JSONObject json = JSON.parseObject(message);
             // 调用算法,做识别。
-            // 调用算法,做识别。
             // rbmqMap.put("reqId", reqId);
             // rbmqMap.put("fileType", fileType);
             // rbmqMap.put("url", parsedFilePaths);
@@ -44,8 +39,18 @@ public class OpServiceImpl implements OpService {
             // rbmqMap.put("data", data);
             // rbmqMap.put("startTime", startTime);
             // toOcr(reqId, fileType,JSON.toJSONString(parsedFilePaths),fileName,data,startTime);
-            ocrService.toOcr(json.get("reqId").toString(),json.get("fileType").toString(),json.get("url").toString(),
-                    json.get("fileName").toString(), json.get("data").toString(),Long.valueOf(json.get("startTime").toString()));
+            log.info("toOcr start:{}",json.get("reqId").toString());
+            try {
+                ocrService.toOcr(json.get("reqId").toString(),
+                        json.get("fileType").toString(),
+                        json.get("url").toString(),
+                        json.get("fileName").toString(),
+                        json.get("data").toString(),
+                        Long.valueOf(json.get("startTime").toString()));
+            }catch (Exception e){
+                log.info("to ocr catch ex:{}",e.getMessage());
+            }
+            log.info("toOcr end:{}",json.get("reqId").toString());
         } catch (Exception e) {
             log.info("接收消息异常...:{}", e.getMessage(), e);
         }

+ 66 - 5
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/OtherServiceImpl.java

@@ -1,11 +1,17 @@
 package com.pavis.ai.app.fjsocrasy.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.pavis.ai.app.fjsocrasy.common.config.constants.Constants;
+import com.pavis.ai.app.fjsocrasy.common.utils.DateUtils;
 import com.pavis.ai.app.fjsocrasy.common.utils.DiskUtils;
 import com.pavis.ai.app.fjsocrasy.form.FileDetails;
+import com.pavis.ai.app.fjsocrasy.mapper.BackCheckMapper;
+import com.pavis.ai.app.fjsocrasy.model.BackCheck;
 import com.pavis.ai.app.fjsocrasy.service.DealService;
 import com.pavis.ai.app.fjsocrasy.service.OtherService;
+import com.pavis.ai.app.fjsocrasy.service.UploadService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.connection.CorrelationData;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,10 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * @author guanhuijuan
@@ -32,6 +35,12 @@ public class OtherServiceImpl implements OtherService {
     @Autowired
     private DealService dealService;
 
+    @Autowired
+    private BackCheckMapper backCheckMapper;
+
+    @Autowired
+    private UploadService uploadService;
+
     @Override
     public void uploading(String reqId, String fileType, String data, MultipartFile[] files, Long startTime, List<FileDetails> parsedFilePaths) throws IOException {
         // String suffix = files[0].getOriginalFilename().substring(files[0].getOriginalFilename().lastIndexOf("."));
@@ -45,7 +54,23 @@ public class OtherServiceImpl implements OtherService {
         rbmqMap.put("fileName", fileName);
         rbmqMap.put("data", data);
         rbmqMap.put("startTime", startTime);
-
+        // todo 定时任务表信息记录:
+        // id,reqId,type,fileName,data,operateTime,isBacked,finalIsBacked
+        // todo 写进定时任务表。
+        BackCheck backCheck = BackCheck.builder()
+                .reqId(reqId)
+                .fileName(fileName)
+                .type(fileType)
+                .data(JSON.toJSONString(rbmqMap))
+                .isBacked("false")
+                .operator("")
+                .operatorId("")
+                .operateTime(DateUtils.getCurrentTime())
+                .operateIp("")
+                .remarks("")
+                .build();
+        backCheckMapper.insert(backCheck);
+        System.err.println("backCheck>>>>"+JSON.toJSONString(backCheck));
         // 2.1、将ocr数据放入队列中。
         CorrelationData correlationData = new CorrelationData(reqId);
         dealService.sendMessage(Constants.ROUTING_OP_KEY, JSON.toJSONString(rbmqMap).getBytes(), correlationData);
@@ -71,4 +96,40 @@ public class OtherServiceImpl implements OtherService {
         }
         return false;
     }
+
+    @Override
+    public void checkUnbackBo() {
+        QueryWrapper<BackCheck> backCheckQueryWrapper = new QueryWrapper<>();
+        backCheckQueryWrapper.lambda()
+                .isNotNull(BackCheck::getId);
+        // 排除已经back的。
+        deleteBacked(backCheckQueryWrapper);
+        List<BackCheck> unBacks = backCheckMapper.selectList(backCheckQueryWrapper);
+        // todo 再次发请求给张坤
+        for (BackCheck unBack : unBacks) {
+            // 将ocr数据放入队列中。
+            CorrelationData correlationData = new CorrelationData(unBack.getReqId());
+            JSONObject js = JSONObject.parseObject(unBack.getData());
+            dealService.sendMessage(Constants.ROUTING_OP_KEY, JSON.toJSONString(js).getBytes(), correlationData);
+        }
+        // 发送成功后,再次清除。
+        deleteBacked(backCheckQueryWrapper);
+    }
+
+    /**
+     * 删除已经back的数据。
+     * @param backCheckQueryWrapper
+     */
+    public void deleteBacked(QueryWrapper<BackCheck> backCheckQueryWrapper){
+        List<BackCheck> backChecks = backCheckMapper.selectList(backCheckQueryWrapper);
+        // 已返回的删除记录。
+        for (BackCheck backCheck : backChecks) {
+            List list = uploadService.findByReqId(backCheck.getType(),backCheck.getReqId());
+            if (list.size() > 0){
+                backCheckMapper.deleteById(backCheck.getId());
+            }
+        }
+    }
+
+
 }

+ 97 - 4
src/main/java/com/pavis/ai/app/fjsocrasy/service/impl/UploadServiceImpl.java

@@ -258,6 +258,7 @@ public class UploadServiceImpl implements UploadService {
         // 1、将上传信息数据写入库,并将文件数据写入磁盘,同时返回待处理的图片路径。
         log.info("step ****1: save***");
         List<FileDetails> parsedFilePaths = writeToDisk(files, reqId, fileType, data, startTime);
+        // reqId,fileType,data,startTime,parsedFilePaths,
         otherService.uploading(reqId, fileType, data, files, startTime, parsedFilePaths);
         // todo 待处理。
         // return "1";
@@ -1072,6 +1073,97 @@ public class UploadServiceImpl implements UploadService {
     }
 
 
+
+    @Override
+    public List findByReqId(String type,String reqId) {
+        List ocrLists = new ArrayList();
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper
+                .eq(true, "req_id", reqId);
+                // .eq(true,"type",type);
+        switch (type) {
+            case TYPE_ONE:
+                ocrLists = contractOneBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_TWO:
+                // 待开发
+                ocrLists = contractTwoBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_THREE:
+                // 待开发
+                ocrLists = contractThreeBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_FOUR:
+                // 待开发
+                ocrLists = contractFourBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_FIVE:
+                // 待开发
+                ocrLists = contractFiveBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_SIX:
+                // 待开发
+                ocrLists = contractSixBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_SEVEN:
+                // 待开发
+                ocrLists = contractSevenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_EIGHT:
+                // 待开发
+                ocrLists = contractEightBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_NINE:
+                // 待开发
+                ocrLists = contractNineBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_TEN:
+                // 待开发
+                ocrLists = idCodeFrontBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_ELEVEN:
+                // 待开发
+                ocrLists = idCodeReverseBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_TWELVE:
+                // 待开发
+                ocrLists = contractTwelveBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_THIRTEEN:
+                // 待开发
+                ocrLists = contractThirteenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_FOURTEEN:
+                // 待开发
+                ocrLists = contractFourteenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_FIFTEEN:
+                // 待开发
+                ocrLists = contractFifteenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_SIXTEEN:
+                // 待开发
+                ocrLists = contractSixteenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_SEVENTEEN:
+                // 待开发
+                ocrLists = contractSeventeenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_EIGHTEEN:
+                // 待开发
+                ocrLists = contractEighteenBackMapper.selectList(queryWrapper);
+                break;
+            case TYPE_NINETEEN:
+                // 待开发
+                ocrLists = contractNineTeenBackMapper.selectList(queryWrapper);
+                break;
+            default:
+                // 待开发
+        }
+        return ocrLists;
+    }
+
+
     /**
      * 原始数据入库。
      *
@@ -1572,10 +1664,11 @@ public class UploadServiceImpl implements UploadService {
             if (data.containsKey("contacts")) {
                 JSONArray jsonArray = JSONArray.parseArray(data.get("contacts").toString());
                 for (int i = 0; i < jsonArray.size(); i++) {
-                    contactName = JSON.parseObject(jsonArray.get(i).toString()).get("contactName").toString();
-                    relationship = JSON.parseObject(jsonArray.get(i).toString()).get("relationship").toString();
-                    contactMobile = JSON.parseObject(jsonArray.get(i).toString()).get("contactMobile").toString();
-                    contactPhone = JSON.parseObject(jsonArray.get(i).toString()).get("contactPhone").toString();
+                    JSONObject tmpJs = JSON.parseObject(jsonArray.get(i).toString());
+                    contactName = tmpJs.containsKey("contactName") ? tmpJs.get("contactName").toString() : "";
+                    relationship = tmpJs.containsKey("relationship") ? tmpJs.get("relationship").toString() : "";
+                    contactMobile = tmpJs.containsKey("contactMobile") ? tmpJs.get("contactMobile").toString() : "";
+                    contactPhone = tmpJs.containsKey("contactPhone") ? tmpJs.get("contactPhone").toString() : "";
                 }
             }
         }

+ 1 - 1
src/main/resources/application-prod.yml

@@ -30,7 +30,7 @@ ocr:
       path: ${ocr.common.url.base}/down/fjs/
 logging:
   level:
-    org.springframework.cloud: info
+    org.springframework.cloud: llinfo
     org.springframework.boot: info
     com.pavis.ai.app.fjs_ocr.mapper: trace
 alg-client:

+ 112 - 8
src/test/java/com/pavis/ai/app/fjsocrasy/FjsOcrAsyApplicationTests.java

@@ -2,27 +2,35 @@
 //
 // import com.alibaba.fastjson.JSON;
 // import com.alibaba.fastjson.JSONObject;
+// import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 // import com.pavis.ai.app.fjsocrasy.common.utils.DateUtils;
 // import com.pavis.ai.app.fjsocrasy.common.utils.DiskUtils;
 // import com.pavis.ai.app.fjsocrasy.form.Desk;
 // import com.pavis.ai.app.fjsocrasy.form.eighteen.Eighteen;
 // import com.pavis.ai.app.fjsocrasy.mapper.ContractEighteenMapper;
+// import com.pavis.ai.app.fjsocrasy.mapper.UploadMapper;
 // import com.pavis.ai.app.fjsocrasy.model.ContractEighteen;
+// import com.pavis.ai.app.fjsocrasy.model.Upload;
 // import com.pavis.ai.app.fjsocrasy.service.BackService;
 // import com.pavis.ai.app.fjsocrasy.service.OcrService;
+// import com.pavis.ai.app.fjsocrasy.service.UploadService;
 // import org.junit.Test;
 // import org.junit.runner.RunWith;
 // import org.springframework.beans.BeanUtils;
 // import org.springframework.beans.factory.annotation.Autowired;
 // import org.springframework.boot.test.context.SpringBootTest;
 // import org.springframework.test.context.junit4.SpringRunner;
+// import sun.misc.BASE64Decoder;
 // import sun.misc.BASE64Encoder;
 //
 // import java.io.BufferedReader;
 // import java.io.File;
 // import java.io.IOException;
 // import java.io.InputStreamReader;
+// import java.security.MessageDigest;
+// import java.time.LocalDate;
 // import java.util.HashMap;
+// import java.util.List;
 // import java.util.Map;
 //
 // @RunWith(SpringRunner.class)
@@ -32,6 +40,18 @@
 //     @Autowired
 //     private BackService backService;
 //
+//     @Autowired
+//     private UploadMapper uploadMapper;
+//
+//     @Autowired
+//     private OcrService ocrService;
+//
+//     @Autowired
+//     private ContractEighteenMapper contractEighteenMapper;
+//
+//     @Autowired
+//     private UploadService uploadService;
+//
 //     @Test
 //     public void testDiskMq(){
 //         String rabbitmqHost = "192.168.0.100";
@@ -50,7 +70,7 @@
 //         String authHash = String.format("Basic %s",base64Val );
 //         headerMap.put("authorization",authHash);
 //
-//         System.err.println(JSON.toJSON(headerMap));
+//         // System.err.println(JSON.toJSON(headerMap));
 //     }
 //
 //     @Test
@@ -93,7 +113,7 @@
 //         //     System.err.println("false: "+os);
 //         // }
 //         Map<String,String> map = DiskUtils.getHdInfo();
-//         System.err.println(JSON.toJSON(map));
+//         // System.err.println(JSON.toJSON(map));
 //
 //         File directory = new File(".");//设定为当前文件夹
 //         String canPath = "";
@@ -104,8 +124,8 @@
 //         }catch(Exception e){
 //             e.getMessage();
 //         }
-//         System.err.println(canPath);
-//         System.err.println(absPath);
+//         // System.err.println(canPath);
+//         // System.err.println(absPath);
 //         // double canSpace = DiskUtils.getWinDiskStoresInfo(canPath);
 //         // System.err.println(canSpace);
 //
@@ -191,8 +211,6 @@
 //         return js.toJSONString();
 //     }
 //
-//     @Autowired
-//     private OcrService ocrService;
 //
 //     @Test
 //     public void testjs(){
@@ -223,6 +241,72 @@
 //     }
 //
 //     @Test
+//     public void testMD5() throws Exception {
+//         String str = base64Dcrypt("BPMFvLeFYr8zWKdkGIlhhg==");
+//         System.err.println(str.getBytes("utf-8"));
+//         System.out.println(new String(str.getBytes("utf-8")));
+//         System.err.println(JM(base64Dcrypt("BPMFvLeFYr8zWKdkGIlhhg==")));
+//         //(a)首先对md5(base64)进行base64解码
+//
+//         //(b)对base64解码后的值通过二进制方式进行读取,其结果应该为32位字符串
+//
+//         //(c)对获取的32位字符串进行md5解密。
+//         System.err.println(getEncryptPwd("097197"));
+//
+//         // String mailPassword = "xivaxiva";
+//         // BASE64Encoder encoder = new BASE64Encoder();
+//         // String pass = encoder.encode(mailPassword.getBytes());
+//
+//         String name = "BPMFvLeFYr8zWKdkGIlhhg==";
+//         BASE64Decoder decoder = new BASE64Decoder();
+//         byte[] decoderName = decoder.decodeBuffer(name);
+//
+//         System.out.println(new String(decoderName).getBytes("utf-8"));
+//
+//     }
+//
+//     /**
+//      * MD5加密字符串
+//      *
+//      * @param str 加密字符串
+//      * @return 加密后的字符串
+//      * @throws Exception 异常
+//      */
+//     public static String getEncryptPwd(String str) throws Exception {
+//         MessageDigest md = MessageDigest.getInstance("MD5");
+//         BASE64Encoder encoder = new BASE64Encoder();
+//         return encoder.encode(md.digest(str.getBytes("utf-8")));
+//     }
+//
+//     /**
+//      * base64解密
+//      */
+//     public static String base64Dcrypt(String str)  {
+//         if (str == null) return null;
+//         String decoderStr = "";
+//
+//         try {
+//             BASE64Decoder decoder = new BASE64Decoder();
+//             byte[] b = decoder.decodeBuffer(str);
+//             decoderStr = new String(b);
+//         } catch (IOException e) {
+//             e.printStackTrace();
+//             return null;
+//         }
+//
+//         return decoderStr;
+//     }
+//     // 加密后解密
+//     public static String JM(String inStr) {
+//         char[] a = inStr.toCharArray();
+//         for (int i = 0; i < a.length; i++) {
+//             a[i] = (char) (a[i] ^ 't');
+//         }
+//         String k = new String(a);
+//         return k;
+//     }
+//
+//     @Test
 //     public void test() throws IOException {
 //         String data = "{  \"lender\":\"占小琴\",  \"idCode\":\"420281198501257247\",  \"mobile\":\"13872114908\", \"address\":\"湖北省黄石市下陆区半山骊园6栋1单元304室\",  \"lower\":\"150000\",  \"postCode\":\"200000\",  \"deadline\":\"36\", \"period\":\"36\",  \"account\":\"占小琴\",  \"accountCode\":\"6217907600006022664\",  \"loanType\":\"装修\",  \"sendAddress\":\"湖北省黄石市下陆区半山骊园6栋1单元304室\" , \"compareDate\":\"2020.07.30\" }";
 //         String reqId = "BO202008210002";
@@ -241,8 +325,6 @@
 //         // backService.backToFjs(resData,"10",System.currentTimeMillis(),"1");
 //     }
 //
-//     @Autowired
-//     private ContractEighteenMapper contractEighteenMapper;
 //     @Test
 //     public void test18(){
 //         String data = "{\"account\":\"占小琴\",\"accountCode\":\"6217907600006022664\",\"address\":\"湖北省黄石市下陆区半山骊园6栋1单元304室\",\"compareDate\":\"2020.07.30\",\"deadline\":\"\",\"idCode\":\"420281198501257247\",\"lender\":\"占小琴\",\"loanType\":\"装修\",\"lower\":\"150000\",\"mobile\":\"13872114908\",\"operateIp\":\"\",\"operateTime\":\"2020-08-21 15:37:16\",\"operator\":\"\",\"operatorId\":\"\",\"period\":\"36\",\"postCode\":\"\",\"remarks\":\"1301.0ms\",\"reqId\":\"BO202008210005\",\"sendAddress\":\"湖北省黄石市下陆区半山骊园6栋1单元304室\"}\n";
@@ -265,4 +347,26 @@
 //         System.err.println(contractEighteenMapper.insert(contractEighteen));
 //     }
 //
+//     @Test
+//     public void testDate(){
+//         LocalDate date = LocalDate.now();
+//         System.out.println("当前日期=" + date);
+//         System.err.println(DateUtils.createFilesByDate());
+//         System.out.println(DateUtils.now());
+//     }
+//
+//     @Test
+//     public void testUnBack(){
+//         QueryWrapper<Upload> uploadQueryWrapper = new QueryWrapper<>();
+//         uploadQueryWrapper.lambda()
+//                 .between(Upload::getOperateTime, DateUtils.startDate(), DateUtils.endDate());
+//         // List<Upload> uploads = uploadMapper.selectList();
+//     }
+//
+//     @Test
+//     public void testOcrBack(){
+//        List list =  uploadService.findByReqId("10","BO20200414000005-03");
+//        System.out.println(JSON.toJSONString(list));
+//     }
+//
 // }

+ 1 - 1
target/classes/application-prod.yml

@@ -30,7 +30,7 @@ ocr:
       path: ${ocr.common.url.base}/down/fjs/
 logging:
   level:
-    org.springframework.cloud: info
+    org.springframework.cloud: llinfo
     org.springframework.boot: info
     com.pavis.ai.app.fjs_ocr.mapper: trace
 alg-client:

BIN
target/classes/com/pavis/ai/app/fjsocrasy/common/config/BackCheckScheduleConfig.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/common/utils/DateUtils.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/common/utils/ocr/ParseUtils.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/controller/BackController.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/mapper/BackCheckMapper.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/model/BackCheck$BackCheckBuilder.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/model/BackCheck.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/OtherService.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/UploadService.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/BackServiceImpl.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/DealServiceImpl.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/LinkServiceImpl.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/OcrServiceImpl.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/OpServiceImpl.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/OtherServiceImpl.class


BIN
target/classes/com/pavis/ai/app/fjsocrasy/service/impl/UploadServiceImpl.class


BIN
target/fjs-ocr-asy-1.0.0.jar


BIN
target/fjs-ocr-asy-1.0.0.jar.original


+ 3 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -10,6 +10,7 @@ com\pavis\ai\app\fjsocrasy\common\config\RabbitMqConfig.class
 com\pavis\ai\app\fjsocrasy\form\seven\LinkSeven.class
 com\pavis\ai\app\fjsocrasy\mapper\ContractEighteenBackMapper.class
 com\pavis\ai\app\fjsocrasy\model\ContractSevenBack.class
+com\pavis\ai\app\fjsocrasy\model\BackCheck.class
 com\pavis\ai\app\fjsocrasy\form\FileDetails.class
 com\pavis\ai\app\fjsocrasy\form\four\Four$FourBuilder.class
 com\pavis\ai\app\fjsocrasy\common\utils\ocr\FileUtils.class
@@ -19,6 +20,7 @@ com\pavis\ai\app\fjsocrasy\mapper\ContractSevenBackMapper.class
 com\pavis\ai\app\fjsocrasy\common\config\FjsConfig.class
 com\pavis\ai\app\fjsocrasy\form\fifteen\LinkFifteen.class
 com\pavis\ai\app\fjsocrasy\form\twelve\PersonalInfoUseAuthorization.class
+com\pavis\ai\app\fjsocrasy\model\BackCheck$BackCheckBuilder.class
 com\pavis\ai\app\fjsocrasy\form\two\LinkOcrTwo.class
 com\pavis\ai\app\fjsocrasy\form\five\Five$FiveBuilder.class
 com\pavis\ai\app\fjsocrasy\form\eleven\MidEleven$MidElevenBuilder.class
@@ -184,6 +186,7 @@ com\pavis\ai\app\fjsocrasy\model\ContractNine$ContractNineBuilder.class
 com\pavis\ai\app\fjsocrasy\model\ContractSixteen.class
 com\pavis\ai\app\fjsocrasy\model\ContractFiveBack$ContractFiveBackBuilder.class
 com\pavis\ai\app\fjsocrasy\form\four\CreditConfirmationLetter$CreditConfirmationLetterBuilder.class
+com\pavis\ai\app\fjsocrasy\mapper\BackCheckMapper.class
 com\pavis\ai\app\fjsocrasy\form\nineteen\MidNineteen$MidNineteenBuilder.class
 com\pavis\ai\app\fjsocrasy\model\IdCodeFront$IdCodeFrontBuilder.class
 com\pavis\ai\app\fjsocrasy\common\utils\DateUtils.class

+ 3 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -111,6 +111,7 @@ F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\service\Internal
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\common\utils\ocr\AipOcrUtils.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\mapper\ContractTwoMapper.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\mapper\IdCodeFrontBackMapper.java
+F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\mapper\BackCheckMapper.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\mapper\ContractSixteenMapper.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\IdCodeFrontBack.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\form\nineteen\Nineteen.java
@@ -190,6 +191,7 @@ F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\common\utils\exc
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\common\utils\ocr\HttpUtil.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\form\SendData.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\RecommendInfo.java
+F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\BackCheck.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\common\config\CorsFilterConfig.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\form\ten\Ten.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\service\OpService.java
@@ -202,6 +204,7 @@ F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\controller\OcrCo
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\Cat.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\Cron.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\ContractFiveBack.java
+F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\common\config\BackCheckScheduleConfig.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\common\http\ResultBody.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\form\eleven\MidEleven.java
 F:\ghj\git\fjs-ocr-asy\src\main\java\com\pavis\ai\app\fjsocrasy\model\ContractSixteen.java