我正在尝试创建一个“演示”付款服务,您可以在其中输入卡信息,并验证数据库以确认您输入的信息是否有效。当时它非常基础,因为数据库只是一个excel电子表格,但目的是在基本验证完成后进行扩展。 我还是很陌生的编程,并努力弄清楚当你输入卡号,cvv2号码和邮政编码时如何根据数据库中保存的信息检查输入?如果此信息不正确,将如何填充错误。到目前为止,这是我的存储库类的代码:
public class DataRepository {
private List<DataRecord> allData = new ArrayList<>();
public DataRepository(String excelFilePath) {
FileInputStream inputStream;
try {
inputStream = new FileInputStream(new File(excelFilePath));
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> iterator = firstSheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue());
break;
case Cell.CELL_TYPE_BOOLEAN:
System.out.print(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue());
break;
}
System.out.print(" - ");
}
System.out.println();
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public List<DataRecord> getAllData() {
return allData;
}
public void setAllData(List<DataRecord> allData) {
this.allData = allData;
}
}
答案 0 :(得分:0)
基本概念是使用类似isCardCorrect
的方法创建名为ExcelService implements ExternalServices
的接口,该方法将所有相关信息(在您的案例卡号,cvv2号和邮政编码中)作为输入参数并返回例如,真/假。
在您的应用程序中,您只使用此接口并从中调用方法。
然后,您可以创建几个实现此接口的类,如DatabaseService implements ExternalServices
和$scope.clickUpload = function(){
$timeout(function() {
angular.element('#upload').trigger('click');
}, 100);
};
。
根据您创建的类,然后将每个调用发送到excel或数据库。
对于错误处理,您有异常和try-catch语句。