From ea8eeafb1ddad4774bbc2997fbf7112367d432e6 Mon Sep 17 00:00:00 2001 From: yixian Date: Wed, 7 Nov 2018 15:15:49 +0800 Subject: [PATCH 1/4] distribute bank rule edit: prefer to move no-CBA bank accounts to ANZ --- .../clearing/core/impl/CleanServiceImpl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 f965868a4..27f2fdeb9 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 @@ -1170,7 +1170,19 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider String defaultBank = config.getRemainsTo(); clearingDetailMapper.updateAllBanks(defaultBank, clearingId); List details = clearingDetailMapper.listReportsOfSettlement(clearingId); - details.sort((log1, log2) -> log2.getBigDecimal("clearing_amount").compareTo(log1.getBigDecimal("clearing_amount"))); + details.sort((log1, log2) -> { + if (StringUtils.equals(defaultBank, log1.getString("account_bank")) == + StringUtils.equals(defaultBank, log2.getString("account_bank"))) { + //两个银行都是defaultBank或者都不是defaultBank, all true or all false,比较清算金额,金额大的在前 + return log2.getBigDecimal("clearing_amount").compareTo(log1.getBigDecimal("clearing_amount")); + } + //有一个是defaultBank,defaultBank在后 + if (defaultBank.equals(log1.getString("account_bank"))) { + return -1; + } else { + return 1; + } + }); bankDistribution.remove(defaultBank); for (String bank : bankDistribution.keySet()) { List detailIds = new ArrayList<>(); From 68a1942364d98636566044a05f02b0668a5ed623 Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 8 Nov 2018 09:45:16 +0800 Subject: [PATCH 2/4] =?UTF-8?q?add=20&&=20fix=20=E5=95=86=E6=88=B7?= =?UTF-8?q?=E5=8F=B7=E7=AE=A1=E7=90=86\=E4=BC=98=E5=8C=96SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/ClientRatesAnalysisMapper.xml | 11 ++++----- .../analysis/mappers/OrderAnalysisMapper.xml | 8 +++---- src/main/ui/manage.html | 9 ++++++-- .../ui/static/menu/templates/main_menu.html | 23 +++++++++---------- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml index 6c4a23d6d..140c8d33e 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml @@ -30,13 +30,12 @@ INNER JOIN ( SELECT c.client_id, - count(o.order_id) orders + SUM(o.orders) orders FROM sys_clients c - LEFT JOIN pmt_orders o - ON o.client_id = c.client_id AND o.status > 4 - AND date(o.create_time) <= date(#{end}) - AND date(o.create_time) >= date(#{begin}) - and o.total_amount>10 + LEFT JOIN statistics_customer_order o + ON o.client_id = c.client_id AND o.total > 10 + AND date(o.date) <= date(#{end}) + AND date(o.date) >= date(#{begin}) WHERE c.approve_result=1 and c.is_valid=1 GROUP BY c.client_id ) c ON c.client_id = r.client_id diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/OrderAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/OrderAnalysisMapper.xml index 6c3265277..650a06208 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/OrderAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/OrderAnalysisMapper.xml @@ -197,10 +197,9 @@