diff --git a/pom.xml b/pom.xml index 31747679d..b382f96fc 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 1.1.2 - 1.0.9 + 1.0.10 diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/payment/CommonSubMerchantIdMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/payment/CommonSubMerchantIdMapper.java index 49a644465..0e2acbd70 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/payment/CommonSubMerchantIdMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/payment/CommonSubMerchantIdMapper.java @@ -1,5 +1,6 @@ package au.com.royalpay.payment.manage.mappers.payment; +import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect; import org.apache.ibatis.annotations.Param; import com.alibaba.fastjson.JSONObject; @@ -27,5 +28,4 @@ public interface CommonSubMerchantIdMapper { @AutoSql(type = SqlType.SELECT) JSONObject find(@Param("sub_merchant_id") String subMerchantId); - } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java index bdd26313d..0832bd737 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java @@ -23,6 +23,7 @@ import org.apache.commons.lang3.time.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMethod; @@ -96,15 +97,14 @@ public class MerchantIdManageServiceImpl implements MerchantIdManageService { @Override public void generateClientsSunMerchantId() { //重构未交易商户号逻辑 - String tempSubMerchantIds = sysConfigManager.getSysConfig().getString("temp_sub_mch_id"); List clients = clientAnalysisMapper.tradeSubMerchantIdBy60Days(DateUtils.addDays(new Date(), -60)); if (clients.size() > 0) { clientSubMerchantIdMapper.deleteAll(); } for (JSONObject client: clients) { String subMerchantId = client.getString("sub_merchant_id"); - if (subMerchantId != null && tempSubMerchantIds != null && tempSubMerchantIds.contains(subMerchantId)) { - client.put("temp_sub_merchant", true); + if (subMerchantId != null) { + client.put("temp_sub_merchant", checkSubMerchantIdInCommonPool(subMerchantId)); } String id = client.getString("sub_merchant_id"); client.put("create_time",new Date()); @@ -142,11 +142,10 @@ public class MerchantIdManageServiceImpl implements MerchantIdManageService { } private Map> getClientMap(List clients){ - String tempSubMerchantIds = sysConfigManager.getSysConfig().getString("temp_sub_mch_id"); for (JSONObject client: clients) { String subMerchantId = client.getString("sub_merchant_id"); - if (subMerchantId != null && tempSubMerchantIds != null && tempSubMerchantIds.contains(subMerchantId)) { - client.put("temp_sub_merchant", true); + if (subMerchantId != null) { + client.put("temp_sub_merchant", checkSubMerchantIdInCommonPool(subMerchantId)); } } Map> clientsMap = clients.stream() @@ -190,4 +189,11 @@ public class MerchantIdManageServiceImpl implements MerchantIdManageService { String sign = DigestUtils.sha256Hex(validStr).toLowerCase(); return "time=" + time + "&nonce_str=" + nonceStr + "&sign=" + sign; } + + @Cacheable("common_sub_mch_id:") + public boolean checkSubMerchantIdInCommonPool(String subMerchantId) { + JSONObject json = commonSubMerchantIdMapper.find(subMerchantId); + return json != null; + } + } 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 49f951fe1..db36e43d5 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 @@ -26,6 +26,7 @@ import au.com.royalpay.payment.manage.device.core.DeviceManager; import au.com.royalpay.payment.manage.management.sysconfig.core.impls.PermissionPartnerManagerImpl; import au.com.royalpay.payment.manage.mappers.financial.FinancialBDConfigMapper; import au.com.royalpay.payment.manage.mappers.log.*; +import au.com.royalpay.payment.manage.mappers.payment.CommonSubMerchantIdMapper; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.redpack.ActClientInvitationCodeMapper; import au.com.royalpay.payment.manage.mappers.risk.RiskAttentionMerchantsMapper; @@ -277,6 +278,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private MerchantSignInfoMapper merchantSignInfoMapper; @Resource + private CommonSubMerchantIdMapper commonSubMerchantIdMapper; + @Resource private Locker locker; @@ -372,12 +375,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } if (!StringUtils.equalsIgnoreCase(clientMoniker, PlatformEnvironment.getEnv().getTestMoniker())) { String subMerchantId = client.getString("sub_merchant_id"); - String tempSubMerchantIds = sysConfigManager.getSysConfig().getString("temp_sub_mch_id"); - String tempSubMchSource = sysConfigManager.getSysConfig().getString("temp_sub_mch_id_source"); - tempSubMchSource = tempSubMchSource == null ? "" : tempSubMchSource; - if (subMerchantId != null && tempSubMerchantIds != null && tempSubMerchantIds.contains(subMerchantId) - && !tempSubMchSource.contains(client.getString("client_moniker"))) { - client.put("temp_sub_merchant", true); + if (subMerchantId != null) { + client.put("temp_sub_merchant", checkSubMerchantIdInCommonPool(subMerchantId)); } } if (client.getIntValue("approve_result") == 1 @@ -526,9 +525,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid int authDays = PlatformEnvironment.getEnv().authDays();// 快速自助开通申请有效期 for (JSONObject partner : partners) { String subMerchantId = partner.getString("sub_merchant_id"); - if (subMerchantId != null && tempSubMchId != null && tempSubMchId.contains(subMerchantId) - && !tempSubMchSource.contains(partner.getString("client_moniker"))) { - partner.put("temp_sub_merchant", true); + if (subMerchantId != null ) { + partner.put("temp_sub_merchant", checkSubMerchantIdInCommonPool(subMerchantId)); } if (partner.getIntValue("approve_result") == 2) { partner.put("expiry_time", DateUtils.addDays(partner.getDate("approve_time"), authDays)); @@ -4911,6 +4909,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } + @Cacheable("common_sub_mch_id:") + public boolean checkSubMerchantIdInCommonPool(String subMerchantId) { + JSONObject json = commonSubMerchantIdMapper.find(subMerchantId); + return json != null; + } + @Override public JSONObject comListPartnerSelection(JSONObject manager, PartnerQuery query) { JSONObject params = query.toJsonParam(); @@ -4926,9 +4930,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid int authDays = PlatformEnvironment.getEnv().authDays();// 快速自助开通申请有效期 for (JSONObject partner : partners) { String subMerchantId = partner.getString("sub_merchant_id"); - if (subMerchantId != null && tempSubMchId != null && tempSubMchId.contains(subMerchantId) - && !tempSubMchSource.contains(partner.getString("client_moniker"))) { - partner.put("temp_sub_merchant", true); + if (subMerchantId != null) { + partner.put("temp_sub_merchant", checkSubMerchantIdInCommonPool(subMerchantId)); } if (partner.getIntValue("approve_result") == 2) { partner.put("expiry_time", DateUtils.addDays(partner.getDate("approve_time"), authDays)); diff --git a/src/main/ui/index.html b/src/main/ui/index.html index 3f422bb06..c36725df8 100644 --- a/src/main/ui/index.html +++ b/src/main/ui/index.html @@ -881,7 +881,7 @@ margin-bottom: 10%;"/> -
  • +