diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java index 6431ae5e8..a118d83cc 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java @@ -342,11 +342,14 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider ZipOutputStream zos = new ZipOutputStream(ous); for (JSONObject log : logs) { String dateString = DateFormatUtils.format(log.getDate("operate_time"), "yyyyMMddHHmmss"); - String filename = "Merchant_Settlement_Info_" + dateString + RandomStringUtils.random(8, false, true) + ".xlsx"; - zos.putNextEntry(new ZipEntry(filename)); List details = clearingDetailMapper.listReportsOfSettlement(log.getIntValue("clearing_id")); - byte[] xlsx = generateSettleXlsxFile(dt, details, null); - IOUtils.write(xlsx, zos); + List bankList = details.stream().map(detail -> detail.getString("settle_bank")).distinct().collect(Collectors.toList()); + for (String bank : bankList) { + String filename = "Merchant_Settlement_Info_" + dateString + "_" + bank + ".xlsx"; + zos.putNextEntry(new ZipEntry(filename)); + byte[] xlsx = generateSettleXlsxFile(dt, details, bank); + IOUtils.write(xlsx, zos); + } } zos.flush(); IOUtils.closeQuietly(zos);