From 194c3712f820aaf0678a738c3015a7a71fbe380d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B9=90=E8=A8=80?= Date: Fri, 27 Feb 2026 16:50:42 +0800 Subject: [PATCH] =?UTF-8?q?0227=E6=B5=B7=E5=AE=81pad=E8=B5=B0=E8=AE=BF+?= =?UTF-8?q?=E8=A1=8C=E6=94=BF=E5=8C=BA=E5=88=92=E7=BC=96=E7=A0=81=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ibs/cmpm/service/GridCmpmService.java | 19 +++++- .../ibs/custmap/mapper/CustMapMapper.java | 2 +- .../impl/AddressAnalyseServiceImpl.java | 16 +++-- .../ruoyi/ibs/list/domain/VisitInfoDTO.java | 7 ++ .../ruoyi/ibs/list/domain/VisitInfoVO.java | 8 +++ .../impl/CustInfoRetailServiceImpl.java | 2 +- .../impl/CustTabListInfoServiceImpl.java | 2 +- .../mapper/custmap/CustMapMapper.xml | 9 ++- .../mapper/list/SysCampaignMapper.xml | 4 +- ruoyi-ui/.env.development | 2 +- .../views/taskManage/PADvisitRecord/index.vue | 64 ++++++++++++++++++- 11 files changed, 118 insertions(+), 17 deletions(-) diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java index 5a58531..e71cb46 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java +++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java @@ -227,7 +227,24 @@ public class GridCmpmService { Map historyLevelCountMap = getCustLevelCountMap(custManagerDTO, "last"); Map custLevelCompLm = calculateLevelChanges(historyLevelCountMap, currentLevelCountMap); vo.setCustLevelCompLm(custLevelCompLm); - vo.setCustLevelCount(currentLevelCountMap); + + // 在 vo.setCustLevelCompLm 之前,按顺序重新组织数据 + String[] order = {"5星", "4星", "3星", "2星", "1星", "基础", "长尾"}; + Map orderedCustLevelCompLm = new LinkedHashMap<>(); + for (String itemKey : order) { + if (custLevelCompLm.containsKey(itemKey)) { + orderedCustLevelCompLm.put(itemKey, custLevelCompLm.get(itemKey)); + } + } + vo.setCustLevelCompLm(orderedCustLevelCompLm); + // custLevelCount 同理 + Map orderedCustLevelCount = new LinkedHashMap<>(); + for (String itemKey : order) { + if (currentLevelCountMap.containsKey(itemKey)) { + orderedCustLevelCount.put(itemKey, currentLevelCountMap.get(itemKey)); + } + } + vo.setCustLevelCount(orderedCustLevelCount); ObjectMapper objectMapper = new ObjectMapper(); try{ diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java index a75d335..092a5da 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java +++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java @@ -35,7 +35,7 @@ public interface CustMapMapper extends BaseMapper { List exportCustMapListByPolygon(CustMapPolygonExcelDTO custMapPolygonExcelDTO ); - List selectLngAndLat(@Param("offset") int offset, @Param("limit") int limit); + List selectLngAndLat(@Param("lastId") long lastId, @Param("limit") int limit); void saveCodeToCustMap(@Param("updateDataList") List> updateDataLis); diff --git a/ibs/src/main/java/com/ruoyi/ibs/grid/service/impl/AddressAnalyseServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/grid/service/impl/AddressAnalyseServiceImpl.java index 3bfdcc2..b270ef7 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/grid/service/impl/AddressAnalyseServiceImpl.java +++ b/ibs/src/main/java/com/ruoyi/ibs/grid/service/impl/AddressAnalyseServiceImpl.java @@ -85,12 +85,12 @@ public class AddressAnalyseServiceImpl implements AddressAnalyseService { //pointInGeometryScheduled @Override public void pointInGeometryScheduled() { - int pageSize = 1000; // 每页处理1000条数据 - int offset = 0; + int pageSize = 1000; + long lastId = 0L; List custMapVOS; do { // 分页查询客户地图数据 - custMapVOS = custMapMapper.selectLngAndLat(offset, pageSize); + custMapVOS = custMapMapper.selectLngAndLat(lastId, pageSize); // 收集需要更新的数据 List> updateDataList = new ArrayList<>(); for (CustMapVO custMapVO : custMapVOS) { @@ -121,6 +121,10 @@ public class AddressAnalyseServiceImpl implements AddressAnalyseService { if (!updateDataList.isEmpty()) { custMapMapper.saveCodeToCustMap(updateDataList); } + // 关键:移动游标 + if (!custMapVOS.isEmpty()) { + lastId = custMapVOS.get(custMapVOS.size() - 1).getId(); + } // 避免数据库连接过多占用,适当休眠 try { Thread.sleep(100); @@ -128,9 +132,8 @@ public class AddressAnalyseServiceImpl implements AddressAnalyseService { Thread.currentThread().interrupt(); break; } - } while (custMapVOS.size() == pageSize); // 当查询结果小于页大小时,说明已处理完所有数据 - - log.info("地址解析定时任务执行完成, 共处理{}条数据", offset); + } while (!custMapVOS.isEmpty()); // 当查询结果小于页大小时,说明已处理完所有数据 + log.info("地址解析定时任务执行完成"); } @Override @@ -265,7 +268,6 @@ public class AddressAnalyseServiceImpl implements AddressAnalyseService { flattenFeoTree(geoInfoDTO, allGeoInfoDTOList); } log.info("扁平化区域列表大小: {}", allGeoInfoDTOList.size()); - log.info("<-------------------Loading completed.------------------->"); } diff --git a/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoDTO.java b/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoDTO.java index 61f2474..53d4d4f 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoDTO.java +++ b/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoDTO.java @@ -33,6 +33,13 @@ public class VisitInfoDTO { @ApiModelProperty(value = "异常走访标签 0正常 1走访频率异常 2走访持续时长异常 3签退时间异常") private String abnormalVisitTag; + /** 营销方式 0实地 1电话 2短信 3拜访未触达 4其他(不清楚含义) */ + @ApiModelProperty(value = "营销方式") + private String marketingWay; + + /** 走访结果 0已走访 1过期未走访 2走访未触达 3待走访 */ + @ApiModelProperty(value = "走访结果") + private String interRes; //后端直接工具获取的请求参数,前端不用传 private String userName; diff --git a/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoVO.java b/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoVO.java index fdf2f15..d0556a7 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoVO.java +++ b/ibs/src/main/java/com/ruoyi/ibs/list/domain/VisitInfoVO.java @@ -120,4 +120,12 @@ public class VisitInfoVO { @ApiModelProperty(value = "走访备注") private String remark; + /** 营销方式 0实地 1电话 2短信 3拜访未触达 4其他(不清楚含义) */ + @ApiModelProperty(value = "营销方式") + private String marketingWay; + + /** 走访结果 0已走访 1过期未走访 2走访未触达 3待走访 */ + @ApiModelProperty(value = "走访结果") + private String interRes; + } diff --git a/ibs/src/main/java/com/ruoyi/ibs/list/service/impl/CustInfoRetailServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/list/service/impl/CustInfoRetailServiceImpl.java index 4405fbd..b7aa997 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/list/service/impl/CustInfoRetailServiceImpl.java +++ b/ibs/src/main/java/com/ruoyi/ibs/list/service/impl/CustInfoRetailServiceImpl.java @@ -21,7 +21,7 @@ import com.ruoyi.ibs.list.mapper.*; import com.ruoyi.ibs.list.service.ICustInfoRetailService; import com.ruoyi.system.mapper.SysIndustryMapper; import com.ruoyi.system.service.ISysIndustryService; -import jdk.nashorn.internal.parser.JSONParser; +//import jdk.nashorn.internal.parser.JSONParser; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; diff --git a/ibs/src/main/java/com/ruoyi/ibs/tabs/service/impl/CustTabListInfoServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/tabs/service/impl/CustTabListInfoServiceImpl.java index cc600e5..f7f995e 100644 --- a/ibs/src/main/java/com/ruoyi/ibs/tabs/service/impl/CustTabListInfoServiceImpl.java +++ b/ibs/src/main/java/com/ruoyi/ibs/tabs/service/impl/CustTabListInfoServiceImpl.java @@ -22,7 +22,7 @@ import com.ruoyi.ibs.tabs.enums.IndexThresholdTypeEnum; import com.ruoyi.ibs.tabs.mapper.CustTabListInfoMapper; import com.ruoyi.ibs.tabs.service.ICustTabDetailService; import com.ruoyi.ibs.tabs.service.ICustTabListInfoService; -import javafx.util.Builder; +//import javafx.util.Builder; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/ibs/src/main/resources/mapper/custmap/CustMapMapper.xml b/ibs/src/main/resources/mapper/custmap/CustMapMapper.xml index ca59f6f..893a693 100644 --- a/ibs/src/main/resources/mapper/custmap/CustMapMapper.xml +++ b/ibs/src/main/resources/mapper/custmap/CustMapMapper.xml @@ -90,9 +90,12 @@ diff --git a/ibs/src/main/resources/mapper/list/SysCampaignMapper.xml b/ibs/src/main/resources/mapper/list/SysCampaignMapper.xml index 8081ac2..81c0b71 100644 --- a/ibs/src/main/resources/mapper/list/SysCampaignMapper.xml +++ b/ibs/src/main/resources/mapper/list/SysCampaignMapper.xml @@ -1384,7 +1384,7 @@