Commit 9db0911c authored by 陈宏杰's avatar 陈宏杰

单文件

parent 078e4e2d
......@@ -195,10 +195,20 @@ public class ManualToolController {
}
}
@RequestMapping("/fileDataCheck")
public String fileDataCheck(String type,String collectFileName,String fieldNames){
@RequestMapping("/fileCollectDataCheck")
public String fileCollectDataCheck(String type,String collectFileName,String fieldNames){
try {
fileReportService.fileDataCheck(type,collectFileName,fieldNames);
fileReportService.fileCollectDataCheck(type,collectFileName,fieldNames);
return "SUCCESS";
}catch (Exception e){
return e.getMessage();
}
}
@RequestMapping("/singleFileDataCheck")
public String singleFileDataCheck(String type,String collectFileName,String fieldNames){
try {
fileReportService.singleFileDataCheck(type,collectFileName,fieldNames);
return "SUCCESS";
}catch (Exception e){
return e.getMessage();
......
......@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.io.File;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
......@@ -851,44 +852,61 @@ public class BaiHangFileReportService {
}
@Async
public void fileDataCheck(String type,String collectFileName,String fieldNames) throws Exception{
public void fileCollectDataCheck(String type,String collectFileName,String fieldNames) throws Exception{
log.info("{}集合文件数据校验开始...",collectFileName);
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)) {
singleFileDataCheck(type,fileName,fieldNames);
}
}
}
log.info("{}集合文件数据校验结束",collectFileName);
}
@Async
public void singleFileDataCheck(String type,String singleFileName,String fieldNames) throws Exception{
log.info("{}文件数据校验开始...",singleFileName);
List<String> checkResult = new ArrayList();
File subFile = null;
StringBuffer sBuffer = null;
List<String> fileNameList = Arrays.asList(singleFileName);
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");
List<String> fieldNameList = Arrays.asList(fieldNames.split(","));
for (String dataInfo : dataList) {
Boolean noError = Boolean.TRUE;
sBuffer = new StringBuffer(fileName).append(",");
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) {
Field declaredField = ApplyLoanInfoZhuDai.class.getDeclaredField(fieldName);
Object property = BeanUtil.getProperty(applyLoanInfoZhuDai, fieldName);
if (Objects.isNull(property)) {
sBuffer.append(fieldName).append("is null").append(",");
if (Objects.isNull(property) || Objects.isNull(declaredField)) {
noError = Boolean.FALSE;
sBuffer.append(fieldName).append(",");
}
}
}
checkResult.add(sBuffer.append("\\r\\n").toString());
if (!noError) {
checkResult.add(sBuffer.append(System.getProperty("line.separator")).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);
}
FileUtils.writeLines(file,checkResult,Boolean.TRUE);
}
log.info("{}文件数据校验结束",collectFileName);
log.info("{}文件数据校验结束",singleFileName);
}
}
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