认证-参数项收集-保存

This commit is contained in:
liyawei
2022-06-28 14:17:54 +08:00
parent e406e126f8
commit 93f6779a36
4 changed files with 132 additions and 2 deletions
@@ -109,6 +109,24 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
}
}
/**
* 保存
*
* @param paramsCollectManifestVO
* @return
*/
@AutoLog(value = "参数项收集清单-保存")
@ApiOperation(value="参数项收集清单-保存", notes="参数项收集清单-保存")
@PostMapping(value = "/save")
// @RequiresPermissions("params:collectManifest:save")
public Result<?> save(@RequestBody ParamsCollectManifestVO paramsCollectManifestVO) {
boolean isSuccess = paramsCollectManifestEOService.save(paramsCollectManifestVO.getConfigDataList());
if (isSuccess) {
return Result.OK("保存成功!");
} else {
return Result.error("保存失败!");
}
}
/**
* 查询清单所用模版参数项列表(过滤清单已添加的参数项)
@@ -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<ParamsManifestEO, IParamsManifestEOService> {
@Autowired
private IParamsManifestEOService paramsManifestEOService;
@Autowired
private IParamsConfigEOService paramsConfigEOService;
/**
/**
* 分页列表查询
@@ -284,7 +289,23 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
return Result.OK(manifestEO);
}
/**
* 判断配置列表是否为空
* 用于参数收集前的校验
* @return
*/
@AutoLog(value = "参数清单-判断配置列表是否为空")
@ApiOperation(value="参数清单-判断配置列表是否为空", notes="参数清单-判断配置列表是否为空")
@GetMapping(value = "/verifyConfig")
// @RequiresPermissions("params:config:list")
public Result<?> queryList(@RequestParam(name = "paramsManifestId") String paramsManifestId) {
List<ParamsConfigEO> list = paramsConfigEOService.queryList(paramsManifestId);
if (CollectionUtil.isNotEmpty(list)) {
return Result.OK(true); // 不为空
} else {
return Result.OK(false); // 为空
}
}
@@ -80,6 +80,13 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
*/
boolean submit(List<Map<String, Object>> configDataList);
/**
* 保存
* @param configDataList
* @return
*/
boolean save(List<Map<String, Object>> configDataList);
/**
* 查询清单所用模版参数项列表(过滤清单已添加的参数项)
* @param paramsCollectManifestVO
@@ -718,6 +718,90 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
return updateBatchById(updateCollectManifestEOList);
}
@Override
public boolean save(List<Map<String, Object>> configDataList) {
List<ParamsConfigDataEO> newConfigDataEOList = new ArrayList<>();
// 处理数据
for (Map<String, Object> map : configDataList) {
String paramsCollectManifestId = (String) map.get("id");
// 添加配置数据
for (Map.Entry<String, Object> entry : map.entrySet()) {
ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO();
if ("id".equals(entry.getKey())) {
continue;
}
// 取值
String paramsConfigEOId = entry.getKey();
Map<String, Object> paramsConfigDataMap = (Map<String, Object>) entry.getValue();
// 无法转ParamsConfigDataVO(遍历会出现该异常 LinkedHashMap cannot be cast to ParamsConfigDataVO
List<Map<String, Object>> paramsConfigDataVOList = (List<Map<String, Object>>) 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<String, Object> 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<OSSFile> 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<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(dataValue);
if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件
String connectId = UUID.randomUUID().toString().replace("-", "");
//修改文件表关联信息connect_id
List<OSSFile> 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