提交 4b839fee 作者: 沈振路

人群包重名校验

上级 0c706923
...@@ -65,15 +65,18 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap ...@@ -65,15 +65,18 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap
crowdPackage.handleInfo(new Date(), userId, isCreate); crowdPackage.handleInfo(new Date(), userId, isCreate);
if (ObjectUtil.isNotNull(name)) { if (ObjectUtil.isNotNull(name)) {
// 判断是否有重名 // 判断是否有重名
QueryWrapper<CrowdPackage> nameRepeatWrapper = new QueryWrapper<CrowdPackage>().eq("name", name).ne("id", id); QueryWrapper<CrowdPackage> nameRepeatWrapper = new QueryWrapper<CrowdPackage>().eq("package_name", name).ne("id", id);
int count = super.count(nameRepeatWrapper); int count = super.count(nameRepeatWrapper);
if (count != 0) { if (count != 0) {
LOCAL_LOG.info("人群包名: {} 有重复", name); LOCAL_LOG.info("人群包名: '{}' 已存在", name);
return new GenericsResult<>(false, "人群包名已存在!"); return new GenericsResult<>(false, "人群包名已存在!");
} }
} }
// 执行保存 // 执行保存
boolean result = super.saveOrUpdate(crowdPackage); boolean result = super.saveOrUpdate(crowdPackage);
// TODO: 2022/9/26 添加人群包人群的更新
return result ? new GenericsResult<>(new CrowdPackageCommonIdVO(crowdPackage.getId(), null)) : new GenericsResult<>(false, "新增人群包失败!"); return result ? new GenericsResult<>(new CrowdPackageCommonIdVO(crowdPackage.getId(), null)) : new GenericsResult<>(false, "新增人群包失败!");
} }
...@@ -262,9 +265,20 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap ...@@ -262,9 +265,20 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap
// 范围条件 // 范围条件
LOCAL_LOG.info("是范围条件"); LOCAL_LOG.info("是范围条件");
List<String> multipleOptions = conditionDto.getMultipleOptions(); List<String> multipleOptions = conditionDto.getMultipleOptions();
StringBuilder expressionBuilder = new StringBuilder(conditionInfo.getConditionKey() + " in ( 'placeHolder'"); if (CollectionUtil.isEmpty(multipleOptions)) {
return;
}
StringBuilder expressionBuilder = new StringBuilder(conditionInfo.getConditionKey() + " in (");
int location = 1;
for (String multipleOption : multipleOptions) { for (String multipleOption : multipleOptions) {
expressionBuilder.append(", ").append("'").append(multipleOption).append("'"); boolean isLast = location == multipleOptions.size();
expressionBuilder.append("'").append(multipleOption).append("'");
if (!isLast) {
// 给非最后一个元素拼接逗号
expressionBuilder.append(", ");
}
location += 1;
} }
expressionBuilder.append(")"); expressionBuilder.append(")");
// 表达式 // 表达式
...@@ -300,6 +314,9 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap ...@@ -300,6 +314,9 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap
// 分组求并条件 // 分组求并条件
LOCAL_LOG.info("是分组求并条件"); LOCAL_LOG.info("是分组求并条件");
List<String> multipleOptions = conditionDto.getMultipleOptions(); List<String> multipleOptions = conditionDto.getMultipleOptions();
if (CollectionUtil.isEmpty(multipleOptions)) {
return;
}
// 获取该条件的所有的条件 // 获取该条件的所有的条件
ConditionOptionResponseVO responseVo = this.getOptions(conditionInfo.getId()).getData(); ConditionOptionResponseVO responseVo = this.getOptions(conditionInfo.getId()).getData();
if (ObjectUtil.isNull(responseVo) || CollectionUtil.isEmpty(responseVo.getOptionList())) { if (ObjectUtil.isNull(responseVo) || CollectionUtil.isEmpty(responseVo.getOptionList())) {
...@@ -316,10 +333,17 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap ...@@ -316,10 +333,17 @@ public class CrowdPackageServiceImpl extends ServiceImpl<MaterialCrowdPackageMap
String description = descriptionBuilder.toString(); String description = descriptionBuilder.toString();
LOCAL_LOG.info("条件描述: {}", description); LOCAL_LOG.info("条件描述: {}", description);
StringBuilder expressionBuilder = new StringBuilder("((1 = 1)"); StringBuilder expressionBuilder = new StringBuilder("(");
LOCAL_LOG.info("拼接表达式"); LOCAL_LOG.info("拼接表达式");
int location = 1;
for (String option : multipleOptions) { for (String option : multipleOptions) {
expressionBuilder.append(" or ").append("(").append(option).append(")"); boolean isLast = location == multipleOptions.size();
expressionBuilder.append("(").append(option).append(")");
if (!isLast) {
// 给非最后一个元素后面拼接 or
expressionBuilder.append(" or ");
}
location += 1;
} }
expressionBuilder.append(")"); expressionBuilder.append(")");
String expression = expressionBuilder.toString(); String expression = expressionBuilder.toString();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论