From 47e1131c782f868a8c8d3139e616c5428b34ea7f Mon Sep 17 00:00:00 2001 From: dulingling Date: Mon, 18 May 2020 17:23:53 +0800 Subject: [PATCH] =?UTF-8?q?Upd:=E6=96=B0=E5=A2=9E=E8=B4=B9=E7=8E=87,?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E4=B9=8B=E5=89=8D=E6=89=80=E6=9C=89=E6=9C=89?= =?UTF-8?q?=E6=95=88=E6=97=B6=E9=97=B4=E5=86=85=E8=B4=B9=E7=8E=87=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/impls/ClientManagerImpl.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 15667f54d..2e0bce146 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -1935,8 +1935,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid newConfig.putAll(config); newConfig.put("rate_value", config.getBigDecimal(rateKey)); newConfig.put("rate_name", channel); - if (!clientRateMapper.listClientRatesForSaving(clientId, config.getDate("active_time"), config.getDate("expiry_time"), - config.getDoubleValue("rate_value"), config.getInteger("clean_days"), channel).isEmpty()) { + if (!clientRateMapper.listClientRatesForSaving(clientId, config.getDate("active_time"), config.getDate("expiry_time"), config.getDoubleValue("rate_value"), config.getInteger("clean_days"), channel).isEmpty()) { return; } if (StringUtils.equalsIgnoreCase("rpaypmt_card", config.getString("type"))) { @@ -1946,11 +1945,26 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid }}; newConfig.put("ext_rates", extRateParams.toJSONString()); } + pastRate(clientId,channel); clientRateMapper.saveRate(newConfig); logger.info(clientId + "的" + channel + "费率设置成功"); } } + private void pastRate(int clientId,String rateName){ + List rates = clientRateMapper.listClientRates(clientId, rateName); + if (!rates.isEmpty()) { + Date today = DateUtils.truncate(new Date(), Calendar.DATE); + for (JSONObject rateItem : rates) { + if (rateItem.getDate("expiry_time").before(today) || rateItem.getDate("active_time").after(today)) { + continue; + } + rateItem.put("expiry_time",DateUtils.addDays(new Date(), -1)); + clientRateMapper.updateConfig(rateItem); + } + } + } + @Override @Transactional public void modifyRateConfig(JSONObject manager, String clientMoniker, int rateId, ClientRateConfig config) {