Мой код - это взять CSV-файл и прочитать строку за строкой и сохранить в базе данных.Как проверить правильность каждой строки данных или нет.если все данные считаны правильно, сохраняются только базы данных, в противном случае не сохраняется и возвращается «файл csv в правильных данных, пожалуйста, проверьте».
проверка названия округа должна быть строкой / только текст, проверка кода страны должна быть только числом и не более 4digte
Вот мой код работает без каких-либо проверок
@PostMapping(value = {"/upload-csv"})
public ResponseEntity<?> CreateCountrytBulk(@RequestParam("file") MultipartFile inputFile, @RequestParam("type") Integer type) {
BufferedReader crunchifyBuffer = null;
String workingDir = System.getProperty("user.dir") +"/csv/";
if (!inputFile.isEmpty()) try {
byte[] bytes = inputFile.getBytes();
Path path = Paths.get(workingDir + inputFile.getOriginalFilename());
Files.write(path, bytes);
countryCodeMapRepository.deleteAll();
CSVReader reader = null;
try {
reader = new CSVReader(new FileReader(workingDir+ inputFile.getOriginalFilename()));
String[] line;
while ((line = reader.readNext()) != null) {
String y = line[0];
String country_name=y.trim();
String x = line[1];
Integer country_id = Integer.valueOf(x);
CountryCodeMapEntity countryCodeMapEntity = new CountryCodeMapEntity();
if(!(country_name ==null)&&!(country_id ==null)) {
countryCodeMapEntity.setCountry_name(country_name);
countryCodeMapEntity.setCountry_id(country_id);
countryCodeMapEntity.setStatus(1);
countryCodeMapEntity.setCreatedBy(1);
countryCodeMapEntity.setCreatedOn(LocalDateTime.now());
countryCodeMapRepository.save(countryCodeMapEntity);
}else{
return ResponseEntity.ok(new ApiResponse(false, "County List some value missing", ""));
}
}
} catch (IOException e) {
e.printStackTrace();
}
return ResponseEntity.ok(new ApiResponse(true, "County List created successfully", ""));
} catch (Exception e) {
return ResponseEntity.ok(new ApiResponse(true, "County List created successfully", ""));
}
else {
return ResponseEntity.ok(new ApiResponse(true, "County List created successfully", ""));
}
}