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 c0cee2321..310aaacc6 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 @@ -31,6 +31,7 @@ import au.com.royalpay.payment.tools.env.SysConfigManager; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; +import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.locale.LocaleSupport; import au.com.royalpay.payment.tools.lock.Locker; import au.com.royalpay.payment.tools.merchants.beans.BalanceGroup; @@ -1469,9 +1470,11 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider } } } catch (IOException e) { - logger.error("生成excel字节数组发生错误"); + logger.error("生成excel字节数组发生错误", e); + throw new ServerErrorException("IOError", e); } catch (URISyntaxException e) { - logger.error("调用服务发送邮件时错误"); + logger.error("调用服务发送邮件时错误", e); + throw new ServerErrorException("IOError", e); } result.put("result", 0); result.put("msg", "已发送"); diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index e21d847ea..41c285409 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -153,6 +153,10 @@ public class TradeLogServiceImpl implements TradeLogService { private org.springframework.core.io.Resource austrac_report; @Value("classpath:/jasper/partner_settlement_detail.jasper") private org.springframework.core.io.Resource partner_settlement_flow; + @Value("classpath:/jasper/securepay_logo.png") + private org.springframework.core.io.Resource securepay_logo; + @Value("classpath:/jasper/securepay_settlement_detail.jasper") + private org.springframework.core.io.Resource securepay_settlement_flow; @Override public JSONObject listPartnerTradeLogs(JSONObject manager, JSONObject account, String shortId, TradeLogQuery query, String timezone) throws Exception { @@ -1981,7 +1985,7 @@ public class TradeLogServiceImpl implements TradeLogService { clientManager.queryModifyClientIds(client.getIntValue("client_id"), params); List clientOrderList = transactionMapper.getClientOrderByTransactionTime(params); JSONObject parmerters = new JSONObject(); - parmerters.put("dateRange", "(Statement Period " + begin + "~" + parmerters.put("dateRange", "(Period " + begin + "~" + end + ")"); parmerters.put("clientName", client.getString("company_name")); parmerters.put("clientAddress", client.getString("address")); @@ -1989,43 +1993,45 @@ public class TradeLogServiceImpl implements TradeLogService { List settlementLogDetailList = new ArrayList<>(); try { parmerters.put("logo", logo.getInputStream()); + parmerters.put("org_logo", securepay_logo.getInputStream()); if (!clientOrderList.isEmpty()) { List clientOrders = new ArrayList<>(clientOrderList.size()); clientOrderList.parallelStream().forEach(p -> clientOrders.add(p.getInteger("clearing_order"))); settlementLogDetailList = transactionMapper.getSettlementLogDetailList(clientOrders); TimeZoneUtils.switchTimeZoneToString(settlementLogDetailList, timezone, "yyyy-MM-dd HH:mm:ss", Collections.singletonList("transaction_time")); settlementLogDetailList.parallelStream().forEach(item -> { - scaleDecimalVal(item, "display_amount", item.getString("transaction_currency")); String platformCurrency = PlatformEnvironment.getEnv().getForeignCurrency(); scaleDecimalVal(item, "clearing_amount", platformCurrency); scaleDecimalVal(item, "settle_amount", platformCurrency); scaleDecimalVal(item, "total_surcharge", platformCurrency); scaleDecimalVal(item, "transaction_amount", platformCurrency); - item.put("exchange_rate", item.getBigDecimal("exchange_rate").setScale(5, RoundingMode.DOWN)); + item.put("exchange_rate", item.getBigDecimal("exchange_rate").setScale(5, RoundingMode.DOWN).stripTrailingZeros()); item.put("gateway", item.getInteger("gateway") == null ? "-" : TradeType.fromGatewayNumber(item.getIntValue("gateway")).getTradeType()); - item.put("rate", item.getBigDecimal("rate") == null ? "-" : item.getBigDecimal("rate").toPlainString() + "%"); + item.put("rate", item.getBigDecimal("rate") == null ? "-" : item.getBigDecimal("rate").stripTrailingZeros().toPlainString() + "%"); }); } if (clientOrderList.size() <= 0) { JSONObject mockJson = new JSONObject(); mockJson.put("order_id", "-"); + mockJson.put("client_order_id", "-"); mockJson.put("transaction_time", "-"); mockJson.put("channel", "-"); mockJson.put("gateway", "-"); mockJson.put("exchange_rate", BigDecimal.ZERO); mockJson.put("transaction_type", "-"); mockJson.put("transaction_currency", "-"); - mockJson.put("display_amount", BigDecimal.ZERO); mockJson.put("settle_amount", BigDecimal.ZERO); mockJson.put("remark", ""); mockJson.put("transaction_amount", BigDecimal.ZERO); mockJson.put("total_surcharge", BigDecimal.ZERO); mockJson.put("clearing_amount", BigDecimal.ZERO); + mockJson.put("transaction_fee", BigDecimal.ZERO); + mockJson.put("tax_amount", BigDecimal.ZERO); mockJson.put("rate", BigDecimal.ZERO); settlementLogDetailList.add(mockJson); } JRDataSource jrDataSource = new JRBeanCollectionDataSource(settlementLogDetailList); - return JasperRunManager.runReportToPdf(partner_settlement_flow.getInputStream(), parmerters, jrDataSource); + return JasperRunManager.runReportToPdf(securepay_settlement_flow.getInputStream(), parmerters, jrDataSource); } catch (Exception e) { throw new ServerErrorException(e); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 904c4779b..958b177d8 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -114,7 +114,7 @@ royalpay: appkey: 43390d81e20c5191c278fbf4cd275be2 server: - port: 5000 + port: 5555 settle: abafile: diff --git a/src/main/resources/jasper/securepay_logo.png b/src/main/resources/jasper/securepay_logo.png new file mode 100644 index 000000000..86f3892b9 Binary files /dev/null and b/src/main/resources/jasper/securepay_logo.png differ diff --git a/src/main/resources/jasper/securepay_settlement_detail.jasper b/src/main/resources/jasper/securepay_settlement_detail.jasper new file mode 100644 index 000000000..81d8c724f Binary files /dev/null and b/src/main/resources/jasper/securepay_settlement_detail.jasper differ