From fb388ffa9060e732e52a5686e69307fc9054cc59 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 31 Jan 2023 18:02:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=94=B6=E9=9B=86=E6=B8=85?= =?UTF-8?q?=E5=8D=95-=E6=8E=A7=E4=BB=B6=E6=A0=A1=E9=AA=8C=E6=94=B9?= =?UTF-8?q?=E9=80=A0-=E4=BF=9D=E5=AD=98=E3=80=81=E6=9A=82=E5=AD=98?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 4 + .../collect/entity/ParamsConfigDataEO.java | 2 + .../ParamsCollectManifestEOServiceImpl.java | 119 ++++++++++-------- 3 files changed, 76 insertions(+), 49 deletions(-) diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index b298be65c..83fe49ee9 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -159,3 +159,7 @@ ALTER TABLE `laws_weilai`.`params_report_detail` -- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境 UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937' + +-- 参数配置数据表,增加排序号字段sql 2023-1-31 未同步生产环境 +ALTER TABLE `laws_weilai`.`params_config_data` + ADD COLUMN `order_num` int(10) NULL COMMENT '排序号' AFTER `params_collect_manifest_id`; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigDataEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigDataEO.java index 7754c385d..43f9a7ea9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigDataEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigDataEO.java @@ -88,4 +88,6 @@ public class ParamsConfigDataEO implements Serializable { @ApiModelProperty(value = "参数收集清单id") private String paramsCollectManifestId; + /**排序号**/ + private Integer orderNum; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 3f2009ee4..7f56bc94c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -93,6 +93,7 @@ import java.lang.reflect.Modifier; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; +import java.text.Collator; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -500,6 +501,16 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsConfigDatas = this.getConfigDataEOListByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据 if(CollectionUtils.isNotEmpty(paramsConfigDatas)){ + // 匿名比较器排序 + Collections.sort(paramsConfigDatas, new Comparator() { + @Override + public int compare(ParamsConfigDataEO p1, ParamsConfigDataEO p2) { + if(p2.getOrderNum() == null || p1.getOrderNum() == null){ + return 0; + } + return p1.getOrderNum().compareTo(p2.getOrderNum()); + } + }); for (ParamsConfigDataEO paramsConfigDataEO : paramsConfigDatas) { List paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据 paramsConfigDataVO.put(paramsConfigDataEO.getId(),paramsConfigDataVOList); @@ -1364,9 +1375,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> configDataList, String paramsManifestId) { List newConfigDataEOList = new ArrayList<>(); - List paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询配置列 - List paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); - List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 + List paramsCollectManifestIdList = new ArrayList<>(); // 处理数据 for (Map map : configDataList) { @@ -1374,7 +1383,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl entry : map.entrySet()) { - ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO(); + if ("id".equals(entry.getKey())) { continue; } @@ -1383,70 +1392,82 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsConfigDataMap = (Map) entry.getValue(); // 无法转ParamsConfigDataVO(遍历会出现该异常 : LinkedHashMap cannot be cast to ParamsConfigDataVO) - List> paramsConfigDataVOList = (List>) paramsConfigDataMap.get("list"); + // List> paramsConfigDataVOList = (List>) paramsConfigDataMap.get("list"); + Map paramsConfigDataVOMap = (Map) paramsConfigDataMap.get("paramsConfigData"); - // 判断是新增还是修改 -// ParamsConfigDataEO oldConfigDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(paramsConfigEOId, paramsCollectManifestId); - ParamsConfigDataEO oldConfigDataEO = getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigEOId, paramsCollectManifestId,paramsConfigDataEOList); - if (ObjectUtil.isNotEmpty(oldConfigDataEO)) { - paramsConfigDataEO.setId(oldConfigDataEO.getId()); + for (Map.Entry configDataMap : paramsConfigDataVOMap.entrySet()) { + List> paramsConfigDataVOList = (List>)configDataMap.getValue(); + Integer orderNum = (Integer) paramsConfigDataVOList.get(0).get("orderNum"); + if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) { + ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO(); - } - paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId); - paramsConfigDataEO.setParamsConfigId(paramsConfigEOId); - if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) { - for (Map paramsConfigDataVO : paramsConfigDataVOList) { - String type = (String) paramsConfigDataVO.get("type"); - String dataValue = (String) paramsConfigDataVO.get("dataValue"); + for (Map paramsConfigDataVO : paramsConfigDataVOList) { - if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { - paramsConfigDataEO.setTextData(dataValue); + String type = (String) paramsConfigDataVO.get("type"); + String dataValue = (String) paramsConfigDataVO.get("dataValue"); - } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) - || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { - paramsConfigDataEO.setPullData(dataValue); + if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { + paramsConfigDataEO.setTextData(dataValue); - } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { - if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件 - // 处理文件connectId - String[] fileIdList = dataValue.split(","); - String connectId = UUID.randomUUID().toString().replace("-", ""); - List updateFileList = new ArrayList<>(); - for (int i = 0; i < fileIdList.length; i++) { - OSSFile ossFile = new OSSFile(); - ossFile.setId(fileIdList[i]); - ossFile.setConnectId(connectId); - updateFileList.add(ossFile); - } - ossFileService.updateBatchById(updateFileList); - dataValue = connectId; - } else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) { - List ossFiles = ossFileService.getFileInfosByConnectId(dataValue); - if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件 + } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) + || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { + paramsConfigDataEO.setPullData(dataValue); + + } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { + if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件 + // 处理文件connectId + String[] fileIdList = dataValue.split(","); String connectId = UUID.randomUUID().toString().replace("-", ""); - //修改文件表关联信息connect_id - List oSSFileList = new ArrayList<>(); - for (String fileId : dataValue.split(",")) { + List updateFileList = new ArrayList<>(); + for (int i = 0; i < fileIdList.length; i++) { OSSFile ossFile = new OSSFile(); - ossFile.setId(fileId); + ossFile.setId(fileIdList[i]); ossFile.setConnectId(connectId); - oSSFileList.add(ossFile); + updateFileList.add(ossFile); } - ossFileService.updateFileInfo(oSSFileList); + ossFileService.updateBatchById(updateFileList); dataValue = connectId; + } else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) { + List ossFiles = ossFileService.getFileInfosByConnectId(dataValue); + if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件 + String connectId = UUID.randomUUID().toString().replace("-", ""); + //修改文件表关联信息connect_id + List oSSFileList = new ArrayList<>(); + for (String fileId : dataValue.split(",")) { + OSSFile ossFile = new OSSFile(); + ossFile.setId(fileId); + ossFile.setConnectId(connectId); + oSSFileList.add(ossFile); + } + ossFileService.updateFileInfo(oSSFileList); + dataValue = connectId; + } } - } - paramsConfigDataEO.setFileConnectId(dataValue); + paramsConfigDataEO.setFileConnectId(dataValue); + } } + + paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId); + paramsConfigDataEO.setParamsConfigId(paramsConfigEOId); + paramsConfigDataEO.setOrderNum(orderNum); + + newConfigDataEOList.add(paramsConfigDataEO); } } - newConfigDataEOList.add(paramsConfigDataEO); } + + paramsCollectManifestIdList.add(paramsCollectManifestId); + } + + if(CollectionUtils.isNotEmpty(paramsCollectManifestIdList)){ + QueryWrapper configDataRemoveWrap = new QueryWrapper<>(); + configDataRemoveWrap.lambda().in(ParamsConfigDataEO::getParamsCollectManifestId,paramsCollectManifestIdList); + this.paramsConfigDataEOService.remove(configDataRemoveWrap); } // 批量更新 - return paramsConfigDataEOService.saveOrUpdateBatch(newConfigDataEOList); + return paramsConfigDataEOService.saveBatch(newConfigDataEOList); } /**