Commit 078e4e2d authored by 陈宏杰's avatar 陈宏杰

数据校验

parent 0f3c0fb7
...@@ -281,6 +281,12 @@ ...@@ -281,6 +281,12 @@
<artifactId>spring-cloud-starter-eureka-server</artifactId> <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.1</version>
</dependency>
</dependencies> </dependencies>
<dependencyManagement> <dependencyManagement>
......
...@@ -195,4 +195,14 @@ public class ManualToolController { ...@@ -195,4 +195,14 @@ public class ManualToolController {
} }
} }
@RequestMapping("/fileDataCheck")
public String fileDataCheck(String type,String collectFileName,String fieldNames){
try {
fileReportService.fileDataCheck(type,collectFileName,fieldNames);
return "SUCCESS";
}catch (Exception e){
return e.getMessage();
}
}
} }
package cn.quantgroup.report.service.baihang; package cn.quantgroup.report.service.baihang;
import cn.hutool.core.bean.BeanUtil;
import cn.quantgroup.report.domain.baihang.*; import cn.quantgroup.report.domain.baihang.*;
import cn.quantgroup.report.error.QGException; import cn.quantgroup.report.error.QGException;
import cn.quantgroup.report.mapper.baihang.ApplyLoanInfoMapper; import cn.quantgroup.report.mapper.baihang.ApplyLoanInfoMapper;
...@@ -849,4 +850,45 @@ public class BaiHangFileReportService { ...@@ -849,4 +850,45 @@ public class BaiHangFileReportService {
} }
} }
@Async
public void fileDataCheck(String type,String collectFileName,String fieldNames) throws Exception{
if (StringUtils.isBlank(collectFileName)) {
return;
}
log.info("{}文件数据校验开始...",collectFileName);
List<String> checkResult = new ArrayList();
File collectFile = new File(HOST_PATH + collectFileName);
File subFile = null;
StringBuffer sBuffer = null;
if (collectFile.exists()) {
List<String> fileNameList = FileUtils.readLines(collectFile, "utf-8");
for (String fileName : fileNameList) {
if (StringUtils.isNotBlank(fileName)) {
subFile = new File(HOST_PATH + fileName.replace("-R.cry",".txt"));
List<String> dataList = FileUtils.readLines(subFile, "utf-8");
for (String dataInfo : dataList) {
if ("A1".equalsIgnoreCase(type) || "A1Refuse".equalsIgnoreCase(type)) {
ApplyLoanInfoZhuDai applyLoanInfoZhuDai = JSONObject.parseObject(dataInfo, ApplyLoanInfoZhuDai.class);
sBuffer = new StringBuffer(fileName).append(",");
sBuffer.append(applyLoanInfoZhuDai.getApplyId()).append(",");
List<String> fieldNameList = Arrays.asList(fieldNames.split(","));
for (String fieldName : fieldNameList) {
Object property = BeanUtil.getProperty(applyLoanInfoZhuDai, fieldName);
if (Objects.isNull(property)) {
sBuffer.append(fieldName).append("is null").append(",");
}
}
}
checkResult.add(sBuffer.append("\\r\\n").toString());
}
}
}
if (!CollectionUtils.isEmpty(checkResult)) {
File file = new File(HOST_PATH + type + "_fileDataCheck_" + DateUtils.formatDate(new Date(),"yyyyMMddHHmmsss") + ".txt");
FileUtils.writeLines(file,checkResult,Boolean.FALSE);
}
}
log.info("{}文件数据校验结束",collectFileName);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment