diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java index 0066aa527..c7a18846a 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java @@ -109,6 +109,24 @@ public class ParamsCollectManifestEOController extends JeroController save(@RequestBody ParamsCollectManifestVO paramsCollectManifestVO) { + boolean isSuccess = paramsCollectManifestEOService.save(paramsCollectManifestVO.getConfigDataList()); + if (isSuccess) { + return Result.OK("保存成功!"); + } else { + return Result.error("保存失败!"); + } + } /** * 查询清单所用模版参数项列表(过滤清单已添加的参数项) diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java index 641e43f73..6cc8feeff 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java @@ -7,8 +7,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.enums.ManifestStateEnum; +import com.jero.modules.cert.collect.service.IParamsConfigEOService; import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; import com.jero.modules.cert.collect.vo.ParamsManifestVO; @@ -45,7 +47,10 @@ import java.util.Map; public class ParamsManifestEOController extends JeroController { @Autowired private IParamsManifestEOService paramsManifestEOService; - + + @Autowired + private IParamsConfigEOService paramsConfigEOService; + /** /** * 分页列表查询 @@ -284,7 +289,23 @@ public class ParamsManifestEOController extends JeroController queryList(@RequestParam(name = "paramsManifestId") String paramsManifestId) { + List list = paramsConfigEOService.queryList(paramsManifestId); + if (CollectionUtil.isNotEmpty(list)) { + return Result.OK(true); // 不为空 + } else { + return Result.OK(false); // 为空 + } + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index 5e6392c24..3f055584b 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -80,6 +80,13 @@ public interface IParamsCollectManifestEOService extends IService> configDataList); + /** + * 保存 + * @param configDataList + * @return + */ + boolean save(List> configDataList); + /** * 查询清单所用模版参数项列表(过滤清单已添加的参数项) * @param paramsCollectManifestVO diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 01e7d6712..2fa3dc9e3 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -718,6 +718,90 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> configDataList) { + List newConfigDataEOList = new ArrayList<>(); + + // 处理数据 + for (Map map : configDataList) { + String paramsCollectManifestId = (String) map.get("id"); + + // 添加配置数据 + for (Map.Entry entry : map.entrySet()) { + ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO(); + if ("id".equals(entry.getKey())) { + continue; + } + + // 取值 + String paramsConfigEOId = entry.getKey(); + Map paramsConfigDataMap = (Map) entry.getValue(); + // 无法转ParamsConfigDataVO(遍历会出现该异常 : LinkedHashMap cannot be cast to ParamsConfigDataVO) + List> paramsConfigDataVOList = (List>) paramsConfigDataMap.get("list"); + + // 判断是新增还是修改 + ParamsConfigDataEO oldConfigDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(paramsConfigEOId, paramsCollectManifestId); + if (ObjectUtil.isNotEmpty(oldConfigDataEO)) { + paramsConfigDataEO.setId(oldConfigDataEO.getId()); + + } + 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"); + + if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { + paramsConfigDataEO.setTextData(dataValue); + + } 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("-", ""); + 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)){ // 新加了一个文件 + 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); + + } + } + } + newConfigDataEOList.add(paramsConfigDataEO); + } + } + + // 批量更新 + return paramsConfigDataEOService.saveOrUpdateBatch(newConfigDataEOList); + } + /** * 查询清单所用模版参数项列表(过滤清单已添加的参数项) * @param paramsCollectManifestVO