From 4244b1557df1df656bc1f33ae4f3b1a72ffb9007 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Tue, 11 Jul 2023 17:21:39 +0800 Subject: [PATCH] fix bug --- .../iformall/controller/mem/AsyncTask.java | 45 +++++++++++-------- .../service/TtMerchantPoiService.java | 2 +- .../impl/TtMerchantPoiServiceImpl.java | 15 ++++--- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java index 92d0051d1..9acbb41cd 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java @@ -272,7 +272,7 @@ public class AsyncTask { //查询所有匹配了poi的 TtMerchantPoi poiQ = new TtMerchantPoi(); poiQ.updateTenantInfo(tenantEntity); - Map poiMerchantIdMap = ttMerchantPoiService.queryPoiMerchantIdMap(poiQ); + Map poiMerchantMap = ttMerchantPoiService.queryPoiMerchantMap(poiQ); //查询所有商户 WxMerchant merchantQ = new WxMerchant(); @@ -282,6 +282,31 @@ public class AsyncTask { try { successList.parallelStream().forEach(poiBase -> { try { + String poiId = poiBase.getPoiId(); + if (StringUtils.isNotBlank(poiId) && null != poiMerchantMap) { + TtMerchantPoi tm = poiMerchantMap.get(poiId); + if (null != tm) { + if (tm.getId() > 0 ) { + poiBase.setMerchantId(String.valueOf(tm.getId())); + poiBase.setProvince(tm.getProvince()); + poiBase.setCity(tm.getCity()); + poiBase.setAddress(tm.getAddress()); + poiBase.setLongitude(tm.getLongitude()); + poiBase.setLatitude(tm.getLatitude()); + poiBase.setGaodeRemark("已匹配过,无需查询高德匹配"); + }else { + poiBase.setMerchantId(null); + poiBase.setMerchantName("多个商户已匹配该POI,请手动输入商户信息"); + } + } + if (null != merchantMap && null != tm && tm.getId() > 0) { + WxMerchant m = merchantMap.get(tm.getId()); + if (null != m) { + poiBase.setMerchantName(m.getName()); + } + } + } + if (StringUtils.isNotBlank(poiBase.getProvince()) && StringUtils.isNotBlank(poiBase.getCity()) && StringUtils.isNotBlank(poiBase.getAddress()) && null != poiBase.getLongitude() && null != poiBase.getLatitude()) { //do nothing @@ -302,23 +327,7 @@ public class AsyncTask { poiBase.setGaodeRemark("未匹配到信息"); } } - String poiId = poiBase.getPoiId(); - if (StringUtils.isNotBlank(poiId) && null != poiMerchantIdMap) { - Long merchantId = poiMerchantIdMap.get(poiId); - if (null != merchantId) { - if (merchantId > 0 ) { - poiBase.setMerchantId(String.valueOf(merchantId)); - }else { - poiBase.setMerchantId("多个商户已匹配该POI,请手动输入"); - } - } - if (null != merchantMap && null != merchantId && merchantId > 0) { - WxMerchant m = merchantMap.get(merchantId); - if (null != m) { - poiBase.setMerchantName(m.getName()); - } - } - } + } catch (UnknownSessionException ue) { logger.error("session :"+ue.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java b/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java index fb75ada92..b623e4b65 100644 --- a/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java +++ b/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java @@ -72,5 +72,5 @@ public interface TtMerchantPoiService { GaoDePoiInfo queryGaoDePoiInfo(String gaodeKey,String address); - Map queryPoiMerchantIdMap(TtMerchantPoi merchantPoiQ); + Map queryPoiMerchantMap(TtMerchantPoi merchantPoiQ); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java index 47581d95b..ee08f2b78 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java @@ -729,18 +729,21 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { } @Override - public Map queryPoiMerchantIdMap(TtMerchantPoi merchantPoiQ) { + public Map queryPoiMerchantMap(TtMerchantPoi merchantPoiQ) { List poiList = ttMerchantPoiMapper.findList(merchantPoiQ); if (null != poiList) { - Map poiMerchantIdMap = new HashMap(); + Map poiMerchantIdMap = new HashMap(); for (int i = 0 ; i < poiList.size(); i++) { TtMerchantPoi poi = poiList.get(i); if (StringUtils.isNotBlank(poi.getPoiId())) { - Long curMId = poiMerchantIdMap.get(poi.getPoiId()); - if (null == curMId) { - poiMerchantIdMap.put(poi.getPoiId(), poi.getId()); + TtMerchantPoi curm = poiMerchantIdMap.get(poi.getPoiId()); + if (null == curm) { + poiMerchantIdMap.put(poi.getPoiId(), poi); }else { - poiMerchantIdMap.put(poi.getPoiId(), -1L); + TtMerchantPoi _poiT = new TtMerchantPoi(); + _poiT.setId(-1L); + _poiT.setMerchantName("多个商户已匹配该POI"); + poiMerchantIdMap.put(poi.getPoiId(), _poiT); } } }