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

单文件

parent 078e4e2d
...@@ -195,10 +195,20 @@ public class ManualToolController { ...@@ -195,10 +195,20 @@ public class ManualToolController {
} }
} }
@RequestMapping("/fileDataCheck") @RequestMapping("/fileCollectDataCheck")
public String fileDataCheck(String type,String collectFileName,String fieldNames){ public String fileCollectDataCheck(String type,String collectFileName,String fieldNames){
try { 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"; return "SUCCESS";
}catch (Exception e){ }catch (Exception e){
return e.getMessage(); return e.getMessage();
......
...@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service; ...@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.io.File; import java.io.File;
import java.lang.reflect.Field;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
...@@ -851,44 +852,61 @@ public class BaiHangFileReportService { ...@@ -851,44 +852,61 @@ public class BaiHangFileReportService {
} }
@Async @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)) { if (StringUtils.isBlank(collectFileName)) {
return; return;
} }
log.info("{}文件数据校验开始...",collectFileName);
List<String> checkResult = new ArrayList();
File collectFile = new File(HOST_PATH + collectFileName); File collectFile = new File(HOST_PATH + collectFileName);
File subFile = null;
StringBuffer sBuffer = null;
if (collectFile.exists()) { if (collectFile.exists()) {
List<String> fileNameList = FileUtils.readLines(collectFile, "utf-8"); 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) { for (String fileName : fileNameList) {
if (StringUtils.isNotBlank(fileName)) { if (StringUtils.isNotBlank(fileName)) {
subFile = new File(HOST_PATH + fileName.replace("-R.cry",".txt")); subFile = new File(HOST_PATH + fileName.replace("-R.cry",".txt"));
List<String> dataList = FileUtils.readLines(subFile, "utf-8"); List<String> dataList = FileUtils.readLines(subFile, "utf-8");
List<String> fieldNameList = Arrays.asList(fieldNames.split(","));
for (String dataInfo : dataList) { for (String dataInfo : dataList) {
Boolean noError = Boolean.TRUE;
sBuffer = new StringBuffer(fileName).append(",");
if ("A1".equalsIgnoreCase(type) || "A1Refuse".equalsIgnoreCase(type)) { if ("A1".equalsIgnoreCase(type) || "A1Refuse".equalsIgnoreCase(type)) {
ApplyLoanInfoZhuDai applyLoanInfoZhuDai = JSONObject.parseObject(dataInfo, ApplyLoanInfoZhuDai.class); ApplyLoanInfoZhuDai applyLoanInfoZhuDai = JSONObject.parseObject(dataInfo, ApplyLoanInfoZhuDai.class);
sBuffer = new StringBuffer(fileName).append(",");
sBuffer.append(applyLoanInfoZhuDai.getApplyId()).append(","); sBuffer.append(applyLoanInfoZhuDai.getApplyId()).append(",");
List<String> fieldNameList = Arrays.asList(fieldNames.split(","));
for (String fieldName : fieldNameList) { for (String fieldName : fieldNameList) {
Field declaredField = ApplyLoanInfoZhuDai.class.getDeclaredField(fieldName);
Object property = BeanUtil.getProperty(applyLoanInfoZhuDai, fieldName); Object property = BeanUtil.getProperty(applyLoanInfoZhuDai, fieldName);
if (Objects.isNull(property)) { if (Objects.isNull(property) || Objects.isNull(declaredField)) {
sBuffer.append(fieldName).append("is null").append(","); 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)) { if (!CollectionUtils.isEmpty(checkResult)) {
File file = new File(HOST_PATH + type + "_fileDataCheck_" + DateUtils.formatDate(new Date(),"yyyyMMddHHmmsss") + ".txt"); 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