我必须生成一个文件,其中包含以下格式的不同商人的货币交易:
FILE_HEADER
MERCHANT_AND_CURRENCY_HEADER
TRANSACTION_WITH_AMOUNT_AND_SAME_CURRENCY_INDICATED_IN_HEADER
MERCHANT_FOOTER_WITH_COUNTER_AND_TOTAL_AMOUNT_OF_TRANSACTIONS_FOR_CURRENT_CURRENCY
MERCHANT_AND_CURRENCY_HEADER
TRANSACTION_WITH_AMOUNT_AND_SAME_CURRENCY_INDICATED_IN_HEADER
MERCHANT_FOOTER_WITH_COUNTER_AND_TOTAL_AMOUNT_OF_TRANSACTIONS_FOR_CURRENT_CURRENCY
MERCHANT_AND_CURRENCY_HEADER
TRANSACTION_WITH_AMOUNT_AND_SAME_CURRENCY_INDICATED_IN_HEADER
MERCHANT_FOOTER_WITH_COUNTER_AND_TOTAL_AMOUNT_OF_TRANSACTIONS_FOR_CURRENT_CURRENCY
FILE_FOOTER
现在,我的解决方案是从数据库中提取商人和货币订购的所有交易,并检查每个项目是否当前交易的货币和商人与前一个相同,并且如果这些字段不同,我要附加到归档前一组的页脚和当前组的页眉。 spring-batch中是否有其他方法可以解决这种情况?我当时正在考虑开始使用嵌套作业,但是我不确定这是正确的方法。
感谢您的帮助。
答案 0 :(得分:0)
在您看来,逻辑输出项可能是:
MERCHANT_AND_CURRENCY_HEADER
TRANSACTION_WITH_AMOUNT_AND_SAME_CURRENCY_INDICATED_IN_HEADER
MERCHANT_FOOTER_WITH_COUNTER_AND_TOTAL_AMOUNT_OF_TRANSACTIONS_FOR_CURRENT_CURRENCY
例如,您可以做的是
FlatFileHeaderCallback
和FlatFileFooterCallback
全局写入FILE_HEADER
和FILE_FOOTER